Unieke/persoonlijke autonummering maken

Status
Niet open voor verdere reacties.

Lubbe1974

Gebruiker
Lid geworden
16 dec 2008
Berichten
13
Hallo,

Ik probeer voor mijn werk een database op te zetten waarin offerteaanvragen geregistreerd worden. Momenteel verwerken wij dit in Excel. Elke aanvraag heeft een unieke aanvraag code (EOFP081201) welke bestaat uit letter (EOFP), Jaar & maand (0812) en volgnummer (01, 02 etc.).

Nu wil ik dit graag toepassen in een access database (ik gebruik access 2003). Volgens mij heeft het iets te maken met het veld "notatie" van "autonummering" maar ik kom er niet uit.

Weet iemand misschien de oplossing hiervoor?
 
Het kan wel maar ik zou het niet doen. Het autonummer veld daarvoor gebruiken bedoel ik. Eenmaal uitgegeven is het autonummer veld niet meer te resetten. Je kan beter in een tabel het laatst uitgegeven nummer bijhouden en die ophalen als je een nieuw nummer wil maken. In wezen bestaat je volgnummer maar uit 1 getal van twee cijfers. De rest is bepaald door een code en de maand in een jaar. Die code kan je ook opslaan in dezelfde tabel als waar je het laatste volgnummer opslaat. Ik gebruik daar een tabel met de naam PARAM voor. Die zit in al mijn databases. Het is een tabel met drie velden. ID (text50), Waarde(text255), Omschrijving(text255).
In jouw geval ziet een record in die tabel er als volgt uit:
Code:
Volgnummer, 1, Volgnummer van de reeks
CodePrefix, EOFP, Codeprefix voor offerte aanvraag code
In een functie die je schrijft kan je een volgende aanvraag code samenstellen
Code:
Public Function GetNextCode() as string
    dim strSql as string
    dim strRetVal as string
    dim strCodePrefix as string
    dim intVolgnummer as integer

    intVolgnummer = cint(nz(dlookup("Waarde","Param","ID = 'Volgnummer'"),0))
    strCodePrefix = nz(dlookup("Waarde","Param","ID = 'CodePrefix'"),"")
    strRetVal = strcodeprefix & format(date(),"YYMM") & format(intvolgnummer+1,"0#")

    strSql = "Update Param Set Waarde = " & Volgnummer+1 & " where ID = 'Volgnummer'"
    currentdb.execute strsql
   
   GetNextCode = strRetval

End Function
Bovenstaande code is niet gecompileerd.

Enjoy!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan