autonummering aanpassen

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.697
Hallo,

volgend probleem

een database bevat een 1000 tal records met een ID veld dat van het type autonummering is
er is via deze autonummering een link met een andere database
om een of andere reden is er een record uit de eerste database weg (nl nr725)
dus de link werkt niet meer
ik kan een nieuwe, identieke record toevoegen maar dan is de nummering niet meer correct en manueel kan ik die niet aanpassen.

Ik las hier op het forum een nieuw veld toe te voegen met autonummering als type
maar, dan kloppen de cijfers niet meer met het origineel, dus ook de link niet

dit is dus geen optie
de oude cijfers moeten identiek aan de corresponderende naam gelinkt blijven anders draait alles in de soep

Graag jullie (wijze) raad

merci
JP
 
In de soep ligt het natuurlijk al, want je hebt een record niet meer, dus het Autonummer is ook foetsie. De link kun je nog wel aanpassen, door de Join aan te passen. Standaard is dat een Inner Join (records moeten in beide tabellen aanwezig zijn), maar je zou hem in dit geval kunnen aanpassen naar een Outer Join. Dat doe je door in het relaties venster te klikken op de knop <Jointype) en ofwel optie 2, ofwel optie 3 te kiezen. Welke je moet hebben is lastig te zeggen, in beginsel zijn ze hetzelfde alleen kijkt de ene variant naar de linker tabel, en de andere variant naar de rechter.
Dat is één optie. Er is er nog een: het veld Autonummer omzetten naar Numeriek. Je krijgt dan echter geen automatische nieuwe nummers meer, dus je zult de nummering op een andere manier moeten automatiseren, bijvoorbeeld via een standaardwaarde: =DMax("ID";"Tabelnaam") +1 werkt meestal wel goed. Voordeel daarvan is dat je nummers ook altijd blijven aansluiten, ook als je een keer een record aanmaakt en weer weggooit. De nummers 'lopen' niet meer weg.
 
als ik nummerkes aanmaak en ik schrap er een, dan krijg ik dubbele nummers.... ook ni ok he..
 
En ik maar denken dat je het ID veld als sleutel gebruikt.... Met mijn formule krijg je overigens geen dubbele nummers, maar oplopende waarden. En dat is ook precies de bedoeling ervan!
 
OK, maar ANDERE cijfers dan initieel... dus link is niet meer correct
 
De link is zowiezo niet correct, want je hebt een record aan de ene kant weggegooid en aan de andere kant niet. Je wilt de nummering (terecht uiteraard) niet omhoogschuiven om het ontbrekende nummer aan te vullen, maar als je het ontbrekende nummer weer wilt toevoegen aan je tabel, dan kan dat alleen als je handmatig gaat nummeren in die kolom. Lijkt mij logisch dat je record nr725 weer vult met de gegevens die er uit zijn...
Je kunt daarna het veld niet terugzetten naar Autonummering, want dat gaat niet; hooguit kun je een nieuw Autonummerveld toevoegen. Dat zal dan uiteindelijk hetzelfde nummer opleveren als je nu als hoogste nummer hebt, alleen is de koppeling met de records anders. Als je toch Autonummering wilt gebruiken, dan zul je een hoop wisseltruuks moeten uithalen met extra velden, want dan kun je alle records nog wel 'verplaatsen' naar de juiste Autonummers. Maar dat is een aardige klus...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan