Omdat Er komt username login in de textbox
Maar dan nog: waarom zou je dat doen? Die staat immers ook al in de keuzelijst? Nogmaals: (en ik heb nooit gezegd dat het niet kon, noella), het kan best wel, maar het is zo zinloos. Als je een username wilt in het tekstvak, dan is dat ofwel de gebruikersnaam die je kiest in de keuzelijst (en dat is simpel op te lossen), ofwel je gebruikt de ingelogde gebruiker om de user te selecteren (ook logisch; waarom zou je inloggen als iemand anders?). In het tweede geval kun je op basis van de login naam van de gebruiker automatisch de juiste gegevens op laten zoeken in het systeem. Wat dus
niet logisch is, is dat je de db opstart
zonder één van deze twee opties, maar een gebruiker een naam in het tekstvak in laat typen, en dat je dan een actie laat uitvoeren (met een knop?) die de gebruiker opzoekt en vervolgens
dezelfde informatie in de keuzelijst ophaalt. Is zó onlogisch....
Nog afgezien van het feit dat je in een keuzelijst veel beter en behoorlijk foutloos een gebruiker(naam) kan opzoeken dan dat je die zelf in moet typen, met alle kans op typefouten. Nogmaals dus mijn vraag: wat is je proces precies?
Kleine aanvulling nog: wat mij wél logisch lijkt, is dat je in het tekstvak van de keuzelijst met invoervak de naam invoert, en bij de keuze ervan vervolgens de username in het tekstvak zet met de formule =[cmbnama].[column](1).
En om je een idee te geven hoe je het kan oplossen op de manier zoals je het vraagt, deze code:
Code:
Private Sub Nama_AfterUpdate()
Dim res As Variant
res = DLookup("[NamaID]", "[Nama]", "[Nama] = """ & Me.Nama.Value & """")
If IsNull(res) Then Exit Sub
Me.cmbnama.Value = res
Me.Cabang.SetFocus
End Sub
Deze doet dus niets als je een foute naam invoert, en zoekt de juiste persoon op als die wél bestaat. Doe er je voordeel mee....