autonummering jaar, maand, volgnummer

Status
Niet open voor verdere reacties.

piet200

Gebruiker
Lid geworden
15 jan 2008
Berichten
25
Hallo,

Ik wil graag een factuurnummer genereren op basis van het huidige jaartal, huidige maand en een volgnummer, kan iemand me een voorzetje geven hoe dit aan te pakken ?

b.v.d.
 
Functies

Bepaal eerst het huidige jaar (Year(Date)) en de huidige maand (Month(Date)). Voer nu een query uit waarbij je het hoogste volgnummer ophaalt van factuurnummer van de huisige jaar en maand. Tel eentje op bij het hoogst gevonden volgnummer, plak de boel aan elkaar en klaar is je nieuwe factuurnummer.
 
Ben bang dat ik toch ietst meer info nodig heb om dit te kunnen uitvoeren, zou je het antwoord een iets hoger Jip en Janneke gehalte kunnen geven ?

b.v.d.
 
Simpel beginnen

Het makkelijkste is om een veld op te nemen in je tabel voor het volgnummer en die in te stellen op autonummering. Ik neem aan dat je ook wel een veld hebt voor de factuurdatum. Je kunt dan het factuurnummer afleiden met een berekening. Zet bijvoorbeeld een tekstveld op een formulier of een rapport en schrijf dan bij de besturingselementbron iets als:
Code:
=format(factuurdatum;"yyyymm") & [volgnummer]
In dit verhaal krijgt elke factuur zijn eigen unieke volgnummer. Ook als je naar een volgende maand gaat, blijft het volgnummer oplopen. Je krijgt dan bijvoorbeeld 20080319, 20080320, 20080321, 20080422, 20080423 etc... Als je perse wilt dat het volgnummer overnieuw begint bij een nieuwe maand, dan zul je het volgnummer zelf moeten programmeren en kun je hiervoor geen autonummering gebruiken. Bovenstaande reeks wordt dan: 20080319, 20080320, 20080321, 2008041, 2008042. Hoe dat moet, kun je hieronder vinden.

Zorg er bijvoorbeeld voor dat de tabel (mijntabel) de velden maand en volgnummer heeft, allebei numeriek, lange integer. Samen vormen deze velden de primaire sleutel. Vervolgens kun je een formulier maken waarin de overige velden van deze tabel kunnen worden ingevuld. Maak dan een gebeurtenisprocedure na invoegen. Schrijf daarin de volgende code:
Code:
Sub Form_Afterinsert()
  dim db as database, rs as recordset, mnd as long
  mnd=format(date,"yyyymm")
  Me!maand=mnd
  set db=currentdb
  set rs=db.openrecordset("SELECT MAX(volgnummer) AS Maxnr FROM mijntabel WHERE maand=" & mnd,4)
  if rs!Maxnr=0 then Me!volgnummer=1 else Me!volgnummer=rs!Maxnr+1
End Sub
Dit zorgt ervoor dat bij elk nieuw record de velden maand en volgnummer correct worden ingevuld. Op de factuur kun je nu de velden maand en volgnummer achter elkaar plakken om het factuurnummer te genereren. Dat wordt dan:
Code:
maand & volgnummer
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan