ich habe ein formular mit einem textfeld und einer listbox. ich will nun erreichen, dass sobald der benutzer einen namen in das textfeld eingibt, die listbox alle möglichen namen anzeigt.
also so, dass wenn der benutzer zuerst den buchstaben M eingeibt, schon alle namen mit M in der listbox angezeigt werden. gibt der benutzer als zweiten buchsaben ein A ein, so sollen alle namen angezeigt werden sie mit MA beginnen usw.
Rasta’s Code ist genau Richtig. Nur sein Select durchsucht einen Teil des Feldinhaltes, d.h. wenn du in deiner Box ein H als ersten Buchstaben eingibst, kommen auch Namen wie z.b. Kahn in deine Liste.
Falls du nur nach dem Anfang des Feldes suchen willst, lasse einfach das erste ‚%‘ weg.
select * from tabelle where name like ‚" & suchbegriff & "%‘
Beim Change-Event der Box musst du die Suchabfrage erneut starten und den Inhalt der Listbox neu füllen.
Das Change-Event wird bei jeder Änderung innerhalb der Box ausgelöst.
Kann natürlich dadurch passieren das es, besonders bei vielen Kundendaten, ein wenig Schleppend wirkt.
Gruss,
Bommel
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
also ich habe das jetz mal so gemacht wie deu es empfohlen hast. aber leider taucht in meiner listbox immer noch nix auf. kann sein das ich die if-anweisung falsch hab.
also bei mir schaut das jetz wie folgt aus.
beim change-event im textfeld passiertfolgendes:
Set RS = DB.OpenRecordSet(„Select * from DVD where Titel like '“ & Textfeld.Text & " % '")
If Not RS.EOF then
listbox.AddItem RS.Titel
RS.MoveNext
End If
hab ich da jetz was falsch gemacht oder etwas übersehen??