Hallo liebe Forumsteilnehmer.
Ich habe ein Problem mit dem Kriterium in einer Abfrage. Dort habe ich das Feld "Status". Gebe ich in der Abfrage unter Kriterium einen einfachen Begriff wie z. Bsp. "beendet" ein, funktioniert es. Auch, wenn ich das Kriterium über [Forms]![frmTeilnehmerBuchen_Auswahl]![txtKriterium] aus dem eigentlichen Formular auslese. Sobald ich aber mehr als ein Begriff als Kriterium eingebe, z. Bsp.: "beendet" oder "reserviert", funktioniert es zwar direkt in der Abfrage, schreibe ich es so in das Formular ins Kriteriumfeld, bleibt die Abfrage leer.
Frage: Wie muss es denn formuliert sein, so dass obiges Beispiel auch aus dem Formular richtig in die Abfrage gelangen kann?
Für eine Antwort wäre ich sehr dankbar...
Viele Grüße, agfl
Hallo,
das geht so nicht. Das "Oder" befindet sich im Kriterium (-String) wird so nicht als Oder-Operator von der Abfrage erkannt. Die "Where-Condition" (Kriterium) für die Abfrage müsste z. B. mit VBA zusammengebaut werden.
... WHERE DeineTabelle.Status = 'beendet' OR DeineTabelle.Status = 'reserviert' ...
Hallo,
@Ekkehard:
Er will aber als Kriterium einen Form-Textfeld-Verweis verwenden und im Textfeld die Kriterienwerte einschließlich des Or-Operators eingeben... ???
Hallo Franz,
Leseschwäche ;)
Würde es dann gehen, wenn im Textfeld eine Komma getrennte Liste ohne
Operator (beendet, reserviert) eingegeben wird, mit IN zu filtern?
... WHERE DeineTabelle.Status IN Forms!FName!Textfeld ...
gruss ekkehard
Hallo,
ich denke nicht. Generell können SQL-relevante Zeichen (Syntax, in diesem Fall "(" , "," , ")" ) nicht auf diese Art und Weise übergeben werden.
Hallo Franz,
Danke.
Ist eigentlich auch klar, wenn man ein paar Minuten länger drüber
nachdenkt; - an die "(" hatte ich gar nicht gedacht.
Dann muss man's eben mit VBA machen.
gruss ekkehard