afhankelijk keuzelijst maken

Status
Niet open voor verdere reacties.

Herman_Janssen

Nieuwe gebruiker
Lid geworden
25 feb 2004
Berichten
4
Ik ben erg maagdelijk wat betreft Access. Heb net heb boek "basis cursus access 2000" doorgewerkt. :-)
Wat ik nu wil maken is een keuzelijst die afhankelijk is van de keuze uit een andere keuze lijst. (tenminste, ik denk dat ik dat wil)
Ik heb een db met plaats- en straatnamen en x,y locatie in Nederland (postkode tabel). Via een formulier (?) wil ik een keuze kunnen maken van eerst de plaatsnaam, vervolgens de straatnaam (die bij die plaats hoort), en daar komt dan vervolgens de x,y coordinaat uit. Aangezien ik zo'n newbie ben, heb ik eigenlijk geen idee waar ik moet beginnen. Ik heb al wel een formulier met een keuzelijst waar ik de plaats kan selecteren. Alleen hoe maak ik het nou zo dat er een andere keuze lijst is die de bijbehoorde straatnamen laat kiezen en vervolgens de x,y coordinaat toont?
 
Een klein beetje afhankelijk van de opbouw van de tabellen, maar dit is ongeveer waar je aan moet denken.

De keuzelijst met plaatsnamen levert een waarde op. Als je nu een nieuwe keuzelijst maakt die in de gegevensbron een query bevat die afhankelijk is van de waarde van de eerste keuzelijst dan ben je al een heel eind.

De query kun je maken door op "..." te klikken achter gegevensbron. De query bevat de kolom met straatnamen en de kolom met plaatsnamen (onzichtbaar) waarbij je in het criterium gedeelte verwijst naar de keuzelijst op je formulier.

Dezelfde truc kun je vervolgens toepassen op een keuzelijst waarin de coordinaten getoond moeten worden.


Suc6,
 
Thanks!

Na wat gepruts (waar stond die naam van die keuzelijst nou... en hoe zet je dat in een nieuwe query....) is het me gelukt! Mijn query zit er nu zo uit:
Eerste query (deze heb ik plaats_gekozen genoemd):SELECT DISTINCT dbo_geo_postkode_lokatie1.plts_naam_nen
FROM dbo_geo_postkode_lokatie1
ORDER BY dbo_geo_postkode_lokatie1.plts_naam_nen;
Tweede:
SELECT DISTINCT [dbo_geo_postkode_lokatie1].[strt_naam_nen]
FROM dbo_geo_postkode_lokatie1
WHERE ([dbo_geo_postkode_lokatie1].[plts_naam_nen]=[plaats_gekozen]);

Dit werkt goed.
Alleen,.... Als ik een andere plaatsnaam invul, dan krijg ik bij de straatnamen nog steeds de straten van de oude plaatsnaam. Er moet vast wel ergens een optie zijn om er voor te zorgen dat het tweede keuzevakje iedere keer opnieuw de query draait. Maar waar? Of moet ik hier een nieuw probleempje van maken en deze sluiten (op zich issie opgelost natuurlijk):thumb:
 
De oplossing van dit kleine euveltje is op zich ook eenvoudig.

Als je de eigenschappen gaat bekijken van de keuzebox met de plaatsnamen zie je bij de events (Gebeurtenissen geloof ik in het nederlands) een OnChange event staan. Als je in de Event Procedure (de Gebeurtenis Procedure?) de voldgende code zet:

Code:
me.naampostcodebox.requery

Dan wordt bij het wijzigen van de eerste keuzelijst de tweede ververst. Hierbij neemt ie de waarde van de eerste keuzelijst mee en zie je dus de juiste postcodes.


Suc6,
 
Super !!:)
Het werkt. Ik neem aan dat dit VBS is? Is er ergens een overzicht van de commando's van dat VBS. Ik vrees dat je het nogal wat vaker nodig hebt als je met Access werkt.
 
De taal die je achter de schermen van access gebruikt is VBA (Visual Basic for Applications).

De help-file van Access m.b.t. VBA is (in tegenstelling tot menig andere helpfile) redelijk compleet en duidelijk.

Om erachter te komen hoe je iets voor elkaar krijgt in VBA kun je ook eens een macro bouwen, en die converteren naar VBA.


Grtz,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan