verschiedene Ergebnisse bei Datumsabfragen mit "/" und "-"

28/10/2009 - 02:19 von Wolfgang Badura | Report spam
Liebe Access-Gemeinde!
Win XP SP3 engl. Sprachversion, Deutsch ist als Kultur eingestellt, Access
2003 deutsch, Sp 3 mit office2003-kb945674-glb.exe.

Ich verstehe nicht, warum die beiden ua. Abfragen nicht dasselbe Ergebnis
liefern:
Abgefragt wird in der Tabelle Arbeitskalender, ob ein bestimmter Tag
arbeitsfrei ist oder nicht:

ArbKal_frei = CBool(DLookup("[frei]", "Arbeitskalender", "[Datum] = #" &
Format(dtDatum, "dd-mm-yyyy") & "#"))
' das Folgende funktioniert nicht
'ArbKal_frei = CBool(DLookup("[frei]", "Arbeitskalender", "[Datum] = #" &
Format(dtDatum, "mm/dd/yyyy") & "#"))

Sollte doch dasselbe Ergebnis liefern. Denn
strKrit = "Datum=" & Chr$(35) & Month(dtDatum) & "/" & Day(dtDatum) & "/"
& Year(dtDatum) & Chr$(35)
RSKal.FindFirst strKrit
funktioniert ja auch.
Vielleicht kann mir das jemand erlàutern.
Übrigens: Wenn ich im ersten Beispiel statt der beiden "#" als
Formatkonstante "#dd-mm-yyyy#"
verwende funktioniert die Abfrage auch nicht.

Mit besten Dank im Voraus
Wolfgang
 

Lesen sie die antworten

#1 Thomas Möller
28/10/2009 - 08:44 | Warnen spam
Hallo Wolfgang,

Wolfgang Badura schrieb:
Ich verstehe nicht, warum die beiden ua. Abfragen nicht dasselbe Ergebnis
liefern:
Abgefragt wird in der Tabelle Arbeitskalender, ob ein bestimmter Tag
arbeitsfrei ist oder nicht:

ArbKal_frei = CBool(DLookup("[frei]", "Arbeitskalender", "[Datum] = #" &
Format(dtDatum, "dd-mm-yyyy") & "#"))
' das Folgende funktioniert nicht
'ArbKal_frei = CBool(DLookup("[frei]", "Arbeitskalender", "[Datum] = #" &
Format(dtDatum, "mm/dd/yyyy") & "#"))



beim zweiten Aufruf musst Du die "/" jeweils durch ein vorangestelltes
"\" als Literal kennzeichnen:

... "[Datum] = #" & Format(dtDatum, "mm\/dd\/yyyy") & "#"


Du kannst den Ausdruck übrigens noch verkürzen, wenn Du die "#" mit in
den Format-Ausdruck aufnimmst:

... "[Datum] = Format(dtDatum, "\#mm\/dd\/yyyy\#")



HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen