Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Filter mit drei Bedingungen per Button

Begonnen von Bollisan, Dezember 09, 2012, 20:54:40

⏪ vorheriges - nächstes ⏩

Bollisan

Hallo Helfer,
möchte einen Filter im Endlos-Formular mit folgenden Bedingungen per Button starten.
Die betreffende Spalte ist mit ,,PersonN" benannt.
In dieser Spalte sind zahlreiche Personen (Nachname) aufgeführt.
Nun möchte ich aus dieser Spalte drei Personen filtern; z.B. mit dem Nachname: Schluge, Orania und Steffen.
Kann mir jemand dafür einen VBA-Code aufzeigen.
Im Voraus besten Dank.
Gruß
Bollisan
  •  

Beaker s.a.

Hallo Bollisan,
Private Sub DeinButton_Click()
    Me.Filter = "PersonN IN ('Schluge', 'Orania', 'Steffen')"
    Me.FilterOn = True
End Sub

hth
gruss ekkehard
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.
  •  

Halwin

also so statisch würd ich das nicht machen...

Angenommen in deinem Form hast du ein Listfeld mit Mehrfachselektions Möglichkeit, dann würde ich eher etwas in diese Richtung vorschlagen.

Sub deinButton_Click()
    For Each itm In Me!PersonenListfeld.ItemsSelected
        PersonenFilter = PersonenFilter & "," & Me!PersonenListfeld.Column(0, itm)
    Next

    If Len(PersonenFilter) > 0 Then
        PersonenFilter = Mid(PersonenFilter , 2)
        Me.Filter = "PersonN in (" & PersonenFilter & ")"
        Me.FilterOn = True
    Else
        MsgBox "Keine Person ausgewählt"
    End If
End Sub
  •  

DF6GL

Hallo,


wenn, denn:

PersonenFilter = PersonenFilter & ",'" & Me!PersonenListfeld.Column(0, itm) & "'"

Halwin

Franz, du hast natürlich vollkommen Recht.

Ich hatte keine Hochkommas verwendet, da bei mir die Tabellen Autowert Spalten haben und diese ja die Key's in den Listboxen sein sollten..
  •  

Beaker s.a.

Hallo,
@Franz
Stört da das Koma am Anfang nicht?
@all
Und es stellt sich die Frage ob Column(0)
die richtige Spalte ist. Ich würde da eher die KundenNr
als den Namen vermuten. Und dann, unter der Voraus-
setzung, dass diese K-Nummer auch eine Zahl ist, sollte
Halwins Code auch funzen.
gruss ekkehard
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.
  •  

Halwin

Das führende komma nimmst du am Ende wieder weg mit der Funktion  Mid(PersonenFilter , 2).
Auch die Frage die Frage zur Column ist natürlich berechtigt. Ich habe einfach wieder nicht erklärt unter welchen Bedingungen das gilt *shame on me*
Der Codesnipsel geht natürlich davon aus, dass Spalte 0 der Primary key ist und in diesem Fall muss er nummerisch sein. Mit Franz's Hinweis gilt er dann für reine Text Felder.
  •  

Beaker s.a.

Hallo Hawin,
Zitat*shame on me*
Dito, die Zeile mit dem Komma hab' gar nicht gesehen,
war so auf die Schleife fixiert.
gruss ekkehard
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.
  •