Access-o-Mania

Access-Forum => Formular => Thema gestartet von: Danielz am Februar 09, 2018, 13:47:20

Titel: Suche in mehreren Spalten des Kombinationsfeldes
Beitrag von: Danielz am Februar 09, 2018, 13:47:20
Hallo,
ich hab ein Formular mit einem Unterformular. Im Hauptformular gebe ich persönliche Kontaktdaten einer Person ein. Im Ufo teile ich dieser Person dann über ein Kombinationsfeld eine Firma zu. Dieses Kombinationsfeld hat mehrere Spalten (Name der Firma, Abkürzung, Zusatz, Straße, Ort, etc.). Jetzt würde ich gerne bei einer Eingabe im Kombinationsfeld alle Spalten durchsuchen können. Wenn mir beispielsweise als Anwender nur die Abkürzung der Firma/Organisation einfällt, z.B. "BMBF" dann soll mir trotzdem die richtige Zeile angezeigt werden. Momentan ist es nur möglich eine der Zeilen zu durchsuchen.
Weiß Jemand für mein Problem eine Lösung? Vielen Dank im Voraus und beste Grüße
Daniel
Titel: Re: Suche in mehreren Spalten des Kombinationsfeldes
Beitrag von: Beaker s.a. am Februar 09, 2018, 15:06:33
Hallo Daniel,
Ein vorgeschaltetes Kombi könnte helfen.
In dem zeigst du die relevanten Spalten zur Auswahl an und AfterUpdate
manipulierst du die RowSource des Suchkombis entsprechend.
gruss ekkehard
Titel: Re: Suche in mehreren Spalten des Kombinationsfeldes
Beitrag von: Danielz am Februar 14, 2018, 14:35:39
Hallo Ekkehard,
vielen Dank für Deine Hilfe! Allerdings bin ich mit meinem Problem leider noch nicht weitergekommen.
Ich habe jetzt allerdings versucht mit einem vorgeschalteten ungebunden Textfeld, das als Suchfeld für das nachfolgende Kombi dient, mein Problem zu lösen. Dafür habe ich den nachfolgenden Code "bei Änderung" eingetragen. Bis jetzt ist damit allerdings auch nur die erste Spalte des Kombis durchsuchbar. Gibt es die Möglichkeit für "Dim Kriterium as String" mehrere Kriterien zu hinterlegen, so dass man auch noch nach Spalte zwei und drei des Kombis suchen kann?   
Viele Grüße
Daniel
Private Sub ogrSuchart_AfterUpdate()
    ArtikelSuchen
End Sub

Private Sub ArtikelSuchen()
    Dim strKriterium As String
    If Me!ogrSuchart = 1 Then
        strKriterium = "Institution LIKE  '" & strSuchbegriff & "*'"
    Else
        strKriterium = "Institution LIKE '*" & strSuchbegriff & "*'"
    End If
    Me!IstInstitution.RowSource = "SELECT Institutionen_Nr, Institution FROM Testabfrage WHERE " & strKriterium & " ORDER BY Institution"
End Sub

Private Sub txtSuche_Change()
    strSuchbegriff = Me!txtSuche.Text
    ArtikelSuchen

End Sub
[/size][/size]
Titel: Re: Suche in mehreren Spalten des Kombinationsfeldes
Beitrag von: Beaker s.a. am Februar 14, 2018, 17:06:22
Hallo Daniel,
Anbei ein Minimalbeispiel wie es gehen könnte.
gruss ekkehard
Titel: Re: Suche in mehreren Spalten des Kombinationsfeldes
Beitrag von: Josef P. am Februar 16, 2018, 14:56:55
Hallo!

Wenn eine Textsuche ausreicht, ist vielleicht auch die Eingabe des Suchwertes in die Combobox eine Option.
Beispiel: ComboboxFilterControlTest (http://access-codelib.net/download/samples/ComboboxFilterControlTest.zip)

mfg
Josef
Titel: Re: Suche in mehreren Spalten des Kombinationsfeldes
Beitrag von: DF6GL am Februar 16, 2018, 15:43:53
Hallo,


auch eine (einfache) Möglichkeit:


Private Sub txtSuche_Change()
     Me!IstInstitution.RowSource = "SELECT InstitutionName, Abkürzung, Zusatz, Straße, Ort  FROM tbl_Institutionen WHERE " & _
    "  InstitutionName & "|" & Abkürzung & "|" & Zusatz & "|" & Straße & "|" & Ort Like '*" &  Me!txtSuche.Text  & "*' ORDER BY InstitutionName"
End Sub