Einzelnen Beitrag anzeigen

StoRmtec

Registriert seit: 6. Jan 2003
209 Beiträge
 
#1

Abfrage aus 2 Tabellen in Access funktioniert nicht

  Alt 30. Jan 2006, 11:03
Datenbank: Access • Zugriff über: ADO
Hallo Leute

Hätte eine Hilfe gebraucht.

Und zwar habe ich eine Datenbank mit 2 Tabellen.

Druckerwartung | Druckerverbrauch

jetzt möchte ich eine Abfrage machen das er mir die ganzen Kosten zusammenzählt, das funktioniert auch aber wenn ich jetzt machen möchte das er mir nur einen gewissen Datumsbereich ermitteln soll dann bekomme ich eine Fehlermeldung. Weiß auch schon warum. Und zwar wenn zB. bei Druckerwartung in den Zeitraum kein Datum eingetragen ist dann bekomme ich die Fehlermeldung.

Das ist mein Code:
Delphi-Quellcode:
procedure TForm2.gesamtbuttonClick(Sender: TObject);
var gesamtall1, kostenverbrauchall1, kostenwartungall1 : extended;
begin
wartungall.Close;
wartungall.sql.clear;
wartungall.SQL.text := 'select sum(tonerkostengesamt) as Gesamtsumme from verbrauch where datumv between :von and :bis';
wartungall.Parameters.ParamByName('von').Value := StrToDate(edit1.Text);
wartungall.Parameters.ParamByName('bis').Value := StrToDate(edit2.Text);
wartungall.open;
gesverbrauchall.text := wartungall.FieldByName('Gesamtsumme').Value;
verbrauchall.Close;
verbrauchall.sql.clear;
verbrauchall.SQL.text := 'select sum(kosten) as Gesamtkosten from wartung where datum between :von and :bis';
verbrauchall.Parameters.ParamByName('von').Value := StrToDate(edit1.Text);
verbrauchall.Parameters.ParamByName('bis').Value := StrToDate(edit2.Text);
verbrauchall.open;
geswartungall.Text := verbrauchall.FieldByName('Gesamtkosten').Value;
kostenwartungall1 := strtofloat(geswartungall.Text);
kostenverbrauchall1 := strtofloat(gesverbrauchall.Text);
gesamtall1 := kostenwartungall1 + kostenverbrauchall1;
gesall.Text := floattostr(gesamtall1);
end;
Wie kann ich das machen wenn da kein Datum eingetragen ist das er mir trotzdem den anderen Wert ausgibt.

MFG
StoRmtec
  Mit Zitat antworten Zitat