![]() |
|
|||||||
| Newsgroup microsoft.public.de.access Forum microsoft.public.de.access |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
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 |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
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 |
|
#3
|
|||
|
|||
|
Wolfgang Badura wrote:
> 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. Thomas hat eh schon auf die fehlende Literalkennzeichnung hingewiesen. Ich empfehle immer das ISO-Format oder in Access auch die Zahlvariante: Datum an SQL-String übergeben www.donkarl.com?FAQ6.8 -- Servus Karl ********* Ich beantworte keine Access-Fragen per Email. ********* Access-FAQ: http://www.donkarl.com + Anmeldung und Info zur Access-Entwickler-Konferenz (AEK12), Oktober 2009, Nürnberg |
|
#4
|
|||
|
|||
|
Hallo Thomas, hallo Karl!
> ... "[Datum] = Format(dtDatum, "\#mm\/dd\/yyyy\#") Es ist schon erstaunlich, daß mir trotz der vielen Jahre mit Access, die mit "\" eingeleiteten Formatkonstanten nicht geläufig waren. Habe ich bisher nicht wirklich benötigt und wenn, habe ich sicher einen Workaround benutzt. Man lernt tatsächlich nie aus. Besten Dank für die rasche Antwort, Wolfgang |
|
#5
|
|||
|
|||
|
Hallo Thomas!
> ... "[Datum] = Format(dtDatum, "\#mm\/dd\/yyyy\#") Nochmals danke für Deine Information. Eine abschließende Frage noch: Ich habe erfolglos nach den möglichen Format-Literals geggogelt und nirgends einen Hiweis auf den Backslash gefunden, der bestimmte Literals einleitet. Denn wenn ich ich zB. dem "-" Zeichen ein "\" voranstelle funktioniert das richtige Formatieren auch nicht. Kann ich irgendwo etwas zu dem "\" bei der Format-Funktion finden? Danke nochmals, Wolfgang |
|
#6
|
|||
|
|||
|
Hallo Wolfgang,
Wolfgang Badura schrieb: >> ... "[Datum] = Format(dtDatum, "\#mm\/dd\/yyyy\#") > Nochmals danke für Deine Information. > Eine abschließende Frage noch: > Ich habe erfolglos nach den möglichen Format-Literals geggogelt und nirgends > einen Hiweis auf den Backslash gefunden, der bestimmte Literals einleitet. > Denn wenn ich ich zB. dem "-" Zeichen ein "\" voranstelle funktioniert das > richtige Formatieren auch nicht. > Kann ich irgendwo etwas zu dem "\" bei der Format-Funktion finden? ich habe gerade auch etwas suchen müssen. :-) Öffne mal eine Tabelle in der Entwurfsansicht, wechsle in ein Textfeld, setze den Cursor in die Eigenschaft Format und rufe die Hilfe mit F1 auf. Dort wird Dir u.a. folgendes erklärt: "\ Das nächste Zeichen wird als Literal angezeigt. Sie können Literale auch in Anführungszeichen einschließen. " HTH -- Thomas Homepage: www.Team-Moeller.de |
|
#7
|
|||
|
|||
|
Hallo Thomas!
"Thomas Möller" <Thomas_N_O_S_P_A_M*Team-Moeller.de> wrote in message news:7l8s3mF3br9vjU4*mid.individual.net... > ich habe gerade auch etwas suchen müssen. :-) Danke für die Mühe. > > Öffne mal eine Tabelle in der Entwurfsansicht, wechsle in ein Textfeld, > setze den Cursor in die Eigenschaft Format und rufe die Hilfe mit F1 auf. Also dort hätte ich nie danach gesucht. Nochmals besten Dank, Wolfgang |
|
#8
|
|||
|
|||
|
Hallo Wolfgang,
Wolfgang Badura schrieb: >> Öffne mal eine Tabelle in der Entwurfsansicht, wechsle in ein Textfeld, >> setze den Cursor in die Eigenschaft Format und rufe die Hilfe mit F1 auf. > Also dort hätte ich nie danach gesucht. mein Wissen stammt noch aus der Zeit von Access 95 und Access 97. In der Sekundärliteratur, die es damals zu kaufen gab, wurden solche Sachen besprochen. CU -- Thomas Homepage: www.Team-Moeller.de |
|
|
|
|