Ik bouw een database in Access voor een bedrijf dat zich bezig houdt met muziekproducties. Er zitten o.a. relaties (leveranciers, opdrachtgevers en artiesten) in het systeem. In 1 van de tabellen wordt vastgelegd wat voor soort relatie het betreft (een relatie kan verschillende soorten hebben). Het soort relatie wordt in 3 niveaus vastgelegd met keuzelijsten. Als niveau1 gekozen is, moet de keuzemogelijkheid voor niveau2 en niveau3 beperkt worden. De keuzelijsten zijn dus aan elkaar gerelateerd.
Het lukt mij niet om deze constructie aan de praat te krijgen. Ik ben al wel zo ver dat ik niveau2 kan laten afhangen van niveau1. Maar onbedoeld worden alle records bijgewerkt. Voorbeeld: je kiest voor een eerste soort artiesten/zang/sopraan (dit gaat goed). Vervolgens een tweede soort arrangeurs/klassiek. Dit gaat ook goed, alleen nu is zang in de eerste rij veranderd in allround.
Weet iemand van jullie of ik iets over het hoofd zie?
Hier de gegevens:
Tabel TabRel050 (soort relatie):
Tabel TabRel051 (omschrijving soort relatie):
Voorbeeld:
Formulier:

Recordsource niveau1:
Recordsource niveau2:
Recordsource niveau3:
Het lukt mij niet om deze constructie aan de praat te krijgen. Ik ben al wel zo ver dat ik niveau2 kan laten afhangen van niveau1. Maar onbedoeld worden alle records bijgewerkt. Voorbeeld: je kiest voor een eerste soort artiesten/zang/sopraan (dit gaat goed). Vervolgens een tweede soort arrangeurs/klassiek. Dit gaat ook goed, alleen nu is zang in de eerste rij veranderd in allround.
Weet iemand van jullie of ik iets over het hoofd zie?
Hier de gegevens:
Tabel TabRel050 (soort relatie):
code:
1
2
3
4
5
| VELDNAAM TYPE OMSCHRIJVING relnr numeriek relatienummer niveau1 numeriek hoogste niveau waarmee soort relatie wordt beschreven niveau2 numeriek onderverdeling van niveau1 niveau3 numeriek verdere specificatie |
Tabel TabRel051 (omschrijving soort relatie):
code:
1
2
3
4
5
| VELDNAAM TYPE niveau1 numeriekl niveau2 numeriek niveau3 numeriek omschrijving tekst |
Voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
| NIVEAU1 NIVEAU2 NIVEAU3 OMSCHRIJVING 1 0 0 arrangeurs 1 1 0 allround 1 2 0 pop 1 3 0 jazz 1 4 0 klassiek 2 0 0 artiesten 2 1 0 zang 2 1 1 sopraan 2 1 2 alt etc. |
Formulier:

Recordsource niveau1:
code:
1
2
3
| SELECT DISTINCTROW TabRel051.omschrijving, TabRel051.niveau1 FROM TabRel051 WHERE (((TabRel051.niveau2)=0) AND ((TabRel051.niveau3)=0)); |
Recordsource niveau2:
code:
1
2
3
| SELECT DISTINCTROW TabRel051.omschrijving, TabRel051.niveau2 FROM TabRel051 WHERE (((TabRel051.niveau1)=[Formulieren]![FrmRel280]![niveau1]) AND ((TabRel051.niveau3)=0)); |
Recordsource niveau3:
code:
1
2
3
| SELECT DISTINCTROW TabRel051.omschrijving, TabRel051.niveau2 FROM TabRel051 WHERE (((TabRel051.niveau1)=[Formulieren]![FrmRel280]![niveau1]) AND ((TabRel051.niveau2)=[Formulieren]![FrmRel280]![niveau2])); |