Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Marcel Steeger am Februar 07, 2025, 18:59:15

Titel: Formular per VBA-Code öffnen und bestimmtes Datum anzeigen
Beitrag von: Marcel Steeger am Februar 07, 2025, 18:59:15
Hallo liebe Mitstreiterinnen und Mitstreiter,

ich habe eine umfangreiche Auftragsdatenbank erstellt und sie funktioniert einwandfrei, bis auf eine Funktion. Ich habe im Hauptmenü ein Feld (QuickCheckDate) mit dem Format Datum/Uhrzeit (Datum kurz) eingebettet und möchte nun auf Knopfdruck ein Formular öffnen. Das Zielfeld (AUF_Auftrag_Termin) ist ebenfalls im Format Datum/Uhrzeit (Datum, kurz). Per VBA-Code soll das Formular geladen werden und mir anzeigen, ob an diesem Tag bereits Termine vergeben wurden. Ich habe es mit folgendem Code versucht:

Private Sub BTN_QuickCheck_Click()
DoCmd.OpenForm "FRM_QCH_QuickCheckDate", acNormal, , "[AUF_Auftrag_Termin]=" & Me.QuickCheckDate, acFormReadOnly
Me.QuickCheckDate = ""
End Sub


Dann bekomme ich die folgende Fehlermeldung für das Datum 15.06.2025:

"Laufzeitfehler '3075'"

"Syntaxfehler in Zahl in Abfrageausdruck '[AUF_Auftrag_Termin]=15.06.202'


Kann mir jemand helfen, beziehungsweise den Code so umschreiben, dass es funktioniert? Eigentlich soll auch noch eine Fehlermeldung auftauchen, wenn an diesem Datum noch gar keine Termine vergeben wurden. Es wäre super lieb, wenn ihr mir auch hier weiterhelfen könntet!

Liebe Grüße
Marcel  :-[
Titel: Re: Formular per VBA-Code öffnen und bestimmtes Datum anzeigen
Beitrag von: andyfau am Februar 07, 2025, 19:25:37
Hallo, das Datum muss richtig formatiert übergeben werden:
DoCmd.OpenForm "FRM_QCH_QuickCheckDate", acNormal, , "[AUF_Auftrag_Termin]= #" & Format(Me.QuickCheckDate, "yyyy-mm-dd") & "#", acFormReadOnly
Titel: Re: Formular per VBA-Code öffnen und bestimmtes Datum anzeigen
Beitrag von: Marcel Steeger am Februar 07, 2025, 19:40:28
Herzlichen Dank für die schnelle Hilfe!!! Super!!!
Titel: Re: Formular per VBA-Code öffnen und bestimmtes Datum anzeigen
Beitrag von: Knobbi38 am Februar 08, 2025, 12:45:29
Hier mal die Version mit benannten Argumenten:
  DoCmd.OpenForm FormName:="FRM_QCH_QuickCheckDate", _
      WhereCondition:=BuildCriteria( _
          "AUF_Auftrag_Termin", dbDate, CStr(Me.QuickCheckDate) _
      ), Datamode:=acFormReadOnly

Hast du wirklich deiner Ereignisprozedur "Sub BTN_QuickCheck_Click()" so umbenannt?

Gruß Knobbi38