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
Man kann.
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?
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
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.