Combobox "Klant", afterupdate

Status
Niet open voor verdere reacties.

Dirkenheidi

Gebruiker
Lid geworden
10 jan 2013
Berichten
9
Ik heb een keuzelijst met 2 waarden : 1 onzichtbaar = KlantId en 1 zichtbaar = Bedrijfsnaam. Bij het kiezen in het veld zie je bedrijfsnaam in oplopende volgorde.
Nu , we hebben ongeveer 1500 klanten en soms zij er medewerkers die een klant niet op dezelfde manier benamen.
Voorbeeld ; Je kan "Tanghe drukkerij" in voeren als nieuwe klant maar anders zoals "Drukkerij Tanghe. Is er nu een manier om via vba een code te schrijven die zoekt in
de tabel klanten als je "Tanghe" intypt die zegt hoe Tanghe op welke manier ingevuld is in de tabel, door MsgBox te laten verschijnen met de gezochte naam?
Maar ik heb wel de waarde KlantId nodig in dit veld.
Mvg, Dirk
 
Je zou dan een apart tekstvak moeten maken die je gebruikt om (bijvoorbeeld een standaard keuzelijst) te vullen met treffers. In een keuzelijst met invoervak zoek je altijd vanaf het begin van de tekst, dus je moet een omweg bewandelen als je in de tabel wilt controleren of een vergelijkbare naam al bestaat.
 
Op basis van Northwind en de tabel Customers krijg je dan zoiets:
Een tekstvak <txtCompany> waarin je de tekst typt die je zoekt.
Code:
Private Sub txtCompany_Change()
Dim strSQL As String
    strSQL = "SELECT CustomerID, CompanyName FROM Customers " _
        & "WHERE ((CompanyName Like '*" & Me.txtCompany.Text & "*'))" _
        & "ORDER BY CompanyName;"
    Me.lstCompany.RowSource = strSQL
    Me.lstCompany.Requery
End Sub
En de code op de keuzelijst <lstCompany> als je een record aanklikt.
Code:
Private Sub lstCompany_Click()
Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[CustomerID] = '" & Me![lstCompany] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Die laatste zal je al wel hebben.
 
Combobox

michel bedankt. Ik had zo'n vermoeden dat het via een omweg moest gebeuren. Maar
de oplosing vond ik nog niet. Bij deze wel . Bedankt.
 
Mag je de vraag nog op <Opgelost> zetten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan