Re: In SQL Anweisung Feld Inhalt abfragen lassen
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:
Damit dürftest du die Probleme umgehen können, die weiter oben beschrieben habe...
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; |
Re: In SQL Anweisung Feld Inhalt abfragen lassen
Zitat:
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. |
Re: In SQL Anweisung Feld Inhalt abfragen lassen
*seufz*
hab den Code nun so geschrieben:
Delphi-Quellcode:
end
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 = :iDate'; Query2.prepare; Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text; Query2.ParamByName('iDate').AsDateTime := DateT.DateTime; Query2.open; //Query2.sql.add(sSQL); Query2.Active:=True; if Query2.Bof and Query2.Eof then begin ShowMessage('Dateneingabe'); else ShowMessage('Keine Daten');[/delphi] Leider wird immer noch kein Ergebniss in den Query geschrieben, wenn Datensätze (eigentlich) übereinstimmen. So läuft dann immer
Delphi-Quellcode:
ab.
then begin ShowMessage('Dateneingabe');
Der Fehler muss noch woanders liegen... . |
Re: In SQL Anweisung Feld Inhalt abfragen lassen
Zitat:
|
Re: In SQL Anweisung Feld Inhalt abfragen lassen
Nun hab ichs,
der Fehler lag schon in der Zeile - wie du meintest. Richtig muss sie in meinem Programm in der Art geschrieben stehen:
Delphi-Quellcode:
"Date" könnte nicht ausreichen, denn die Komponente hat von mir den Namen "DateT" bekommen, warum auch immer ;).
Query2.ParamByName('iDate').asDate := DateT.DateTime;
Bedanke mich für deine Hilfe, hast mich wirklich weiter gebracht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz