![](styles/elise/misc/quote_24x24.png)
Zitat von
GeorgeWNewbie:
Erstens: "DISITNCT" sorgt dafür, dass keine doppelten Einträge ausgegeben werden.
Im folgenden Code kriegst du alle Dienstwagen, die im angegeben Zeitraum nicht belegt sind.
SQL-Code:
SELECT DISTINCT t.Dienst_PKW
FROM T_Daten t
WHERE t.Raum NOT IN
(SELECT x.Dienst_PKW
FROM T_Daten x
WHERE x.Anfang BETWEEN :StartTm AND :EndTm OR
x.Ende BETWEEN :StartTm AND :EndTm)
Für StartTm & EndTm musst du Parameter in deiner
Query anlegen.
Wie das umsetzen kannst steht dort:
datumpicker AND in AND sql AND abfrage AND einbauen
Einfacher geht's nur wenn du nur ein Datum pro Wagen hast.
SQL-Code:
SELECT DISTINCT t.Dienst_PKW
FROM T_Daten t
WHERE t.DATUM NOT BETWEEN :StartTm AND :EndTm
(Dürfte Probleme geben, wenn ein Wagen 2 Tage weg ist, aber nur das Startdatum angegeben ist)
Danke!
Das werd ich auch gleich noch mal checken, hab eben ne recht einfache Version umgesetzt:
Delphi-Quellcode:
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.ADD ('SELECT * FROM "t:eDienstreisebuch\mainDBalt.dbf" WHERE dienst_pkw="Ford DM-162"');
Query2.Active:=True;
So wird dann in nem Grid der Datensatz ausgegeben. Allerdings greift er noch nicht aufs Datum zu. Mal schaun wie weit ich mit deinem Code komme.