Automatisch volgnummer genereren.

Status
Niet open voor verdere reacties.

Coen1994

Nieuwe gebruiker
Lid geworden
20 feb 2013
Berichten
2
Hallo,
Wij zitten in 6 vwo en voor informatica zijn we bezig met een access-project. Het doel is om een systeem te bouwen om een rijschool te ondersteunen. We hebben 4 tabellen: Leerlingen, Rijlessen, Examens, Betalingen. We willen een systeem maken met hierin Leerlingnummers, Rijlesnummers, Examennummers en Betalingen verwerkt. Het nummer moet als volgt zijn opgebouwd: (Beginletter soort volgnummer)-(Jaar invoeren)-(Maand invoeren)-(Datum invoeren)-(Hoeveelste van de dag). Bijv. als er een rijlesnummer moet worden ingevoerd op 20 februari 2013 en het is de vijfde van de dag, dan wordt de code: R2013022005 (R-2013-02-20-05). Onze vraag is nu of iemand weet of dit mogelijk is en als het mogelijk is, hoe? Als je weet hoe het moet graag wel een duidelijke uitleg, want we zijn echt beginners en snappen er heel weinig van.

Alvast bedankt!
 
Als je geen Access kennis hebt, hoe bestaat het dan dat je dat als schoolopdracht krijgt? In mijn tijd kreeg je eerst les in de stof, en ging je er daarna mee aan de slag. Had je nog enigszins kans op een redelijk resultaat ;) Of is het de bedoeling dat de docent het van jullie leert?
Hoe dan ook: op HelpMij is de regel dat we in beginsel niet helpen met het oplossen van schoolopdrachten, dus een directe oplossing ga je van mij niet krijgen. Een zetje in de goede richting zou voorlopig dus moeten volstaan. Daarbij is het helaas wel noodzakelijk dat je wat kunt programmeren, want dit soort ingewikkelde nummers is anders niet te maken.

Je zult met een functie moeten gaan werken die op basis van het hoogste nummer van een bepaalde datum de waarde met 1 verhoogt, en anders (eerste record van een nieuwe dag) weer bij 1 begint te tellen. Die query is een TOP 1 query waarbij je aflopend sorteert op het veld volgnummer, en dat je filtert op lesdatum. Je krijgt dus als criterium: [Lesdatum]=Date() en dat geeft je dan het hoogste nummer. Of niets, als het een nieuwe dag is.
Daarvan pak je dan de laatste 2 cijfers, want dat is het volgnummer, en daar tel je dan 1 bij op. In het geval van een nieuwe dag, kun je gelijk met 1 beginnen als nummer.
Het samenvoegen van de verschillende gegevens is niet zo heel lastig; ik doe dat tegenwoordig vaak zo: Right("00" & Month(Date()),2)
Daarmee krijg je de noodzakelijke voorloopnul.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan