Was gefällt dir daran nicht?
Ich werde das Datumsproblem nicht 2 mal im gleichen Thread erklären. Der einzige vernünftige Weg ist ein Parameter (der
EINZIGE! ).
Das SELECT-Statement habe ich noch etwas bereinigt, ich hatte beim ersten Post nur per search 'n replace die überlangen Tabellenaliase verändert und das Ganze durch einen Source formatter gejagt.
Die Personentabelle ist in deinem SubSELECT völlig unnütz, denn Mer_Pad_ID = Person.ID.
Außerdem glaube ich nicht, dass Person.Sperre ein Stringfeld ist (wenn sie nicht numerisch ist hapert es gewaltig am
DB Design).
Das veränderte Statement:
Delphi-Quellcode:
...
SQL.Text :=
'
SELECT Person.ID' + #10 +
'
FROM DBAdmin.Person Person, DBAdmin.Bogen Bogen' + #10 +
'
WHERE (Person.ID = Bogen.PER_ID) And Bogen.status = 1 And' + #10 +
'
Person.Sperre Not In (1, 2, 3, 4, 5, 6) And' + #10 +
'
Person.ID Not In' + #10 +
'
SELECT Mer_Pad_ID' + #10 +
'
FROM DBAdmin.Merkmale Merkm' + #10 +
'
WHERE Merkm.mer_merkmal = :i_MerkMal And' + #10 +
'
Merkm.Mer_Dat = :i_MerkDat)';
...