Lösung für Suchfeld in einem Formular ?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Lösung für Suchfeld in einem Formular ?

von pvane » Do, 07.09.2006 18:39

Hallo Steffan,

das ein Suchfeld per Makroprogrammierung möglich ist, wußte ich.
Da ich mich aber mit der Makroprogrammierung nicht auskenne, habe ich
nach einem Weg für "Otto Normalverbraucher" gesucht.

Eine Suchabfrage ohne Makro.

Vielen Dank für dein Posting.

pvane

von Steffan » Do, 07.09.2006 18:33

Hallo,

ich hab das ganze folgendermaßen gelöst:

Durchsucht werden bei mir die Felder 'company1' und 'family_name'
Im Formular gibt es ein Textfeld zur Eingabe des Suchstrings.
Dem Textfeld habe ich für das Ereignis Text modifiziert ein Makro zugeordnet, das den SQL-Filter-String baut (Auszug)

Code: Alles auswählen

	
    sFilter= lcase(oFilt.Text) 'Suchtext aus Textbox
    if sFilter <>"" then
        sFilter = sFilter & "%" 
        setFiltA1= "( (LCASE(company1) LIKE '" & sFilter & "') " & _
            "OR (LCASE(family_name) LIKE '" & sFilter & "') )"
    else 
        setFiltA1= ""
    endif
Der so ermittelte SQL-Filterstring wird dann der Filter-Eigenschaft des Formulars zugewiesen.

Code: Alles auswählen

	oForm.Filter=setFiltA1
	oForm.Reload
Und schon klappt es. Jedesmal wenn der Text im Textfeld sich ändert, werden die o.g. Felder entsprechend dem eingegebenen String gefiltert und das Formular wird neu aufgebaut.

Steffan.

Lösung für Suchfeld in einem Formular ?

von pvane » Do, 07.09.2006 12:24

Nach dem ich viele, viele Foren gelesen habe und leider zu keinem Ergebnis gekommen bin, habe ich ggf. selber eine Lösung für eine Suchabfrage in einem Formular gefunden.

Ausgangssituation : Kundendatenbank mit den üblichen Feldern. :lol:

Problem : Suche über mehrere Felder bei einmaliger Eingabe. :roll:

Meine Lösung : Ich habe in der Entwurfsansicht unter jedem Feld, was in der Suche berücksichtigt werden soll, folgenden Eintrag vorgenommen : WIE :Suche. (In jeder neuen Spalte derselbe Eintrag). Natürlich dürfen die Einträge nicht in einer Reihe stehen, sondern müssen in den weiteren "Oder" Feldern immer versetzt stehen.

Klar, daß man nur Felder absuchen kann, die den gleichen Datentyp haben. Bei einer Kundendatenbank sind dies aber sowieso meist der Datentyp Text. Suchen kann man dann mit "%" als Platzhalter für beliebig viele Zeichen. %Hermann% z.B. würde alle Datensätze anzeigen in denen irgendwie das Wort Hermann vorkommt.

Ich würde mich über eure Meinungen zu dieser Idee sehr freuen. Probiert aus und postet eure Erfahrungen bzw. Verbesserungen.

Thats all folks
pvane

Nach oben