Autonummering op het juiste moment laten starten

Status
Niet open voor verdere reacties.

Eagle Creek

Verenigingslid
Lid geworden
3 okt 2002
Berichten
26.322
Hi!

Ik heb hier een database met een veld "orderID" wat kan autonummeren. Probleem: het veld begint bij 2124581 met nummeren, terwijl het zou moeten beginnen met 31159605.
Hoe pas ik dit aan?
 
Maak eens een nieuw record aan en pas het ID aan naar het ID waar jij mee wilt beginnen, normaal zou hij dan bij het volgende record automatisch moeten optellen.

Ben verder geen Access expert dus kan het ook mis hebben, maar zo heb ik het eens gefixt bij een fakturatieprogramma die gebruik maakte van een Access DB.
 
Autonummering

Ik ben niet zeker of dat lukt - wat je wel kunt toen: gebruik een toevoegquery, en gebruik je getal.
De onderliggende SQL van de query zou er dan ongeveer als volgt uitzien:

INSERT INTO tblNummers ( idNummer )
SELECT "31159605" AS ToeTeVoegen;

Als je voor de rest geen records in je tabel hebt, wordt dat het eerste id.

Succes,

NdT
 
Maak eens een nieuw record aan en pas het ID aan naar het ID waar jij mee wilt beginnen, normaal zou hij dan bij het volgende record automatisch moeten optellen.

Ben verder geen Access expert dus kan het ook mis hebben, maar zo heb ik het eens gefixt bij een fakturatieprogramma die gebruik maakte van een Access DB.

Access slikt dit niet. Hij zegt 'dit is een automatisch veld, hierin kun je niet gaan wijzigen'.

Ik ben niet zeker of dat lukt - wat je wel kunt toen: gebruik een toevoegquery, en gebruik je getal.
De onderliggende SQL van de query zou er dan ongeveer als volgt uitzien:

INSERT INTO tblNummers ( idNummer )
SELECT "31159605" AS ToeTeVoegen;

Als je voor de rest geen records in je tabel hebt, wordt dat het eerste id.

Succes,

NdT

Ik ga kijken wat ik hiermee kan doen! Bedankt!
 
Ik ben bang dat ik niet helemaal weet dat ik dat stukje code moet gebruiken.. Als ik hem invoer bij de VB code krijg ik een foutmelding, en een losse query kan ik niet opgeven zoals jij hem maakt. Een expressie slikt hem, maar voert niets uit.
 
Laatst bewerkt:
Ik weet niet precies hoe waarom je het autonummeringsveld met je waarde wilt laten beginnen. Als het autonummeringsveld bij toevoegen van een record met dat nummer moet beginnen, draai je eerst de query met een getal dat 1 lager is, en vervolgens verwijder je de dan aangemaakte record weer. De eerstvolgende te maken record krijgt dan het autonummeringsveld waarmee je de reeks wilt beginnen.... maar voor mij is het een beetje gokken.

NdT
 
Dit is volgens mij niet mogelijk, toch niet met een autonummeringsveld. Dit kan je gewoon niet aanpassen. Stel dat je databank 5000 records heeft. Je wist alle records, je voegt een nieuwe toe, deze eerste record zal het nummer 5001 krijgen, ook al is deze de enigste die er in staat. Ik denk dat je het met een gewoon nummerick veld moet doen en hier met een query een stukje vbacode of expressie op uit voeren. In ieder geval moet je afzien van een autonummeringvseld.
 
Ik heb dit toch echt een keer zo uitgevoerd - ik weet niet meer precies waarom. En ook eerder vandaag nog even getest - werkte! Een autonummeringsveld kun je inderdaad niet aanpassen - je kunt hem wel om de tuin leiden.

NdT
 
Gebruik een toevoegquerie

Maak een tabelletje met een numeriek veld. Geef deze de waarde 31159604. Maak een toevoegquerie van tabelletje naar de tabel waar je het factuurnr wilt hebben. Voeg de numerieke waarde toe aan het autonummering veld. Het eerstvolgende record zal het Id 1 hoger beginnen. Verwijder het hulp recordje. Suc6
 
Ik weet niet precies hoe waarom je het autonummeringsveld met je waarde wilt laten beginnen. Als het autonummeringsveld bij toevoegen van een record met dat nummer moet beginnen, draai je eerst de query met een getal dat 1 lager is, en vervolgens verwijder je de dan aangemaakte record weer. De eerstvolgende te maken record krijgt dan het autonummeringsveld waarmee je de reeks wilt beginnen.... maar voor mij is het een beetje gokken.

NdT

Hi!

Het gaat erom dat dit systeem een oud systeem overneemt. Het bedrijf zou graag niet opnieuw beginnen met ordernummers.
Nu weet ik dat 'iemand' de boel al heeft zitten verbouwen want het loopt zoiets als.
ordenno
0
2
3
4
5
9
145
125402
1232131
3127834
12222222
30145211
31127028
31127485
31127486
31127487
31127488
31127489
31127490
31127491
31127492
31127493
31127494
31127495
Dus érgens is er al een autonummering onderbroken.

De oude velde klakkeloos importeren werkt niet ivm relaties met andere tabellen.

Ik heb dit toch echt een keer zo uitgevoerd - ik weet niet meer precies waarom. En ook eerder vandaag nog even getest - werkte! Een autonummeringsveld kun je inderdaad niet aanpassen - je kunt hem wel om de tuin leiden.

NdT

Je hebt hem getest, mag ik die database/uitleg hebben van jou?

Maak een tabelletje met een numeriek veld. Geef deze de waarde 31159604. Maak een toevoegquerie van tabelletje naar de tabel waar je het factuurnr wilt hebben. Voeg de numerieke waarde toe aan het autonummering veld. Het eerstvolgende record zal het Id 1 hoger beginnen. Verwijder het hulp recordje. Suc6

He :confused:?
Gooi jij nu termen door elkaar of snap ik het niet helemaal?
-> NIeuwe tabel, veld test, nummeriek waarde X
-> Nieuwe tabel -> order tabel.
-> Voeg waarde X toe aan orderno veld, autonummering


EDIT: Gelukt met de laatste methodiek, het nummert perfect.
Aan iedereen, bedankt voor uwer hulp :thumb:.
 
Uuhm.. Ik weet niet waar het mis gaat maar het werkt niet meer??? Tabel is leeg, ik voer het testveldje in, maar gaat niet door, hij nummert gewoon door?

Edit:
Hij werkte dus goed, toen ging er iets mis, iemand had order verwijderd, moest niet, dus opnieuw zetten. Ik doe, volgens mij, precies hetzelfde maar hij luistert simpelweg niet.. Hij maakt een nieuwe record aan met een autonummering.

Edit2: Nevermind for now :).

Edit3: Niet opgelost dus.. Hij nummert stug verder.
 
Laatst bewerkt:
Ok... De waarde die ik in wil voeren is _lager_ dan de huidig bestaande waarde, dat werkt niet dan wordt 'ie doorgenummerd.
Is de nieuwe waarde, hoger dan de bestaande autonummeringswaarde dan pakt 'ie hem wel.

Dus: Hoe kan ik de autonummering resetten in het geval dat het nieuwe nummer lager is dan de eerstvolgende autonummering..

Situatie:
31159604 moet het worden
31159655 is de autonummering mee bezig.

Zeg ik nu dus dat 31159604 het moet worden, dan slikt 'ie het.. Suggesties :cool:?
 
Autonummering is puur en alleen bedoeld om gegevens uniek te identificeren en niet bedoeld en niet geschikt als volgnummer.
Maak je eigen volgnummer aan.
Hoe?
Zoek even in het forum, is al vrij vaak besproken

Groet,

Tardis
 
Hoe bedoel je maak je eigen volgnummer aan?
Het is niet mijn systeem, mij werd alleen gevraagd eea aan te passen.

De persoon die dit systeem geschreven heeft wist van de wens dat ordernummers oplopend moesten zijn, vandaar dat hij gekozen heeft voor een autonummering.
Zelf geef ik de voorkeur autonummering alleen te gebruiken voor een ID toe te wijzen, en niet voor een front-end toepassing.
 
Wat ik bedoel is dat je mbv VBA een volgnummer kunt creeren.
De motivatie die je aangeeft om autonummering te gebruiken lijkt me eerder ingegeven door onkunde / onwetendheid.

Zelf geef ik de voorkeur autonummering alleen te gebruiken voor een ID toe te wijzen, en niet voor een front-end toepassing

????

Groet,

Tardis
 
Wat ik bedoel is dat je mbv VBA een volgnummer kunt creeren.
Ahzo!
De motivatie die je aangeeft om autonummering te gebruiken lijkt me eerder ingegeven door onkunde / onwetendheid.
Ik weet niet wie de app heeft gemaakt, wellicht wist 'ie zelf ook niet 100% wat de bedoeling was :).

????

Groet,

Tardis
Wat ik bedoel is dat ikzelf autonummering liever gebruik om een ID aan een bepaalde record toe te wijzen. Dit nummer hoeft niet per se naar voren te komen (vb: een kookboek, mensen zoeken op gerechten (of personen, ingrediënten, etc..) en niet op IDnummer. Maar het IDnummer is wel belangrijk om uniekheid te houden).
 
Dan hebben we het over hetzelfde :thumb:

Wat je kan doen is en een auronummer kolom en een numerieke kolom gebruiken.
Vervolgens je orders importeren (bijvoorbeeld via een toevoegquery), waarbij je het ordernummer wegschrijft in de numerieke kolom.
Dit vereist uiteraard wel dat en je gegevens konsistent zijn en je wellicht je relaties eerst opnieuw moet opzetten in Access.

Groet,

Tardis
 
Sowieso laat Access mij niet toe om enig veldtype te wijzigen zonder de relaties te verbreken.
Het is van groot belang dat de ordernummers niet gewijzigd kunnen worden, ook niet in de database. In principe is het dmv. autonummering deels opgelost want je voorkomt dat bestaande nummers gewijzigd worden, volgens mij kan dit niet met een numeriek veld, toch?
 
Sowieso laat Access mij niet toe om enig veldtype te wijzigen zonder de relaties te verbreken[/QOUTE]

Ik heb het niet over het wijzigen van een gegevenstype maar over het toevoegen van een nieuwe kolom (numeriek), waarin je je ordernummers zet.
Relaties zul je inderdaad wellicht eerst moeten aanpassen.

Het is van groot belang dat de ordernummers niet gewijzigd kunnen worden, ook niet in de database. In principe is het dmv. autonummering deels opgelost want je voorkomt dat bestaande nummers gewijzigd worden, volgens mij kan dit niet met een numeriek veld, toch?

Kun je regelen in je formulier, met een stukje VBA.

Ik ken jouw specifieke omstandigheden niet, je zult zelf moeten beslissen hoe je eea gaat aanpakken.

Groet,

Tardis
 
Kun je regelen in je formulier, met een stukje VBA.
Wat ik bedoel, als je de database ingaan kan het nog wél gewijzigd worden. En dat blokkeer je (volgens mij) niet met een vb-tje.

Maar ik ga inderdaad eens kijken naar de wensen en mogelijkheden, bedankt voor de hulp!

Owja: Nog een snel vraagje; is er een mogelijkheid om de autonummering op 1 te laten beginnen?
Edit: Ach, zoek ik wel op :). Thx.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan