Hallo,
ich kämpfe mal wieder mit " und ' bei der Definition eines Filterkriteriums.
Ich möchte einen Filter bauen, der meine DS mit Status "geplant" und "fixiert" anzeigt. Ich scheitere aber schon wieder an der Definition des Filterkriteriums, ich vermute an der richtigen Verwendung von Hochkommas und & .
Folgender Code geht schon mal nicht: ;)
If Nz([cbo_stat]) > "" Then Bedingung = Bedingung & " and [Status] like '" & "geplant" or " & "fixiert" & "*'"
Kann mir jemand einen Tipp geben?
Gruß
Klaus
hi,
If Nz([cbo_stat]) > "" Then Bedingung = Bedingung & " and (Status = 'geplant' or Status = 'fixiert')"
Ist es gewollt, dass diese Zuweisung passiert, egal was in cbo_stat steht?
Harald
Hallo Harald,
im Moment ja.
Erster Schritt ist das Filterkriterium so aufbauen, dass es das tut was es soll. Dann muss ich sehen, wie ich aus dem Kombifeld den entsprechenden String "rausbekomme". Das hoffe ich zu schaffen. :-)
Gruß
Klaus
Hi Klaus,
Zitat von: Klaus S. aus B am August 28, 2013, 10:06:01
Dann muss ich sehen, wie ich aus dem Kombifeld den entsprechenden String "rausbekomme". Das hoffe ich zu schaffen. :-)
Vermutlich suchst Du so etwas:
If Nz([cbo_stat]) > "" Then Bedingung = Bedingung & " and Status = '" & me.cbo_stat & "'"Harald
Hallo Harald,
das ist mein Code für die Filterung nach einem einzelnen Status, die schon prima funktioniert:
If Nz([cbo_stat]) > "" Then Bedingung = Bedingung & " and [Status] like '" & [cbo_stat] & "*'"
Ich suche den korrekten String für ein kombiniertes Kriterium aus zwei Status.
Gruß
Klaus
Hi Klaus,
aufgrund der Vorsilbe cbo gehe ich davon aus, dass es sich um ein Kombifeld handelt.
Wie schaffst Du es, dass in einem Kombifeld mehr als ein Status eintragbar ist?
Nur bei einem Listenfeld kann ich mir mehr als einen Eintrag vorstellen.
Harald
HAllo Harald,
sorry, ich will Dich nicht bremsen, aber das Kombifeld ist nicht mein Problem.
Das kann man eleganz über Code abfangen, wenn man denn mal weiß wie der String aussehen muss.
Deshalb habe ich auch den Weg gewählt erstmal einen "festen" Filterwert einzusetzen. Dieser feste Filterwert macht mir Kopfzerbrechen.
Gruß
Klaus
PS: das Kombifeld in ein Listenfeld umzubauen, Mehrfachauswahl war mein erster Ansatz, der nicht funktioniert hat.
Hi Klaus,
Zitat von: Klaus S. aus B am August 28, 2013, 10:48:20
wenn man denn mal weiß wie der String aussehen muss.
like macht keinen Sinn. Daher "="
Ich habe auch () verwendet, weil es sonst bei einer and und or Verknüpfung zu unerwarteten Ergebnissen kommen wird.
Der String sieht so aus:
If Nz([cbo_stat]) > "" Then Bedingung = Bedingung & " and (Status = '" & cbo_stat & "' or Status = '" & cbo_stat & "')"Harald