Toevoegquerry gebruiken als keuzelijst met invoervak

Status
Niet open voor verdere reacties.

oromis7000

Gebruiker
Lid geworden
2 jan 2012
Berichten
8
Beste


Is er een mogelijkheid om een toevoegquery in MS Access te gebruiken als keuzelijst met invoervak in een tabel. Ik heb namelijk het volgende probleem. Ik probeer een databank aan te maken en heb daarin twee door relaties gekoppelde tabellen. Nu wanneer ik in de ene tabel een keuzelijst met invoervak maak dan kan ik perfect de gegevens uit de andere tabel kiezen. Wil ik echter een waarde toevoegen die hier nog niet in staat krijg ik een foutmelding "de tekst die u hebt ingevoerd, is geen item in de lijst.". Nu was het eigenlijk de bedoeling dat hij deze nieuwe waarde dan automatisch zou toevoegen aan de andere tabel vanuit deze tabel. Is er een mogelijkheid dit te doen?

Alvast bedankt
 
OK, ik denk dat ik je vraag snap. Laten we bij het principiële beginnen: gebruik nooit keuzelijsten op basis van tabellen in een tabel. Die zijn bedoeld voor Formulieren. Ja, ik weet dat Microsoft het mogelijk heeft gemaakt. En Ja, ik weet dat beginnende 'ontwerpers' daar dankbaar gebruik van maken. Maar ik weet ook dat je je daar ongelooflijk veel problemen mee op de hals haalt, zo niet gelijk wellicht maar op zeker wel in de toekomst. Naast de onvermijdelijke problemen (die niet het principiële probleem zijn) is er nog een veel groter probleem: als je keuzelijsten gebruikt in een tabel, zie je niet meer wat je opslaat. En dat is bijzonder onwenselijk als je een tabel bekijkt. Dan wil je namelijk niet de naam van de klant zien. In een tabel is het noodzakelijk dat je altijd de werkelijk opgeslagen waarde kunt zien. De oplossing voor dit probleem is dus heel simpel: verander het type terug naar Tekstveld, en dit 'probleem is opgelost.'

Nu je vraag. Ik heb de oplossing al een beetje verraden: keuzelijsten (met invoervak) horen thuis op een Formulier. Dáár maak je dus wél keuzelijsten op basis van een tabel, en die doen dan precies hetzelfde (en beter) als de keuzelijst die je nu hebt gemaakt. Aan een keuzelijst op een formulier kun je acties hangen, en één van die acties is de gebeurtenis <Bij niet in lijst>. En die wordt dus gestart op het moment dat jij een keuze maakt in die keuzelijst die niet bestaat. Die actie kan op twee manieren worden uitgevoerd. Optie 1: je hebt een tabel in je keuzelijst waar maar één waarde wordt ingevuld. Denk aan een tabel met landnamen. Dan kun je met de trigger dat ingetypte land automatisch toevoegen aan de keuzelijst en gelijk gebruiken.
Optie twee is iets ingewikkelder, maar kan meer. Je opent nu een tweede formulier waarin je de gewenste nieuwe waarde (die je hebt getypt) invult, en waarop je vervolgens ook andere informatie kan aanvullen. Denk aan een nieuwe klant: je vult de klantnaam in op de keuzelijst, en als de klant niet bestaat wordt het klantenformulier geopend en kun je de klantgegevens invullen. Bij het sluiten van het klantenformulier zie je de klant netjes terug in je keuzelijst.

Dat betekent dus wel dat je e.e.a. moet programmeren, want anders krijg je het nooit aan de praat. Een voorbeeldje staat in dit draadje. Hier wordt een formulier gebruikt. Als je in het Access forum zoekt op "NotInList" krijg je nog veel meer voorbeelden, want deze vraag komt regelmatig langs :).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan