Had jou script geplakt onder
Private Sub text4_onfocus() (dit is onderwerp)
en onder
Private Sub Form_GotFocus()
De functie moet je in ieder geval
niet onder een knop hangen, maar in een aparte module neerzetten. Er zaten een paar kleine foutjes in (komma vergeten bij een variabele declaratie bijvoorbeeld) dus ik ben hem aan het opschonen in jouw db.
Wat betreft de vraag over de keuzelijsten: Tabellen moeten in mijn optiek
altijd de opgeslagen waarden laten zien en niet de een of andere alias (naamveld bijvoorbeeld zoals jij doet) uit een gekoppelde tabel. Hoe weet jij welk ID klant 'Japie' heeft in de tabel [Werklijst] als je niet de waarde 12 ziet staan, maar 'Japie'? En waar denk je dat je op filtert als je een filter maakt: op 'Japie' of op 12? De vraag stellen is hem beantwoorden

. Je
ziet dus 'Japie', maar je
filtert op 12.... Dát is voor mij de belangrijkste reden om in tabellen
nooit keuzelijsten te gebruiken! Er zijn er meer trouwens: in exports (naar Excel bijvoorbeeld) krijg je óók de echte waarde (12) te zien, en niet 'Japie'. Nee, keuzelijsten horen echt niet thuis in een tabel!
Zoals ik al zei: keuzelijsten maak je op formulieren, en die baseer je dan uiteraard op de tabellen waar de gegevens uitkomen. Dus in het veld [Naam] (klantID leek mij logischer trouwens) sla je het KlantID op (12), maar in de keuzelijst zie je 'Japie'. De Afhankelijke kolom is dus de (meestal onzichtbare) kolom met het sleutelveld, en de overige velden gebruik je om de selectie te maken. Klanten.ID sla je dus op in Werklijst.KLant.
Er is één uitzondering op de regel: keuzelijsten die je baseert op een
lijst van waarden. Een keuzelijst [Geslacht] bijvoorbeeld, kent maar 2 of 3 opties. Daar maak ik dus geen tabel voor, maar gebruik ik een keuzelijst op basis van getypte waarden. Maar dat is ook echt het enige...