Abfrage nach Datum nicht korrekt?

reto

Erfahrenes Mitglied
Hallo

Ich möchte alle Datensätze aus einer Tabelle (access) holen, bei welche nicht älter als 30 Tage sind (Datum: DATUMFELD). Ich habe die Abfrage wie folgt gemacht:

Code:
SQL="SELECT * FROM TABELLE WHERE DATUMFELD >= #" & Date() - 30 & "#"

Die Datensätze werden zwar angezeigt, aber auch solche, die älter als 30 Tage sind... wo liegt der Fehler?

Danke schon im voraus
 
hi,
das Datumsformat für Access muss so ein: #20/12/2002#

Code:
Dim mydate As Date
Dim str As String

mydate = DateAdd("d", -30, Now())      ' vom heutigen Datum 30 tage (d) abziehen 
str = Day(mydate) & "/" & Month(mydate) & "/" & Year(mydate)  'String basteln

SQL="SELECT * FROM TABELLE WHERE DATUMFELD >= #" & str & "#"
Mfg Col.Blake
 
Hi colblake, danke schonmal für deinen Vorschlag, sieht schon sehr gut aus... ABER ich erhalte folgende Fehlermeldung vom Browser zurück:

Code:
Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/datei.asp, line 211 

Dim mydate As Date
-----------^

Was habe ich falsch gemacht?
 
oh ,
sorry ich hatte es inVBA getippt.
Ich war noch auf Arbeit, und da gibt es nur die Produckte von Office97 :)( ) .


besser:
Code:
Dim str,mydate

mydate = DateAdd("d", -30, Now())          'oder eben "Date()-30"
str = Day(mydate) & "/" & Month(mydate) & "/" & Year(mydate)

SQL=......& str &...

Der Rest geht.( zumindest bei mir)

PS: Dein "Date()-30" kannte ich noch net, geht aber auch super (anstatt DateAdd(..)).
Mfg
Col.Blake
 
Zuletzt bearbeitet:
Danke, die Abfrage selber funktioniert nun, aber ich bin wieder gleich weit wie vorher: Es werden alle Datensätze aufgelistet, auch die, bei denen das Datum im besagten Datumfeld älter als 30 Tag ist...
 
reto hat gesagt.:
Danke, die Abfrage selber funktioniert nun, aber ich bin wieder gleich weit wie vorher: Es werden alle Datensätze aufgelistet, auch die, bei denen das Datum im besagten Datumfeld älter als 30 Tag ist...

Ich habs gerade mal ausprobiert ,und bei mir listets auch Datensätze auf die älter sind aber nicht alle.
Ich glaub ich hab die Lösung. Probier mal die Datumsangabe auf englische art.
#Monat/Tag/Jahr# das war bei mir der Fehler.

Schreib wenns funktioniert!

Mfg
col.blake
 

Neue Beiträge

Zurück