Office: (Office 2013) Parameterabfrage mittels Docmd.openquery ausführen

Helfe beim Thema Parameterabfrage mittels Docmd.openquery ausführen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe ein Listenfeld welches bei einem Doppelklick auf einen Eintrag eine Abfrage ausführen soll. Die Abfrage habe ich bereits erstellt und... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von tlang78, 5. April 2014.

  1. Parameterabfrage mittels Docmd.openquery ausführen


    Hallo,

    ich habe ein Listenfeld welches bei einem Doppelklick auf einen Eintrag eine Abfrage ausführen soll.

    Die Abfrage habe ich bereits erstellt und getestet. Diese enthält 2 Parameter.
    [eingabejahr] und [eingabefischart]

    Beide Werte sind im Listenfeld vorhanden (Spalte 1 und 2 bzw. 0, 1)

    Das Auslesen der Listenfeld klappt auch mittels:
    eingabejahr = Me.Liste_fm_jahr.Column(0)
    eingabefischart = Me.Liste_fm_jahr.Column(1)

    Jedoch bekomm ich meine Abfrage nicht aufgerufen.
    DoCmd.OpenQuery "abf_report_fangmeldung_fischart_angler", acViewPreview, , "eingabejahr=" & Me.Liste_fm_jahr.colume(0) & "eingabefischart=" Me.Liste_fm_jahr.colume(1)

    ... immer diese Anfängerfragen *wink.gif*

    Grüße
    Thomas

    :)
     
    tlang78, 5. April 2014
    #1
  2. maikek, 7. April 2014
    #2
  3. Hallo,

    1. öffnet man Abfragen nicht einfach so, sondern ein an die Abfrage gebundenes Formular und
    2. funktioniert das so mit den Parametern nicht, sondern du musst den Formularfeldbezug in die Abfrage schreiben.
    (hast du mal die Syntax der OpenQuery-Methode in der Hilfe nachgelesen?)

    Wenn das mit dem Zugriff auf die Spalten des Kombifeldes in der Abfrage nicht klappt, kannst du statt dessen Funktionen verwenden.
    Beispiel: Code:
    und in der Abfrage: Code:
     
    Anne Berg, 7. April 2014
    #3
  4. Parameterabfrage mittels Docmd.openquery ausführen

    Danke für die Hinweise. Ich hab selbstverständlich die Hilfe gelesen. Daraus nehme ich auch vieles. Nur hier hängts einfach wieder. Und ich benutze auch Google bevor ich hier poste...

    Das mit der 2. Bedingung will einfach noch nicht klappen.


    Code:
     
    tlang78, 7. April 2014
    #4
  5. Code:
    Die Stringverkettungen waren nicht richtig. Eine Zahl auf LIKE abzufragen ist nicht sinnvoll, das habe ich oben geändert.
    maike
     
    maikek, 7. April 2014
    #5
  6. Code:
    So funktioniert es
     
    tlang78, 7. April 2014
    #6
  7. Hallo
    @Maike
    wie so NICHT ?
    diese (Abfrage / SQL) funktionier bei mir Richtig s. Anhang sowohl bei Integer Zahlen wie bei Doubel Zahlen
    Code:
    was bringt Dich zu dieser Assage ? Wenn ich was ühersehen habe ich bin Lehrn willig *wink.gif*
    Deine Fachkundige Meinug interesiert mich *Smilie

    Bei Double evtl so:
    (zz ist Double)
    Code:
     
    Lanz Rudolf, 8. April 2014
    #7
  8. Parameterabfrage mittels Docmd.openquery ausführen

    \@Ruedi,

    Maike hat nicht gesagt, dass es nicht geht, aber der Einsatz von LIKE ohne Suchmuster macht keinen Sinn und bremst im Zweifelsfall die Performance.
     
    Anne Berg, 8. April 2014
    #8
  9. Hallo
    @anne
    ich habe auch nie behauptet das Maike gesagt hat
    "dass es nicht geht"
    mich interesiert nur wie so das es "nicht sinnvoll" ist *Smilie
     
    Lanz Rudolf, 8. April 2014
    #9
  10. \@Ruedi:
    die Frage nach dem Un-Sinn des Vergleichs mit LIKE in diesem Fall sollte inzwischen hinreichend beantwortet sein.
     
    Anne Berg, 8. April 2014
    #10
  11. Es funktioniert auch, wenn man per Fuß nach Wladiwostok läuft. Zielführender, wenn man primär Wert auf's Ankommen und nicht auf Ausdauerleistungen oder Abenteuer legt, wäre es aber, Bahn oder Flugzeug zu nehmen.

    Like ... ist Textverarbeitung. Textverarbeitung mit Zahlen ist umständlich: 2014 als Long ist bytemäßig deutlich schlanker als 2014 als Text. Und nicht zu vergessen: Auch die modernsten Computer basieren immer noch auf Einsen und Nullen (Binärsystem => Zahlen).
    Beim Filtern wird verglichen - mehr Bytes machen mehr Arbeit.

    Like ... ohne Mustersuche verhindert zuverlässig eine Indexnutzung.

    Wenn man einkauft (Staubsauger, Batterien, Reise), will man immer etwas Günstiges. Da gibt es keinen Grund, in seiner Datenbank bewusst und ohne Not daneben zu greifen. oder ...?
     
  12. Sieht das bei Einsatz von Suchmustern etwa anders aus?
     
    Zuletzt von einem Moderator bearbeitet: 14. Januar 2021
    Anne Berg, 8. April 2014
    #12
  13. Parameterabfrage mittels Docmd.openquery ausführen

    Hallo!

    [OT | Jet + Like]

    Dass Like ohne Suchmuster (Datenfeld like 'abc') keinen Index verwendet ist eine Besonderheit von Jet. Bei anderen DBMS wie MSSQL wird ein Index verwendet. (Der Jet-Abfrageoptimierer gehört nicht zu den Schlauesten. ;-))

    Bei Datenfeld like 'abc*' kommt bei Jet eine Indexsuche (Index-Baum wird durchsucht) zum Einsatz.
    Bei Datenfeld like '*abc*' setzt Jet eventuell auch einen Index ein, durchsucht aber alle Werte, da der "Index-Baum" nicht verwendet werden kann (Index-Scan oder Table-Scan statt Index-Seek).

    Durchsucht man ein Zahlenfeld mit like wird der Wert zuerst in Text konvertiert und anschließend eine Textsuche umgesetzt. => Tablescan.

    mfg
    Josef
     
    Josef P., 8. April 2014
    #13
  14. Danke, Josef!
     
    Anne Berg, 8. April 2014
    #14
Thema:

Parameterabfrage mittels Docmd.openquery ausführen

Die Seite wird geladen...
  1. Parameterabfrage mittels Docmd.openquery ausführen - Similar Threads - Parameterabfrage mittels Docmd

  2. Anpassen einer Parameterabfrage

    in Microsoft Excel Tutorials
    Anpassen einer Parameterabfrage: Anpassen einer Parameterabfrage Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Mehr... Weniger...
  3. Erstellen einer Parameterabfrage

    in Microsoft Excel Tutorials
    Erstellen einer Parameterabfrage: Erstellen einer Parameterabfrage Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Mehr... Weniger...
  4. Alter per Parameterabfrage ermitteln

    in Microsoft Access Hilfe
    Alter per Parameterabfrage ermitteln: Servus, ich bin neu im Forum und habe folgendes Problem, zu dem ich hier noch keine Lösung gefunden habe: Ich möchte gern das Alter ab einem frei einzugebenen Stichtags-Datum (als Parameter)...
  5. Video: Verwenden von logischen Operatoren und Platzhaltern in Parameterabfragen

    in Microsoft Access Tutorials
    Video: Verwenden von logischen Operatoren und Platzhaltern in Parameterabfragen: Video: Verwenden von logischen Operatoren und Platzhaltern in Parameterabfragen Access 2013 Mehr... Weniger...
  6. Video: Parameterabfragen in Access-Apps, Teil 1: Erstellen und Testen der Abfrage

    in Microsoft Access Tutorials
    Video: Parameterabfragen in Access-Apps, Teil 1: Erstellen und Testen der Abfrage: Video: Parameterabfragen in Access-Apps, Teil 1: Erstellen und Testen der Abfrage Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Mehr......
  7. Video: Verwenden von Parameterabfragen zum Filtern von Ergebnissen

    in Microsoft Access Tutorials
    Video: Verwenden von Parameterabfragen zum Filtern von Ergebnissen: Video: Verwenden von Parameterabfragen zum Filtern von Ergebnissen Access 2013 Mehr... Weniger...
  8. Verwenden von Parameterabfragen zum Filtern von Abfrageergebnissen

    in Microsoft Access Tutorials
    Verwenden von Parameterabfragen zum Filtern von Abfrageergebnissen: Verwenden von Parameterabfragen zum Filtern von Abfrageergebnissen Access 2013 Mehr... Weniger Übersicht...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden