Entwickler-Ecke

Datenbanken - ADOQUERY unter Delphi XE2 und Win7 64-bit


HarryC - Fr 11.05.12 09:38
Titel: ADOQUERY unter Delphi XE2 und Win7 64-bit
Hallo Delphifreunde,
ich stehe vor einem absoluten Rätsel. Folgende Abfrage per ADOQuery auf eine MS-Access Datei (.mdb) funktioniert unter Windows XP einwandfrei:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
 SQL.Clear;
 SQL.Add('select sum(ABFStatMenge) as aktuell from ABFStat ');
 SQL.Add('where ABFStatArtNr = '+QuotedStr(DataModule2.ADOTable2ArtNr.Value));
 SQL.Add('and ABFStatDatum between #01/01/2012# and #31/12/2012#');
 Open;
 aktuell.Caption:= 'Aktuell:  '+FieldByName('aktuell').AsString;
 close;


Fragt mich nicht warum das ganze nicht unter Win7 64-bit funktioniert. Hier wird kein Ergebnis angezeigt.
Jetzt aber das merkwürdige: Gibt man das Jahr zuvor ein z.B. (#01/01/2011# and #31/12/2011#) funktioniert die Abfrage auch unter Windows 7 64-bit.

Ich kann absolut nicht verstehen, warum die Abfrage mit dem aktuellen Jahr 2012 kein Ergebnis unter Win7 bringt, (2011 funktioniert) währendessen es unter Windows XP absolut funktioniert.

Bitte dringed um Hilfe und Rat, bin schon am ausflippen!

Gruß Harry

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt


bummi - Fr 11.05.12 11:22

Hast Du es schon einmal mit Parametern versucht

Delphi-Quelltext
1:
2:
3:
SQL.Add('and ABFStatDatum between :von and :bis');
SQL.Parameters.ParambyName('von').Value := MeinVonDatumDatetime; 
...


guinnes - Fr 11.05.12 11:35

user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
Hast Du es schon einmal mit Parametern versucht

Delphi-Quelltext
1:
2:
3:
SQL.Add('and ABFStatDatum between :von and :bis');
SQL.Parameters.ParambyName('von').Value := MeinVonDatumDatetime; 
...

Die Frage ist hier [http://forum.delphi-treff.de/showthread.php?31629-ADOQuery-auf-Access-Datenbank-mit-XE2-unter-Win7-fehlerhaft]auch schon gestellt worden