Verdammt,
da gibts noch n Problem mit deinem Code.
Er schaut jetzt im Programm so aus:
Delphi-Quellcode:
var
sSQL: string;
procedure TForm1.Button2Click(Sender: TObject);
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Text :=
'SELECT *' + #10 +
'FROM "t:eDienstreisebuch\mainDB.dbf"' + #10 +
'WHERE Dienst_PKW = :iDienst_PKW And' + #10 +
' Datum = :iDateT';
Query2.prepare;
Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text;
Query2.ParamByName('iDateT').AsDateTime := DateT.DateTime;
Query2.open;
//Query2.sql.add(sSQL);
Query2.Active:=True;
if Query2.Bof and Query2.Eof
then begin ShowMessage('Dateneingabe');
end
else ShowMessage('Keine Daten');
Ein Fehler fällt auf, die Zeile die ich ausgeklammert habe, kann in der Form ja auch nicht funktionieren. Denn sSQL ist ja nicht mehr vorhanden, die Deklaration davon - könnte ich also auch entfernen.
Nun sieht es leider so aus, dass das Programm immer
then begin ShowMessage('Dateneingabe');
ausführt, niemals
else ShowMessage('Keine Daten');
[/delphi]. Auch wenn es eine Summe im
Query gibt.
Der alte Code, der funktioniert hat sah so aus:
Delphi-Quellcode:
var
sSQL: String;
procedure TForm1.Button1Click(Sender: TObject);
begin
Query2.Close;
Query2.SQL.Clear;
sSQL := 'SELECT * FROM "t:eDienstreisebuch\mainDBalt.dbf" where dienst_pkw = "' + PKW.Text + '" AND datum = ''' + Datum2.text + '''';
Query2.sql.add(sSQL);
Query2.Active:=True;
if Query2.Bof and Query2.Eof then ShowMessage('Keine Daten');
end;
Dabei gabs dann aber das Problem mit dem DateTimePicker... .
Was hab ich denn an dem Code oben falsch gemacht?