Hallo Ihr fleissigen Helferlein! Ich würde mich freuen, wenn Ihr mir helfen könntet.
Ich erstelle eine Abfrage über 2 Tabellen, in der das Ergebnis im Ufo eines Hfo angezeigt wird. Es sollen die DS angezeigt werden, die die Bedingungen der Abfrage nicht erfüllen. Das klappt mit 2 Bedingungen hervorragend. (PersonalNr und Baustellenname) Jetzt gibt es noch zwei weitere Bedingungen die jeweils in Zusammenhang mit der PersonalNr und einem Datum stehen. Es ist eine Personalverwaltung uns die Kriterien für die Auswahl sind: Wenn der Mitarbeiter schon auf die Baustelle gebucht ist, soll er nicht angezeigt werden. Wenn er auf eine andere Baustelle gebucht ist, deren geplantes Ende im Gültigkeitszeitraum der Baustelle liegt, soll er nicht angezeigt werden und Wenn er auf eine Baustelle gebucht ist, die im Gültigkeitszeitraum der Baustelle anfängt, soll er nicht angezeigt werden. Realisiert habe ich den ersten Teil mit einer Select from .... Not Exsist Abfrage. Bei dem Versuch jetzt die Daten ins Spiel zu bringen tue ich mich schwer.
Hier mein Ansatz:
Dim sDatum As String
Dim eDatum As String
sDatum = Forms!frmAuswahlPers!BaustBeginn
eDatum = Forms!frmAuswahlPers!BaustEnde
sSQL = " SELECT * " & _
" FROM tblGrundDatPers" & _
" WHERE Not Exists (SELECT * " & _
" FROM tblPersBelegt" & _
" WHERE tblPersBelegt.[PersPlanID] = tblGrundDatPers.[PersID]" & _
" AND tblPersBelegt.BaustNameBelegt = Forms!frmAuswahlPers!BaustName" & _
" OR tblPersBelegt.[PersPlanID] = tblGrundDatPers.[PersID]" & _
" AND tblPersBelegt.DatVonBelegt BETWEEN #" & _
" Format$(sDatum, "m-d-yy") & "# AND #" & _
" Format$(eDatum, "m-d-yy") & "#"")"
Fehlermeldung ist : Fehler beim Kompilieren, Syntaxfehler
Ich hoffe, Ihr könnt mir helfen ..... Danke im Voraus
Hallo Peter,
den Formularbezug musst du so unterbringen:
... " WHERE tblPersBelegt.[PersPlanID] = tblGrundDatPers.[PersID]" & _
" AND tblPersBelegt.BaustNameBelegt ='" & Forms!frmAuswahlPers!BaustName & "' ..."
Hallo Jürgen, Danke für den Tip, Mein Access weiß das wohl genau so wenig, wie ich, denn der Teil läuft ... ;-)
Ich werde das gleich ändern!
Habe es geändert und danach einen Syntaxfehler. Ohne Hochkommata läuft es problemlos .... ???????
Gruß Peter
Hallo,
in welcher Prozedur steht denn der Code?
Zudem: Es gibt noch Fehler bei der Datums-Formatierung:
Dim sDatum As Date
Dim eDatum As Date
Dim sSQL As String
sDatum = Forms!frmAuswahlPers!BaustBeginn 'je nachdem, wo der Code steht: Me!BaustBeginn
eDatum = Forms!frmAuswahlPers!BaustEnde 'je nachdem, wo der Code steht: Me!BaustEnde
.
sSQL = " SELECT * " & _
" FROM tblGrundDatPers" & _
" WHERE Not Exists (SELECT * " & _
" FROM tblPersBelegt" & _
" AND tblPersBelegt.DatVonBelegt BETWEEN " & _
Format(sDatum, "\#yyyy-mm-dd\#") & " AND " & _
Format(eDatum, "\#yyyy-mm-dd\#") & " )"
Hallo Franz, der Code steht im Hauptformular und ist die Abfrage zum UF
Und das mit der Formatierung des Datums habe ich mir gedacht. Habe es aber noch nicht gemacht und deswegen um Hilfe gebeten ....
Hallo,
in meinem Post habe ich das doch korrigiert...
Das weiß ich, Aber es funktioniert noch nicht! Morgen mehr dazu! ;-)
Danke erstmal!