het is een stuk makkelijker als je een (overzichtelijke)form heb staan en daardoor het andere formuliet ook overzichtelijk laat waar al genoeg andere info op staat zoals wat er is gekocht (en geloof me dat is veel info wat daar komt te staan) dan kan ik beter een knopje hebben waar een forumiertje achterhangt waar je overzichtelijk kunt zoeken. dat lijkt mij gebruiks vriendelijker dan een keuzelijst in dit geval.
En toch blijf ik beweren dat deze werkwijze helemaal niet gebruiksvriendelijk is. Stel dat je dat formulier straks kunt openen, wat heb je dan bereikt? Je moet nog steeds een klant opzoeken, dus je hebt ook daar een opzoeklijst nodig. Vervolgens moet je de geselecteerde klant weer overzetten, dus daar heb je ook een knop voor nodig, bijvoorbeeld de Sluiten knop van het formulier.
In totaal ben je dus een hele hoop klikjes verder:
een klik om het menu te openen, minstens twee klikken om een klant te selecteren, al dan niet in combinatie met schuiven in de lijst, een klik om de gevonden klant te selecteren en een klik om het adres naar je formulier te transporteren.
Vergelijk dat eens met het gemak van een keuzelijst op je hoofdformulier: een klik om de lijst te openen, schuiven in de lijst, of intikken van de beginletters van de naam, om een klant te zoeken, en een klik om de klant te selecteren. Niet alleen veel minder klikken, dus gebruiksvriendelijker, maar ook nog een stuk sneller!
Bovendien: als ik klantgegevens nodig heb voor een formulier, dan kan ik die klant afdoende definiëren op basis van zijn naam, adres en woonplaats. Overige gegevens, zoals eerdere bestellingen, zijn helemaal niet relevant voor het opzoeken van een klantnaam. En leidt nog af ook, want je gaat onbewust toch kijken naar de gegevens die er staan, dus je verliest tijd.
Op het gevaar af in herhaling te vallen, leg ik de juiste (in mijn ogen dan uiteraard) procedure nog één keer uit...
Om op je formulier Bestellingen een Klant te kunnen kiezen, heb je in beginsel één keuzelijst met invoervak nodig. In deze lijst plaats je als eerste veld het KlantID, gevolgd door Klantnaam, Adres en Woonplaats. Bij de opmaak van de keuzelijst maak je de breedte van de eerste kolom 0 cm, de overige kolommen maak je zo breed dat de gegevens goed leesbaar zijn. Als je de keuzelijst met de Wizard maakt, kun je deze stappen visueel doen, doordat in een fase je de gegevens uit de tabel Klanten te zien krijgt zoals ze in de keuzelijst worden weergegeven. Door de breedte van de kolommen aan te passen a.d.h.v. de getoonde gegevens maak je de lijst dan op. Access zal automatisch het Sleutelveld toevoegen, en die kolom onzichtbaar maken, zodat je kunt sorteren op Achternaam (bijvoorbeeld). De keuzelijst koppel je vervolgens aan het veld KlantID in de tabel die als basis dient voor het formulier.
Als je ook wilt kunnen zoeken op Plaatsnaam of Adres, dan kun je nog een tweede en derde keuzelijst maken, waarbij je dan het veld Adres of Plaatsnaam als eerste selecteert, en daar ook op sorteert. Beide extra keuzelijsten koppel je nog steeds aan KlantID, want het gaat uiteraard nog steeds om dezelfde klant.
Het effect is nu, dat als je één van de drie keuzelijsten gebruikt, de overige twee keuzelijsten ook worden gevuld met dezelfde klant, want het gaat immers om dezelfde klantID.
In het gebruik van de keuzelijsten open je dus de lijst, en begin je met de beginletters in te typen. Als er genoeg letters zijn getypt, heb je de klant gevonden; anders kun je hem ook uit de geslonken lijst selecteren.
Wat nu als de klantnaam die je intypt geen klant vindt? Dan kun je de ingetypte naam automatisch toe laten voegen aan de tabel Klanten via de gebeurtenis <Bij niet in Lijst> (<NotInList). Via deze gebeurtenis open je het formulier Klanten, voeg je alle bekende klantgegevens toe, en sluit je het formulier. Vervolgens zie je de juiste klantgegevens dan ingevuld in je klantenformulier.
Ik hoop dat je nu een beetje begrijpt hoe een keuzelijst werkt, en dat ik je alsnog heb afgeholpen van het onzalige idee om voor het selecteren van een klant eerst een klantformulier te openen... Persoonlijk sta ik absoluut niet te popelen om iemand te helpen met een (in mijn ogen) volkomen onzinnig idee... Dus tenzij je mij ervan kunt overtuigen dat het ècht niet anders kan dan via een Klantenformulier, zul je de noodzakelijke code van mij voorlopig niet krijgen...