Zitat von
GeorgeWNewbie:
Das Problem war, dass ich DateTime verwendet habe - für deine jetzige Tabelle müsste es Date sein.
Außerdem sollte die Tabelle 2 Datumsfelder enthalten: 1. ausgeliehen (StartDatum) 2.zurückgebracht(EndDatum) (beide mit Uhrzeit)
dann könnte es So aussehen:
Delphi-Quellcode:
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Text :=
'SELECT *' + #10 +
'FROM "t:eDienstreisebuch\mainDB.dbf"' + #10 +
'WHERE Dienst_PKW = :iDienst_PKW AND' + #10 +
' (:iDate between StartDatum AND EndDatum)';
Query2.prepare;
Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text;
Query2.ParamByName('iDate').AsDateTime := DateT.DateTime;
Damit dürftest du die Probleme umgehen können, die weiter oben beschrieben habe...
Danke,
es läuft hier in der Art, dass jeder Mitarbeiter der eine Dienstreise machen muss, ein Auto haben kann, solange es noch nicht vergeben ist. Dienstreisen dauern für gewöhnlich ein Tag - wenn es länger dauert, dann muss der private Wagen genommen werden (gegen Entschädigung, klar).
Daher gibt es keine Feld, wann der PKW wieder da ist, sondern nur die Uhrzeit.
D.h. man könnte (und das wäre auch sehr gut) nach der Zeit schauen lassen, es gibt ein Feld für Beginn d. Reise und Ende d. Reise.
Das würde jetzt aber sehr ausfühlichen Code benötigen, erstmal muss man von der Eingabemaske schauen lassen von wann bis wann ein Wagen genommen wird, in die
DB schauen - von wann bis wann der PKW weg ist... usw.