Hallo zusammen,
ich habe in einem Forlmular bereits ein Suchfeld erfolgreich hinterlegt. Es sucht Firmen nach dem Firmennamen. Gerne würde ich jetzt in demselben Suchfeld weitere Felder durchsuchen lassen, z.B. Telefonnummer oder PLZ. Hier mein VBA Code. Wie würde die Syntax für ein weiteres Feld aussehen?
Danke vorab,
Don
Private Sub txt_Firma_Suche_AfterUpdate()
If Nz(Me![Firma_Kontakt]) <> "" Then
Me.Filter = "[Firma_Kontakt] Like '*" & Me!txt_Firma_Suche & "*'"
Me.FilterOn = True
If Me.RecordsetClone.RecordCount = 0 Then
Me.FilterOn = False
End If
End If
End Sub
Hallo,
du kannst bei Me.Filter auch mehrere Kriterienangaben mit OR verbinden.
Me.Filter = "[Firma_Kontakt] Like '*" & Me!txt_Firma_Suche & "*' OR " & _
[Firma_PLZ] Like '*" & Me!txt_Firma_Suche & "*'"
Beste Grüße
Andreas
Hallo,
Ich würde zunächst mal fragen, warum ein Firmenname in einem Feld
steht, das "Firma_Kontakt" heisst. Kontakte würde ich eher in einer
eigenen Tabelle finden wollen.
Andreas' Lösung ist natürlich brauchbar, aber unflexibel. Ich würde
da ein Kombi mit einer Feldliste davor schalten.
Filtern dann
Private Sub txt_Firma_Suche_AfterUpdate()
With Me
If Len(.txt_Firma_Suche) > 0 Then
.Filter = .NeuesKombi & " Like '*" & .txt_Firma_Suche & "*'"
.FilterOn = True
If .RecordsetClone.RecordCount = 0 Then
.FilterOn = False
End If
End If
End With
End Sub
Mit einer Hilfstabelle (PK, FormName, FeldName) kann man so eine Kombi in
mehreren Formularen verwenden.
gruss ekkehard
Vielen Dank Euch beiden,
ich bevorzuge die Lösung von Andreas, da ich das Feld nur für das eine Formular brauchen werde. Leider kommt da immer ein Syntaxfehler. Mein Code sieht folgendermaßen aus, (PLZ ist richtig)
Me.Filter = "[Firma_Kontakt] Like '*" & Me!txt_Firma_Suche & "*' OR " & _
[PLZ] Like '*" & Me!txt_Firma_Suche & "*'"
Woran kann das liegen,
danke und schönes WE
Don
Hallo,
es liegt am Zeilenumbruch.
Me.Filter = "[Firma_Kontakt] Like '*" & Me!txt_Firma_Suche & "*' OR [PLZ] Like '*" & Me!txt_Firma_Suche & "*'"
Hallo Klaus,
Top, des isses, danke an alle
VG
Don