Genereren dossiernummer

Status
Niet open voor verdere reacties.

Zappie zap

Gebruiker
Lid geworden
30 mrt 2007
Berichten
35
Ik heb volgend probleem,

Dit jaar heb ik voor mijn werk een applicatie geschreven in asp waar scholen/centra leerlingen kunnen op inschrijven. Aan iedere leerling moeten zij een dossiernummer geven zodanig dat de juiste gegevens bij de juiste leerling staat. Desondanks dat er een duidelijk voorbeeld staat van hoe ze een dossiernummer moeten aanmaken (vb C01-001, C01-002, ...) slagen er velen toch in om hun dossiernummers verkeert in te vullen.

Dus nu zou ik graag naar volgend jaar een stuk code ontwikkelen die ervoor zorgt dat het eerste nummer automatisch CO1-001 zet. Wanneer ze dan een nieuwe leerling invoegen zou er door een stuk code eerst moeten gekeken worden wat het laatst gebruikte nummer is en daar dan gewoon 1 bij optellen waardoor er dan C01-002 als dossiernummer komt.

Iemand enig idee hoe ik dit kan doen?
 
Met een query haal je het laatste dossiernummer op :

Code:
sql = "SELECT MAX(dossiernr) FROM tabel"
SET rs = db.execute (sql)
.. en vervolgens haal je de laatste 3 posities op en telt daar 1000 bij op

Code:
varDosNr = Right(rs("dossiernr"),3) +1000

.. je telt er 1 bij op

Code:
varDosNr = varDosNr + 1

.. en voegt ze weer samen

varNwDosNr = Left(rs("dossiernr"),4) & Right(varDosNr,3)

Erik
 
Ik vermoed dat er in de sql-query ook nog een WHERE-clausule moet opgenomen worden om alleen die records te selecteren die met de juiste karakters beginnen:
Code:
sql = "SELECT MAX(dossiernr) FROM tabel WHERE dossiernr LIKE 'C01%'"
SET rs = db.execute (sql)
Bovendien zal
Code:
varDosNr = varDosNr + 1
resulteren in een integer, waardoor eventuele voorloop-nullen zullen verdwijnen.
Die kan je terugplaatsen met
Code:
varDosNr=right("000" & varDosNr,3)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan