Guten Tag.
AND Ort = „PF“ or „RI“
ist syntaktisch falsch, wie schon jemand pust. Dass es gar nicht funktioniert, liegt an einer anderen Falle der Syntax, nämlich den Anführungsfüßchen, die einer bestimmten Mimik folgen müssen.
dteZeitpunkt = Format(DateAdd(„n“, 3, Now), „hh:mm“)
strSQL = „SELECT * FROM Rplakt WHERE NOT ISNULL
(Rangierfahrt) AND Ausblenden=0 AND Datum=date() AND Zeit=#“ &
dteZeitpunkt & „#“
strSQL="SELECT \* FROM Rplakt WHERE ... AND (Ort =" + \_
**""""+ \_
"PF"+ \_
""""+ \_**
" OR Ort ="+ \_
**""""+ \_
"RI"+ \_
""""** + \_
")"
Zur Erklärung: Zunächst solltest du Klammern verwenden, um die einzelnen logischen Abschnitte der verschachtelten SQL-Kriterien sauber zu trennen. Erhöht die Lesbarkeit und verhindert Überraschungseier ("(laber AND blubb) OR NOT bla" ist etwas anderes als „laber AND (blubb OR NOT bla)“).
Dann muss man, wenn man Literale in Variable basteln will, genau darauf achten, dass die Anführungsfüße stimmen - manchmal einfach, manchmal verdoppelt, und siehe oben sogar vervierfacht. Das ist eine Besonderheit in VB, und ich habe die Erfahrung gemacht, dass man solche Konstrukte am besten auf mehrere Zeilen verteilt, so wie im obigen Schnipsel geschehen. Sollte - Tippfehler vorbehalten - eigentlich in der Lage sein, Rangierfahrten nach Pforzheim* oder wo auch immer zu selektieren.
Gruß Eillicht zu Vensre
*PW: Zugabteil mit zwei Reisenden, einer macht die ganze Zeit „la, la, laa“. „Warum machen Sie das?“ — „Damit ich mir merke, dass ich in Singen aussteigen muss.“ — „Bin ich froh, dass Sie nicht nach Pforzheim wollen.“