Hi !
Ich habe eine Access Datenbank, von der aus ich Querys auf einer verlinkten Tabelle ausführe. Die verlinkte Tabelle ist eine SQLBase/Gupta Datenbank und wird über eine ODBC Datenquelle verknüpft.
Nun führe ich folgenden Code in einer Abfrage aus:
select \*
from historie
where
datevalue([datum]) between cdate('2009-11-01') and cdate('2009-11-05')
Das Datumsfeld ist vom Typ DateTime.
Allerdings liefert mir die Between Anweisung alles Mögliche an Datumsangaben. Darunter sind Einträge, die im Wertebereich liegen, allerdings auch jede Menge, die es nicht sind. Ich bin mir allerdings sicher, dass between geparst und verarbeitet wird, weil ohne 28k Einträge angezeigt werden und mit between nur 174.
Interessanter wird es sogar noch, wenn ich mit WinSQL über dieselbe Datenquelle auf dieselbe Datenbank zugreife und das SQLBase Äquivalent dazu ausführe:
select \*
from historie
where
@datevalue(datum) between '2009-11-01' and '2009-11-05'
Denn dann funktioniert alles wie gewünscht. Ich vermute also, dass ich irgendeine Datumskonvertierung oder so verfehlt habe. Bitte helft mir auf die Sprünge.
Mfg
RW