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: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  4. Verliert irgendwann die Selektive Abfrage von UFO

    in Microsoft Access Hilfe
    Verliert irgendwann die Selektive Abfrage von UFO: Guten Tag Ich habe ein HF mit darin befindlichem UF. Die Abfrage der Teilnehmer im Uf bezieht sich immer auf den Kurs-Typ im HF Solang ich das Formular neu erstelle, funktioniert das...
  5. automatische Abfrage URL via Artikelnummer

    in Microsoft Access Hilfe
    automatische Abfrage URL via Artikelnummer: Guten Tag Bei der Aktualisierung der Homepage und aufgrund eines Plugin-Wechsels des Üebersetzungstools hat wordpress alle Permalinks der Produkte verändert. Unserem Webmaster war nicht bekannt,...
  6. Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern

    in Microsoft Access Hilfe
    Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern: Hallo Community, ich habe folgendes Problem beim Nutzen einer Access-Datenbank. Zunächst die Datenstruktur: [ATTACH] Dies sind die Tabellen meiner Datenbank. In der Tabelle "Adressliste"...
  7. 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...
  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