Hallo!

> Mein SQL-String lautet
> "SELECT Aupair.Herkunftsland, Aupair.Aktiv, 
> Aupair.LastModified FROM Aupair
> WHERE datediff(dd,Aupair.LastModified," & 
> MyDateFormat(Left(Now,10)) & ")<15
> ORDER BY Aupair.Herkunftsland ASC;"
> Die Funktion  MyDateFormat bringt das Datum des heutigen 
> Tages (Now) auf die
> Form tt.mm.jjjj . Die Funktion getdate, wie du es mir 
> geschriben hattest
> ruft leider einen Fehler hervor. Der SQL-String sieht dann 
> folgenderma�en
> aus:
> 
> SELECT Aupair.Herkunftsland, Aupair.Aktiv, 
> Aupair.LastModified FROM Aupair
> WHERE datediff(dd,Aupair.LastModified,16.10.2002)<15 ORDER BY
> Aupair.Herkunftsland ASC;
> 
> 
> Die Fehlermeldung lautet:
> Microsoft JET Database Engine- Fehler '80040e14'
> Syntaxfehler in Zahl in Abfrageausdruck
> 'datediff(dd,Aupair.LastModified,16.10.2002)<15'.
> 
> Wer kann mir weiterhelfen? Wahrscheinlich sit es wieder nur 
> ein kleiner
> Trick und alles klappt wunderbar!?

GETDATE() ist eine Funktion von Transact-SQL und entspricht der Funktion
NOW() in Jet-SQL. Wenn Du das Datum in den SQL-String einbringst, dann
korrekt mit den Literalbegrenzern "#" (Jet-SQL) bzw. "'" (SQL-Server).
Au�erdem ist DATEDIFF() auch eine Funktion in T-SQL und nicht in
Jet-SQL.

Die schnelle L�sung ist:

SELECT ...
FROM   Aupair
WHERE  (NOW() - Aupair.LastModified) < 15
ORDER BY ...

Auf keinen Fall w�rde ich ein Datumsliteral in den SQL-String einbauen,
da dieses abh�ngig vom Gebietsschema des Servers gestatltet werden muss.

Freundliche Gr��e
Joachim van de Bruck


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an