gekoppelde lijsten in velden

Status
Niet open voor verdere reacties.

Plotinus

Gebruiker
Lid geworden
25 mrt 2007
Berichten
659
Ik ben heel recent begonnen met Access, dus vrees dat ik een hele simpele vraag stel:

Ik heb een tabel gemaakt (zie bijlage) die heet 'kunstenaars'. In een veld ('Kunstcategorie') laat ik een keuze maken uit een gekoppelde tabel. En nu komt het: de keuze die daar gemaakt wordt moet bepalend zijn welke keuze in de volgende cel gemaakt kan worden. Wordt bij 'Kunstcategorie' 'Plastische kunst' geselecteerd, dan moet in de naastliggende cel (Discipline) enkel een keuze gemaakt kunnen worden uit de tabel 'Plastische kunsten'. Iemand een idee hoe dit aangepakt moet worden.

Zie bijlage als voorbeeld
 

Bijlagen

Plotinus,

Je hebt in je database voor iedere kuntcategorie een aparte tabel gemaakt dat wordt normaal niet gedaan.
Meestal wordt in zo'n geval de volgende tabellen aangemaakt.
Kunstenaar (inclusief een veld naar de subcategorie), KunstCategorie met een link naar kunstenaar en KunstSubCategorie waarin de volgende velden voorkomen:
ID, KunstCategorie (met link naar de tabel KunstCategorie) en Beroep waarbij je de beroepen opneemt uit de verschillende tabellen.
Als je nu een formulier maakt, vul je het veld Beroep op het formulier met de query
Code:
SELECT Beroep FROM KunstSubCategorie WHERE KunstCategorie = [formInvoerKunstenaar].[KunstCategorie]

Veel Succes.
 
Ik zou de koppeltabel niet KunstSubcategorie noemen, want dat lijkt mij erg verwarrend. Je hebt namelijk geen subcategorie onder Kunstcategorie. Als je die al zou hebben zou ik ze gewoon in Kunstcategorie zetten, met een extra veld ParentID zodat je een subcategorie aan een categorie kan hangen. Wél heb je een tabel Beroepen die in een categorie vallen. Dus in de categorie 'Plastische kunst' valt dan bijvoorbeeld 'Neuscorrecties', en 'Huidtransplantaties' :). Ik kan mij ook heel goed voorstellen dat een kunstenaar meerdere kunstvormen beoefent, en per kunstvorm meerdere stijlvormen. Daarvoor heb je dus een koppeltabel nodig waarin je de kunstenaar koppelt aan een (sub)categorie en een beroep.
Maar ik ben het met Elsendoorn eens dat je het aantal tabellen moet beperken, en daarbij moet kijken naar het soort gegeven dat je daarin opslaat. En een kunstvorm is één onderwerp, dus alle kunstvormen horen in één tabel thuis. En alle beroepen ook.
 
Dank Elsendoorn en OctaFish voor jullie reactie. Helaas is het nog even te hoog gegrepen, want ik vat het niet helemaal. Ik ga eerst nog wat hoofdstukjes bestuderen in mijn Access-boek van Wilred de Feiter, om wat basiskennis op te doen. Momenteel weet ik gewoon niet hoe dit aan te pakken; eenvoudige vraag, maar - voor mij - direct te ingewikkelde uitwerking. Wordt ongetwijfeld vervolgd.
 
Je kunt ook de Access cursus erbij pakken; daar staan de basis beginselen ook uitgelegd. (ik zal niet zeggen: uitstekend, aangezien ik ze zelf geschreven heb ;) ). Waar het dus om gaat, is dat je de verschillende identieke gegevens bij elkaar in een tabel zet. Beroepen zijn in beginsel precies dat: een beroep. En een kunstvorm is ook wat het is. Een beroep kan dan weer in een bepaalde categorie vallen, dus die kun je dan koppelen. Ik heb je tabellen een beetje opgeschoond, zodat je een idee krijgt wat we bedoelen. Overigens heb ik al je keuzelijsten in tabellen verwijderd (als je boek zegt dat je die moet gebruiken, dan zou ik dat boek in de open haard mieteren, want dan is het alleen geschikt als brandstof) en vervangen door tekstvelden. Waarom, dat staat dan weer in de cursus uitgelegd :). En dat geldt ook voor het veld Kunstwerken, dat a) in een eigen tabel thuishoort, en b) nooit een bijlage veld moet zijn maar een tekstveld. Uitleg: zie cursus :).
 

Bijlagen

Het is gelukt met de suggestie van Elsendoorn2134; ik moest er alleen nog een gebeurtenis van maken, zodat de query ook echt gerund werd na verandering. Dank!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan