Primary key en wizard form

  • Onderwerp starter Onderwerp starter N91
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

N91

Nieuwe gebruiker
Lid geworden
14 jul 2014
Berichten
4
Ik heb een primary key bepaald die achteraf gezien niet correct is, nu zijn er meerdere wizard forms die uit deze tabel gegevens inladen, wanneer ik de PK echter aanpas werkt dit niet meer terwijl ik volgens mij nergens de PK gebruik in de verwijzing, de nieuwe PK was namelijk al het veld waardoor de twee tabellen gekoppeld werden. Waar zou dit mis kunnen gaan en kan ik dit simpel oplossen?
 
Je legt iets uit dat als zodanig als probleem niet kan bestaan, dus ik vermoed dat er toch iets anders speelt. Niet je formulieren zijn overigens gekoppeld, maar de tabellen. En als een koppeling tussen de tabellen niet correct is, werkt je formulier natuurlijk ook niet goed meer. Wat klopt er volgens mij niet in je vraag?
... terwijl ik volgens mij nergens de PK gebruik in de verwijzing, de nieuwe PK was namelijk al het veld waardoor de twee tabellen gekoppeld werden.
De hoofdtabel koppel je met het sleutelveld aan de afhankelijke tabel waarin je het sleutelveld uit de hoofdtabel laat terugkomen. In je tweede tabel is dat uiteraard geen sleutelveld. Je kunt een eenmaal gelegde relatie nooit zomaar veranderen. Wél kun je, als je die optie tenminste hebt aangezet, en je sleutelveld geen Autonummerveld is, de afhankelijke tabellen laten bijwerken op het moment dat je het sleutelveld verandert. En dat was natuurlijk de makkelijkste optie geweest. Stel dat je een sleutel hebt gemaakt op basis van 4 cijfers (0001 - 9999) en je komt er achter dat je daar te weinig aan hebt, dan kun je met een bijwerkquery het sleutelveld omzetten naar JJMM-#### (14-07-1223 bijvoorbeeld; 2 cijfers jaartal + 2 cijfers maand + originele nummer). De afhankelijke tabellen zijn dan ook gelijk bijgewerkt.

Een lastigere weg is om eerst een nieuw veld in je tabel te maken met daarin de juiste unieke nummers, vervolgens de relatie tussen de 2 tabellen te verwijderen, eventueel een nieuw veld in de gekoppelde tabel te maken, en dan met een bijwerkquery dat veld te vullen, waarbij je de 2 tabellen handmatig koppelt op basis van het oude sleutelveld. Als de afhankelijke tabellen de nieuwe sleutelwaarden hebben, kun je het oude sleutelveld verwijderen of omzetten naar een gewoon veld, het nieuwe sleutelveld instellen als Primaire sleutel, en de tabellen dan weer opnieuw koppelen. Het oude sleutelveld zou dan weg kunnen. Dat zou genoeg moeten zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan