referentiële integriteit

Status
Niet open voor verdere reacties.

DukeOfEarl

Gebruiker
Lid geworden
20 mei 2015
Berichten
77
hallo forumleden,

1 tabel met Personeelsleden tbl-Personeel
1 tabel met Opdrachten tbl-Opdrachten

in de tbl-Opdrachten staan o.a. 1 veld met de naam van het Personeelslid dat de opdracht invoert
en 1 veld met de naam van het Personeelslid dat de opdracht moet uitvoeren.

beide velden worden ingevuld d.m.v. een zelfde keuzelijst met invoervak (gebaseerd op de tbl-Personeel)

wanneer ik de referentiële integriteit wil instellen tussen de tbl-Personeel (Personeelslid) en de BEIDE velden in de tbl-Opdrachten,
krijg ik in het scherm RELATIES wel degelijk de gewenste één-op-veel relaties te zien,
MAAR de tbl-Personeel wordt 2 x weergegeven: 1 x als tbl-Personeel en 1 x aks tbl-Personeel_1
de tbl-Personeel legt dan de gewenste relatie met het Veld van de Invoerder
en tbl-Personeel_1 legt de gewenste relatie met het vald van de Uitvoerder.

alles werkt, dus geen probleem, denk ik :) maar ben een beetje argwanend/ongerust omdat de tbl-Personeel dus 2 x in het relatiescherm
voorkomt. Doe ik iets fout of maak ik me nodeloos wat zorgen?
 
Je maakt je nodeloos zorgen. Ik overigens wellicht ook, want hoe moet ik dit lezen?
beide velden worden ingevuld d.m.v. een zelfde keuzelijst met invoervak (gebaseerd op de tbl-Personeel)
Je vult toch niet de velden Opdrachtgever en Uitvoerder met dezelfde naam? Kan misschien een keer voorkomen, maar altijd?
Overigens schrik ik ook een beetje van
... 1 veld met de naam van het Personeelslid
Je slaat toch hoop ik het sleutelveld op, en niet de naam?

In een relatievenster mag een tabel maar één keer voorkomen. De tweede instantie van een tabel zal dus altijd een andere naam krijgen. Als het goed is, sla je in beide velden ook steeds een andere waarde op, dus je moet dat wel uit een kopie van de tabel halen, ook al zijn het dezelfde mensen.
Als je op je formulier keuzelijsten (met invoervak) gebruikt, hoeft je overigens niet te koppelen; de keuzelijst laat immers alleen maar medewerkers zien die in de tabel staan. Daarmee is de integriteit dus al afgedwongen!
 
bedankt Octafish voor de uitleg !

noot: 1. Opdrachtgever en uitvoerder kunnen soms wel eens gelijk zijn (zgn. reminder voor zichzelf)
2. sla inderdaad het sleutelveld op (ipv de eigenlijke naam)
3. kan me zelf wel voor het hoofd slaan
"Als je op je formulier keuzelijsten (met invoervak) gebruikt, hoeft je overigens niet te koppelen; de keuzelijst laat immers alleen maar medewerkers
zien die in de tabel staan. Daarmee is de integriteit dus al afgedwongen!"
zo ver had ik nog niet nagedacht :o

ben nu gerust; nogmaals bedankt voor je (snelle) uitleg/hulp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan