Damit du den Code nur einmal schreiben oder anpassen musst, würde ich die Filterfunktion in eine eigene Prozedur auslagern. Der Aufruf erfolgt dann jeweils über das onClick-Ereignis der entsprechenden Liste.

Code vb:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub Liste_Stadt_onClick ()
'Aufruf der gemeinsamen Filterfunktion
DB_Filter
 
End Sub
 
Private Sub Liste_Nummer_onClick ()
'Aufruf der gemeinsamen Filterfunktion
DB_Filter
 
End Sub
 
Sub DB_Filter ()
 
Dim flt As String
flt = ""
 
If Liste_Stadt.Value <> "Alle" Then
    flt = "stadt = " & Liste_Stadt.Value
End If
 
If Liste_Nummer.Value <> "Alle" And flt = "" Then
    flt = "nummer = " & Liste_Nummer.Value
ElseIf Liste_Nummer.Value <> "Alle" And flt <> "" Then
    flt = flt & " AND nummer = " & Liste_Nummer.Value
End If
 
If flt <> "" Then
    Me.Filter = flt
    Me.FilterOn = True
Else
    Me.FilterOn = False
End If
 
End Sub