alternatief voor autonummering

Status
Niet open voor verdere reacties.

Jesse2

Gebruiker
Lid geworden
3 mei 2011
Berichten
340
ik heb een database voor facturen, de nummering voor deze facturen moet heel precies gebeuren. met autonummering loop ik tegen erg veel problemen op: als je een nieuwe record half invult en ongedaan maken selecteer loopt de autonummering 1 record voor.
ook is het hierna niet meer mogelijk om hier iets aan te veranderen en dus klopt mijn hele nummering niet meer.

nou vraag ik mij af zijn hier betere alternatieven voor?
 
Een factuur heeft, neem ik aan, mar één nummer dus wat dat betreft maakt het niet zoveel uit of je het nummer genereert met Autonummering of niet. En voor de klant maakt het nummer uiteraard ook niet uit. Maar zelf een nummer genereren is niet zo moeilijk, al wordt de moeilijkheidsgraad wel beïnvloed door het feit of je er tekst in gebruikt of alleen cijfers: je kunt bijvoorbeeld een functie maken die een nieuw nummer genereert, of met DMAX werken. Met DMAX haal je het hoogste nummer op, en daar tel je dan 1 bij op bijvoorbeeld (als je getallen gebruikt).
 
dat DMAX klinkt wel intressant.
om even duidelijk te zijn de nummers bestaan al en komen van een andere bron, wel zijn deze nummers altijd oplopend,
het is dus niet handig als de autonummering op 255 staat terwijl je laatste ingevoerde record 253 is, dan klopt het hele idee niet meer.
 
Als je nummers van een externe bron zijn, hoef je toch niet zelf te nummeren?
 
er word iedere keer een nieuw factuur ingevoerd dat al een nummer heeft.
het is altijd oplopend. kopiëren kan niet omdat het geen digitale bron is.
ook worden er nooit nummers overgeslagen het blijft altijd oplopen met 1.
 
Laatst bewerkt:
Dan neem je toch de bestaande nummers over in een kolom Factuurnummer?
Je hebt dan twee kolommen, een autonummer kolom en een kolom met je factuurnummer.

Autonummering is niet geschikt en niet bedoeld voor het aanmaken van gegevens zoals factuurnummers.

Tardis
 
dus gewoon typen?
valt hier niets aan te automatiseren?
 
Ik snap nog steeds niet hoe je aan je factuurnummers komt.... Eerst zeg je dat je ze importeert (?) uit een andere bron, nu is het weer niet digitaal.... Als je ze moet lezen, dan ben je denk ik gebakken aan overtypen. Hoe wou je het anders automatiseren? Autonummering is misschien niet bedoeld voor factuurnummers, maar daarom nog niet onbruikbaar of ongeschikt. Alleen heb je geen invloed op de nummering Met een stukje Notatie kun je het overigens nog wel enigszins opleuken. Als je dit als notatie gebruikt: "FAC "00000 ziet het er best acceptabel uit. En het blijft uiteraard wel een uniek nummer, en dat lijkt mij voor een factuur een eerste vereiste.

Maar zoals ik al zei: als je het nummer extern krijgt, al dan niet digitaal, dan zul je dat toch over moeten nemen. En dat riekt naar typen...
 
ik dacht dat autonummering een goede oplossing zou zijn om dat het oplopend is en regelmatig.
alleen omdat access erg snel gaten maakt in de nummer-reeks is het toch niet geschikt.
dat word helaas typen.
 
@OctaFish,

aangezien er in autonummering gaten kunnen vallen is het gebruik van autonummering voor het uitgeven van factuurnummer per definitie ongeschikt.
Autonummering is puur en alleen bedoeld om gegevens op tabelniveau uniek te identificeren en niet om gegevens die opeenvolgend genummerd moeten zijn te genereren.

Tardis
 
@Tardis
aangezien er in autonummering gaten kunnen vallen is het gebruik van autonummering voor het uitgeven van factuurnummer per definitie ongeschikt.
Je vergelijkt zaken die in beginsel niets met elkaar te maken hebben. Als een gebruiker geen behoefte heeft aan aansluitende nummers, kan je prima met Autonummering werken. Ik denk niet dat een belastinginspecteur (om maar eens wat te noemen) daarover gaat vallen: als de administratie klopt, dan lijkt mij dat prima.... De nummerstijl van je facturen staat daar toch echt wel los van...
 
Jesse, als je de nummers uit je db kunt uitlezen, kun je prima met DMAX werken.
 
ik snap nog steeds niet hoe je DMAX kan toepassen.
wat kan je dan zoal met DMAX en wat zijn de voorwaarden?
hoe pas ik het toe?
 
Laatst bewerkt:
Met DMax haal je de hoogste waarde op uit een tabel(veld). Hij werkt op een willekeurige tabel, en elk veld dat een getal bevat. De functie heeft dus een veldnaam, en een tabelnaam nodig. Een voorbeeldje om op een formulier een volgnummer te maken:
Code:
=Nz(DMax("Volgnummer", "tblFacturen"), 0) + 1
Deze formule kun je als Standaardwaarde gebruiken voor het veld Volgnummer op een formulier; zodoende krijg je altijd als je een nieuw record aanmaakt het eerstvolgende nummer. Sla je een record niet op, dan heb je ook geen nieuw nummer ingevoerd, en het eerstvolgende nummer blijft dus gewoon doorlopen. In tegenstelling dus tot Autonummer, waarbij het nummer weg is.
 
mijn veld is: Ref nr
en mijn tabel is: Facturen
dan zou de code er zo uit moeten zien? =Nz(DMax("Ref nr", "Facturen"), 0) + 1
alleen als ik hem probeer in te voeren bij
het veld Ref nr in mijn formulier lukt dit niet.
 
Je hebt een spatie in de veldnaam staan. In dat geval moeten er rechte haken omheen: =Nz(DMax("[Ref nr]", "Facturen"), 0) + 1

En dat is precies de reden waarom het zinvol is om spaties in veldnamen te vermijden :)
 
iedere keer als ik code invoer in standaard waarde van het veld Ref nr (numeriek) verdwijnt de code.
 
misschien zal hem zelf moeten bouwen via de opbouwfunctie voor expressies ik weet alleen niet precies hoe.
 
Waar zet je die code dan? Je kan deze functie alleen op een formulier gebruiken, niet in een tabel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan