Autonummering (sleutel) ophogen

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

AdvB

Gebruiker
Lid geworden
1 jul 2021
Berichten
48
ik ben me bewust dat de vraag al vaker is gesteld maar ik kom ook antwoorden tegen uit 2012, dat is een tijdje geleden.
Misschien zijn er nieuwere oplossingen.

Ik heb, en dat is misschien iet slim geweest, de autonummering gebruikt als "boekstuknummer".
daarmee was t gegarandeerd dat het boekstuknummer uniek is.
Octafish heeft, gezien antwoorden op eerdere vragen over dit onderwerp, andere opties geopperd maar daar is het nu "te laat" voor.


Echter jaarlijks wil ik die boekstuknummers laten beginnen met deel van het jaar, dus voor komend jaar met 22.....
Is er nu (i nieuwe versies/upgrades/updates) een eenvoudige oplossing voor dit probleem zonder de opbouw van tabellen aan te passen.

De beste oplossing die ik zelf kan verzinnen is de tabel exporteren, en weer importeren met maar 1 record waarbij de sleutelwaarde dan begint met 220000
Daarna zal er weer opgehoogd worden vanaf het nummer wat ik voor komend jaar wil gebruiken.

Alvast bedankt
 
Dat is geen oplossing, want dan kom je volgend jaar voor hetzelfde probleem. En nee, er is sinds de 'uitvinding' van Access geen nieuwere oplossingen voor bedacht, vanwege het simpele gegeven dat een Autonummerveld nu eenmaal per definitie het nummer ophoogt met 1. En dat houdt dus in dat na 1 automatisch 2 wordt aangemaakt. dan 3 en dat gaat dan nog wel even zo door. You get the picture. Als je dus een record laat beginnen met 220000, dan is inderdaad het volgende nummer 220001. Dat werkt voor 2022 perfect als je in dat jaar exact boekstuknummers hebt die van 220001 t/m 229999 laat lopen. Eén record minder, en je gaat al de teil in met 2023. Maar waarschijnlijk ben je dan al wel wat langer de sjaak...

Er zijn dus twee opties: ofwel een nieuw veld als sleutelveld gebruiken met één van de functies die octafish de afgelopen jaren heeft gepost, en die nog steeds werken uiteraard, ofwel een truc gebruiken op het autonummerveld. Eigenlijk de truc die je zelf al een klein beetje hebt uitgevogeld :). Heel simpel: voeg aan je tabel een record toe uit een andere tabel. Ik zou zelf een kopie maken van de structuur van je tabel, en het Autonummerveld omzetten naar een Numeriek veld. Vervolgens voer je dan één record op met het nummer 220000 (in dit geval) en vul je alle overige verplichte velden in met dummy waarden. Dat record voeg je dan toe aan je eigenlijke tabel, en vervolgens gooi je in die tabel dat record weer weg. Beetje omslachtig, en je blijft het nadeel houden van een Autonummerveld, dus persoonlijk zou ik er voor kiezen om je bestaande tabel aan te passen (Autonummerveld omzetten naar Numeriek) en een functie gebruiken om nummers te genereren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan