Hallo
Ich will mit einem SQL Befehl eine Selektion in einer Abfrage machen. Doch ich finde nicht heraus wie ich die beiden Daten konvertieren muss, damit ich diese vergleichen kann.
Ich habe folgendes probiert:
strSQL = "Select * FROM qryAusleihPos Where ausleihPos_RetourDatSoll <= " & Me.txtBisDatum
strSQL = "Select * FROM qryAusleihPos Where Convert (char(10), ausleihPos_RetourDatSoll, 104) <= '" & Me.txtBisDatum & "' "
Die zweite Variante habe ich meinem Accesshanbuch gefunden. Dort schreibt man, dass man die Felder am besten in Textfelder umwandelt. Doch dies funktioniert auch nicht richtig.
Kann mir jemand sagen, wie das Datum richtig formatieren muss, um es zu vergleichen
Gruss Daniel
Hallo,
bestimmt schn 1000 Mal hier im Forum beschrieben...
Es ist das ISO- oder USA-Format im Kriterium erforderlich.
strSQL = "Select * FROM qryAusleihPos Where ausleihPos_RetourDatSoll <= " & Format(nz(Me!txtBisDatum ,Date), "\#yyyy-mm-dd\#")
Danke Franz, das hat mir geholfen:
Format(nz(Me!txtBisDatum ,Date), "\#yyyy-mm-dd\#")
bin leider erst nach 30 Minuten Suche auf diesen Thread gestossen... :'(
Hallo Chris,
Und da du das sicher öfter brauchen wirst, schreibe dir dazu eine Function
in ein allgemeines Modul.
Public Function SQLDatum(ByVal MeinDatum As Date) As String
SQLDatum = Format$(MeinDatum, "\#yyyy\-mm\-dd\#")
End Function
Das kannst du dann überall verwenden, auch in Abfragen; - spart 'ne Menge Tipperei :D
... Where ausleihPos_RetourDatSoll <= " & SQLDatum(Nz(Me!txtBisDatum, Date)
gruss ekkehard
... und ganz dumm kommt es dann, wenn der Parameterwert einmal Null ist.
Deswegen bevorzuge ich die Anwendung echter Parameterabfragen gegenüber dem Zusammenkleistern von Textsegmenten oder verwende zumindest die Access beiliegende Funktion BuildCriteria*, die auch Null-Werte entsprechend behandelt.
d = VBA.Date()
?BuildCriteria("a", dbDate, Nz(d, "Null"))
a=#9/28/2017#
d = Null
?BuildCriteria("a", dbDate, Nz(d, "Null"))
a Is Null
?BuildCriteria("a", dbDate, "1.2.2017")
a=#2/1/2017#
*Buildcriteria weist Mänglel bei Textkriterien mit Klammern innerhalb von Textparametern auf und sollte deshalb nicht blind verwendet werden.
Hallo Lachtaube,
Zitatwenn der Parameterwert einmal Null ist.
Dürfte eigentlich nicht passieren bei der Verwendung von Nz().
BuildCriteria wird von mir, frag' mich nicht warum, sehr stiefmütterlich behandelt >:(
gruss ekkehard
Ekkehard,
mit Nz() allein ist das nicht getan, auch der Vergleichsoperator muss ja angepasst werden.