Abgesehen von grenzgängers und mkinzlers Aussage...macht mich das hier ein bischen stutzig
hier (#1) 'bastelst' du das
SQL-Statement zusammen:
Delphi-Quellcode:
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM "VT'+sj+'"';
Query1.SQL.Add('WHERE NOT S="M" AND NOT S="E" '+abteilung+' AND NOT S="H" AND DATUM=:today');
Query1.SQL.Add('ORDER BY DATUM DESC,'+order1);
Query1.ParamByName('today').Value := today;
Query1.Open;
und hier(#4) ist angeblich der erzeugte
SQL-Code:
Delphi-Quellcode:
SELECT * FROM "VT07_08.dbf"
WHERE NOT S="M" AND NOT S="E" AND BETKLA IN ("AG=","Nh=","SV=") OR KLASSEN IN ("AG","Nh","SV") AND NOT S="H" AND DATUM=:today
ORDER BY DATUM DESC,KLASSEN ASC,S ASC
irgendwie passt das nicht zusammen
Woher kommt das
OR KLASSEN IN ("AG","Nh","SV")??? Hab ich da was übersehen??
Ich würde bspw. das
SQL-Statement so aufbauen, sprich die Bedingungen vernünftig zusammenfassen (Stichwort: Klammern!):
SQL-Code:
SELECT * FROM "VT07_08"
WHERE ( S NOT IN ("M","E","H")
AND ( BETKLA IN ("AG=","Nh=","SV=")
OR KLASSEN IN ("AG","Nh","SV")
)
)
AND DATUM=:today
ORDER BY KLASSEN ASC,S ASC
Sortierung nach Datum hab ich mir geschenkt - weil: warum danach sortieren , wenn eh nur ein bestimmtes Datum (nämlich der heutige Tag) ausgeguckt wird???