Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Listenfeld soll nach zwei Feldern filtern

Begonnen von Carl, Oktober 26, 2017, 10:04:18

⏪ vorheriges - nächstes ⏩

Carl

Listenfeld

Kann man ein Listenfeld so mit VBA konfigurieren, dass es Datensätze so filtert, dass zwei Felder abgefragt werden.

Zum Beispiel, dass alle DS angezeigt werden, die in [Text1] oder in [Text2] den Wert zeigen, den das Listenfeld markiert hat?

Carl

Lachtaube

Grüße von der (⌒▽⌒)

Carl

Also um nach einem Feld zu filtern mache ich es immer so:

Private Sub Einfeldfilter_AfterUpdate()
     With Me!UFfrmworkorderUFO.Form
         .Filter = "Erstesfeld = " & Me!Einfeldfilter & ""
         .FilterOn = True
     End With
End Sub


Das hingegen funktioniert nicht, weil der zweite Filter den ersten überschreibt.

Private Sub Zweifeldfilter_AfterUpdate()
     With Me!UFfrmworkorderUFO.Form
         .Filter = "Erstesfeld = " & Me!Zweifeldfilter & ""
         .Filter = "Zweitesfeld = " & Me!Zweifeldfilter & ""
.FilterOn = True
     End With
End Sub


Was muss man tun, um DS anzuzeigen, die den Wert im ersten ODER im zweiten haben?


Carl

okay, ich habs hin bekommen mit:

Private Sub Zweifeldfilter_AfterUpdate()
     With Me!UFfrmworkorderUFO.Form
         .Filter = "Erstesfeld = " & Me!Zweifeldfilter & ""  & _
         "OR Zweitesfeld = " & Me!Me!Zweifeldfilter & ""
         .FilterOn = True
     End With


Ich verstehe nicht, was der Ausdruck  & _ bedeutet.

Carl



MzKlMu

Hallo,
das &_ ist nur ein Zeilenumbruch im VBA Editor den man einfügt, wenn die Zeile zu lang wird. Ist bei dem gezeigten Code nicht unbedingt notwendig. Außerdem sind die beiden Leerstrings überflüssig.
     With Me!UFfrmworkorderUFO.Form
         .Filter = "Erstesfeld = " & Me!Zweifeldfilter & " OR Zweitesfeld = " &  Me!Zweifeldfilter
        .FilterOn = True
     End With

Das funktioniert aber nur bei Zahlen so, Texte erfordern zusätzliche Hochkomma.
Gruß Klaus