Neuigkeiten:

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

Mobiles Hauptmenü

Suchfeld nach mehrern Feldinhalten

Begonnen von Don, September 23, 2022, 15:21:26

⏪ vorheriges - nächstes ⏩

Don

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

andyfau

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
Beste Grüße
Andreas

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Don

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

MzKlMu

Hallo,
es liegt am Zeilenumbruch.
Me.Filter = "[Firma_Kontakt] Like '*" & Me!txt_Firma_Suche & "*' OR [PLZ] Like '*" & Me!txt_Firma_Suche & "*'"
Gruß Klaus

Don

Hallo Klaus,
Top, des isses, danke an alle
VG
Don