Primay Key probleem.

Status
Niet open voor verdere reacties.

CODFTW

Gebruiker
Lid geworden
6 mei 2009
Berichten
49
Met access heb ik zoals misschien al bekend van mijn vorige topics :P een applicatie gemaakt met een schakenbord ectra.

Nu heb ik allemaal formulieren waarvan 1 een probleem heeft hij haalt zijn gegevens uit een tabel en schrijft die daar ook heen. Maar omdat een tabel een verplichte Primary Key heeft kan ik bijv 1 sofinummer maar 1 keer gebruiken maar ik moet meerdere keren die formulieren invullen en dus soms die gegeven sofinummer vaker gebruiken. Dan zou je denken dan geef je de Primary Key aan een ander bijv: KlantID maar dan krijg je hetzelfde probleem. Is het mogelijk om die Primary Keys te omzeilen zodat ik dat probleem niet heb.
 
De bedoeling van een Primaire sleutel is dat je de sleutel maar één keer gebruikt. Anders heb je er weinig aan. Je wilt dus gegevens in je tabel kunnen herkennen, en daarvoor gebruik je dus de sleutel. Er is dan ook geen enkele reden te bedenken om een sleutelwaarde in een tabel meerdere keren te kunnen invoeren.

Er zijn twee oorzaken die ik zo kan verzinnen voor je probleem:
1. Je probeert hetzelfde record meer dan één keer in te voeren in je tabel.
2. Je probeert in een gerelateerde tabel records van een bepaalde sleutel toe toe te voegen.

Ad 1. Dat is dus niet de bedoeling.... Een klant krijgt één sleutelwaarde, en die moet uniek blijven. Als een klant bijvoorbeeld verhuist, dan muteer je het adres, maar je maakt geen nieuw record aan voor die klant met dezelfde sleutelwaarde. Access kan dan namelijk de klantgegevens nooit meer goed opzoeken.
Ad 2. Je hebt bijvoorbeeld een tabel Verkoop, waarin je verkooporders vastlegt. Uiteraard wil je dan vastleggen welke klant wat koopt, dus je hebt het veld KlantID netjes opgenomen in de tabel Verkoop. Als je nu van het veld KlantID in de tabel Verkoop een sleutelveld maakt, dan creëer je de situatie dat elke klant maar één keer iets mag kopen. Commercieel gezien geen handige zet ;) In de tabel Verkoop heb je wel een sleutel nodig, bijvoorbeeld VerkoopID; het veld KlantID is echter nooit een sleutel. Vanwege dus het feit dat een klant best meerdere keren mag kopen, en dus meerdere keren voorkomt in de tabel Verkoop.

Aan jou de vraag: welke situatie is bij jou van toepassing?
 
Situatie 2 ik moet alles in de tabel meerdere keren kunnen gebruiken met de zelfde gegevens bijv bij sofinummer 2 keer dezelfde. Maar de primaire sleutel blokeert me.
 
Laatst bewerkt:
Je opzet deugt dan niet.
Sluit even je bestand bij, in Access 2003 formaat.

Vertel ook even in Jip en Janneke taal wat je precies van plan bent te doen.

Grtz,

Tardis
 
Ik sluit me bij Tardis aan, ik vemoed dat je tabel danniet deugt.
Je wilt dus het SOFI (BSN nummer neem ik aan...) meerdere keren gebruiken in tabel A? Dat kan dus alleen als het SOFI nummer geen sleutel is, maar daar was je al achter. Mijn vraag is dan: het SOFI nummer hoort bij een persoon, en dus persoonsgegevens. In welke tabel heb je die staan? Of staan die in dezelfde tabel A?
Graag dus wat meer informatie over welke tabellen je gebruikt, en vooral: waarvoor je ze wilt gebruiken....
 
Ik heb het probleem opgelost door in de tabel die het formulier gebruikt meerdere primary keys toe te wijzen zo werkt het wel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan