Office: (Office 2013) Abfrage klappt nicht

Helfe beim Thema Abfrage klappt nicht in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Ich habe ein Problem mit folgendem Coding: qq1 = "SELECT tblSchüler.*, IsNull([tblSchüler.MHAbmDatum]) AS Ausdr1, tblSchüler.MHAbmDatum,... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von hdkneip, 12. März 2019.

  1. hdkneip Neuer User

    Abfrage klappt nicht


    Hallo

    Ich habe ein Problem mit folgendem Coding:

    qq1 = "SELECT tblSchüler.*, IsNull([tblSchüler.MHAbmDatum]) AS Ausdr1, tblSchüler.MHAbmDatum, tblSchüler.MHAnmDatum, tblSchüler.MHName"
    qq1 = qq1 & " FROM tblSchüler"
    qq1 = qq1 & " WHERE (((IsNull([MHAbmDatum]))=True) AND (((tblSchüler.MHAnmDatum)<#1/1/" & (VerwJahr + 1) & "#)) OR (((tblSchüler.MHAbmDatum) Between #1/1/" & VerwJahr & "# And #1/1/" & (VerwJahr + 1) & "#)"
    qq1 = qq1 & " AND ((tblSchüler.MHAnmDatum)<#1/1/" & (VerwJahr + 1) & "#)))"
    qq1 = qq1 & " ORDER BY tblSchüler.MHName;"
    glbQryExist ("qryVerwendungnachweis")
    Set q = db.CreateQueryDef("qryVerwendungnachweis", qq1)
    q.SQL = qq1
    stDocName = "rptVerwendungsnachweis"
    DoCmd.OpenReport stDocName, acViewPreview

    Laufzeitfehler: 3079
    Das angegebene Feld 'MHName' kann sich auf mehr als eine der Tabellen beziehen, dir im FROM-Abschnitt der SQL-Anweisung angegeben werden.

    Wenn ich dieses Coding in eine normale Abfrage eingebe, ist alles o.k.

    Was mache ich falsch?

    Gruss von Rhein und Mosel
    hdkneip
     
    Zuletzt von einem Moderator bearbeitet: 30. November 2020
    hdkneip, 12. März 2019
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    ich nehme an, dass die enthaltenen Variablen so ähnlich definiert sind wie folgt:
    Code:
    Sub test()
      Dim db As Database
      Dim q As QueryDef
      Dim qq1 As String
      Dim QryTest As Boolean
      Dim stDocName As String, VerwJahr As Integer
      
      VerwJahr = 2018
      Set db = CurrentDb
    
      qq1 = "SELECT tblSchüler.*, IsNull([tblSchüler.MHAbmDatum]) AS Ausdr1, tblSchüler.MHAbmDatum, tblSchüler.MHAnmDatum, tblSchüler.MHName"
      qq1 = qq1 & " FROM tblSchüler"
      qq1 = qq1 & " WHERE (((IsNull([MHAbmDatum]))=True) AND (((tblSchüler.MHAnmDatum)<#1/1/" & (VerwJahr + 1) & "#)) OR (((tblSchüler.MHAbmDatum) Between #1/1/" & VerwJahr & "# And #1/1/" & (VerwJahr + 1) & "#)"
      qq1 = qq1 & " AND ((tblSchüler.MHAnmDatum)<#1/1/" & (VerwJahr + 1) & "#)))"
      qq1 = qq1 & " ORDER BY tblSchüler.MHName;"
      QryTest = glbQryExist("qryVerwendungnachweis")
      Set q = db.CreateQueryDef("qryVerwendungnachweis", qq1)
      q.SQL = qq1
      stDocName = "rptVerwendungsnachweis"
      DoCmd.OpenReport stDocName, acViewPreview
    End Sub
    Function glbQryExist(AbfrName As String) As Boolean
      On Error GoTo Err_QryExist
      glbQryExist = Not CurrentDb.QueryDefs(AbfrName) Is Nothing
      Exit Function
    Err_QryExist:
      glbQryExist = False
    End Function
    
    dann ergibt sich der Abfragestring "qq1" mit:
    Code:
    SELECT tblSchüler.*, IsNull([tblSchüler.MHAbmDatum]) AS Ausdr1, tblSchüler.MHAbmDatum, tblSchüler.MHAnmDatum, tblSchüler.MHName
    FROM tblSchüler
    WHERE (  ((IsNull([MHAbmDatum]))=True) AND (((tblSchüler.MHAnmDatum)<#1/1/2019#)) OR (  ((tblSchüler.MHAbmDatum) Between #1/1/2018# And #1/1/2019#) AND ((tblSchüler.MHAnmDatum)<#1/1/2019#)  )  )
    ORDER BY tblSchüler.MHName;
    1. Dieser SQL-String in der Variablen "qq1" sieht normal aus ohne besondere Auffälligkeiten.
    2. Da die Prozedur "glbQryExist(…)" nicht vorhanden war, habe ich sie durch mein Provisorium in Gestalt einer Boolean-Funktion ergänzt und ihr Resultat der Boolean-Variable "QryTest" übergeben.
    3. Du erzeugst dann in der aktuellen Datenbank mittels "qq1" die Abfragedefinition "qryVerwendungnachweis" (Variable "q").
      Damit ist natürlich auch schon "q.SQL" festgelegt, sodass die nachfolgende Zuweisung "q.SQL=qq1" überflüssig (weil doppelt) ist.
    4. Du hast keine genaue Angabe gemacht, in welcher Zeile der Fehler auftritt. Da bis hierher kein Problem vorzuliegen scheint, müsste die Fehlermeldung in "DoCmd.OpenReport stDocName, acViewPreview" auftreten. Damit rufst du einen vordefinierten Bericht "rptVerwendungsnachweis" im Voransichtsmodus auf.
      Dieser Bericht enthält seinerseits bereits eine Berichtsabfrage, um seine Datenfelder korrekt befüllen zu können. Kann es sein, dass das eigentliche Problem in dieser vorgegebenen Berichtsabfrage liegt?
    5. Falls du aber vorhast, die vorhin erzeugte Abfrage "qq1" bzw. "q" an den Bericht als Berichtsabfrage zu übergeben, musst du den Bericht in der Entwurfsansicht öffnen mit folgender Codierung:
      Code:
      DoCmd.OpenRepot stDocName, acViewDesign
      With Reports(stDocName)
        .RecordSource = qq1  'Zuweisung des Abfragestrings an die Berichtsabfrage - Abfragefelder müssen zu den Berichtsfeldern passen!!
        '... Eventuell weitere Modifikationen von enthaltenen Berichtsobjekten
      End With
      DoCmd.Close acReport, stDocName & "1", acSaveYes  'Modifizierter Bericht ist vor seinem Öffnen zwingend zu speichern (unter neuem Namen)!!
      'und schließlich:
      DoCmd.OpenReport stDocName & "1", acViewPreview
      
     
    Exl121150, 17. April 2019
    #2
Thema:

Abfrage klappt nicht

Die Seite wird geladen...
  1. Abfrage klappt nicht - Similar Threads - Abfrage klappt

  2. Abfrage mit leeren Feldern

    in Microsoft Access Hilfe
    Abfrage mit leeren Feldern: Hallo zusammen Meine Access-Kenntnisse beschränken sich leider wirklich auf ein Minimum aber trotzdem möchte ich mich hier in diesem Bereich ein wenig weiterentwickeln :-) Ich habe eine Datenbank...
  3. Import Daten aus Access Abfrage klappt nicht

    in Microsoft Excel Hilfe
    Import Daten aus Access Abfrage klappt nicht: Moin, ich habe ein Problem. Ich habe eine Datenbank in Access mit diversen Tabellen und Abfragen. Jetzt habe ich eine neue Abfrage erstellt und muß das Ergebnis täglich in eine Exceldatei...
  4. Auslesen einer Abfrage in VBA Modul

    in Microsoft Access Hilfe
    Auslesen einer Abfrage in VBA Modul: Hallo zusammen, ich wünsche allen ein frohes und gesundes Jahr 2024. Ich habe eine alte Access 2003 und da habe ich zur Ermittlung von Planungsdaten folgende Funktion genutzt, jetzt mit Office 365...
  5. Nur aktuelles Jahr in Abfrage auslesen

    in Microsoft Access Hilfe
    Nur aktuelles Jahr in Abfrage auslesen: In meiner Abfrage habe ich eine Spalte AktJahr erstellet. Das Datum ermittle ich mit AktJahr: Datum(). Es soll nur die aktuelle Jahreszahl angezeigt werden. Mehrere Versuche mit der...
  6. SQL-Abfrage mit where

    in Microsoft Access Hilfe
    SQL-Abfrage mit where: SQL-Abfrage mit where-Parameter. PNrHaupt ist eine Zahl. Ich vermute, da liegt der Fehler, aber ich weiss nicht, wie ich das darstellen soll. Bei jeder neuer PNrHaupt soll eine neue Datei erstellt...
  7. WEB-Abfrage

    in Microsoft Excel Hilfe
    WEB-Abfrage: Wahrscheinlich seit dem letzten Update von Office funktioniert die Webzugriff aus Excel heraus nicht mehr. "Alte" Abfragen gehen noch, Änderungen an den Abfragen aber nicht, auch neue Aufrufe zu...
  8. IF Abfrage klappt nicht

    in Microsoft Word Hilfe
    IF Abfrage klappt nicht: Hallo, ich habe eine Exceltabelle als Datenbank angebunden. in dieser gibt es 3 Werte die ich abfragen möchte: 2011/2012 RS+EH 2011/2012 RS nein Meine Abfrage sieht nun so aus (ich hoffe...
  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