Om te beginnen: de keuzelijst die je hebt gemaakt, zou je helemaal niet uit een tabel moeten halen. Er staan maar twee waarden in, dus je kunt de lijst veel beter maken met de <Lijst met waarden> als rijbron. Bij Rijbron typ je dan: "Dhr.";"Mevr." als keuzeopties. Bij <Besturingselementbron> kies je dan het veld in de tabel waarin je de keuze wilt opslaan.
Het aantal rijen verlagen van 8 naar 2 heeft niet zoveel zin, want al maak je er 40 van, als je twee opties hebt, zie je er echt maar 2. De breedte van de lijst kan zelfs wel 1,5 cm zijn, en de kolombreedte 1 cm, dan nog zie je de hele kolom.
De rijbron die je met de wizard hebt gemaakt, zal nooit goed gaan werken. De reden daarvoor is, dat je de verkeerde tabel hebt gekozen als basis voor de keuzelijst. De wizard zal (bijna) altijd het sleutelveld uit de gekozen tabel selecteren, samen met de andere velden die je wilt zien; in dit geval dus het veld Geslacht. Het sleutelveld uit de tabel [Activiteiten] is blijkbaar het veld [Activiteiten nummer], dus dat zet Access er netjes voor je bij. In het veld geslacht zal dan ook, bij normale doorloop van de wizard, dit veld gebruiken om op te slaan in je tabel. En vermoedelijk is dat ook de tabel [Activiteiten]...
Kortom: als je een keuzelijst wilt gebruiken om waarden in tabel A te vullen, dan moet je de keuzelijst baseren op tabel B. Deze tabel (B dus) moet de waarden bevatten die geselecteerd kunnen worden. In jouw geval zou je dus een aparte tabel moeten maken voor de Geslachten. Deze tabel bevat dan minstens één veld (Geslacht) waarin je de twee opties invult. Vervolgens maak je een keuzelijst op basis van de tabel Geslacht, en dan werkt het prima. (Je snapt nu hopelijk, waarom ik in het begin voorstelde om daar een simpele lijst van te maken...)
De reden dat jouw oorspronkelijke keuzelijst niet werkte, lag dus in het feit dat het Activiteiten nummer werd gebruikt, en niet het Geslacht. Door het activiteitennummer er zelf uit te gooien, hield je weliswaar het juiste veld over, maar je zou alsnog in de problemen zijn gekomen op een later tijdstip. Waarom? Omdat je de tabel Activiteiten als basis gebruikt. En de keuzelijst laat in zijn huidige vorm alle records zien uit die tabel. Als je dus 30 activiteiten records hebt, zul je ook 30 keer een geslacht te zijn krijgen, uiteraard allemaal dubbele.
Je zult dus op zijn minst de code als volgt moeten aanpassen:
Code:
SELECT [Geslacht] FROM [ACTIVITEITEN]
GROUP BY [Geslacht]
ORDER BY [Geslacht]
Nogmaals: omdat het een hele simpele keuzelijst is, kun je veel beter <Lijst met waarden> gebruiken. Dat is simpeler, en uiteindelijk veel sneller, omdat je geen extra (overbodige) query op je formulier!