automatisch nieuwe nummer geven

  • Onderwerp starter Onderwerp starter annw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

annw

Gebruiker
Lid geworden
9 sep 2015
Berichten
24
ik had graag dat in het vak LLNR automatisch het volgende LLNR komt wanneer je een nieuwe danser aanmaakt. ik kan het gefikst krijgen door een query te maken die eerst het hoogste nummer opzoekt, dat dan onzichtbaar op een formulier zet, daarna een zichtbaar vak op dit formulier met het getal +1, en dan dit formulier als subformulier op dit formulier zetten, maar dat lijkt mij nogal omslachtig.
iemand een beter idee ?
excess_2015-09-30.accdb
http://wikisend.com/download/947912/excess_2015-09-30.accdb
 
Ik probeer je database te downloaden, maar beide linkjes bevatten een bestand van 0 bytes. Dus daar is denk ik iets fout gegaan. Kun je ze nog een keer uploaden? Of in ieder geval één, want aan de naam te zien is het twee keer hetzelfde bestand.
 
En om alvast een antwoord te geven waar je misschien al wat mee kunt stoeien: hier de code voor een volgnummer op basis van een jaartal en een oplopend nummer.
De code moet je kopiëren en in een nieuwe module zetten van je database. Dat doe je door eerst op <Alt>+<F11> te drukken (je komt in het VBA venster) en dan via <Invoegen>, <Module> de module aan te maken. In het lege venster plak je vervolgens de functie. Daarna kun je de VBA editor afsluiten. Uiteraard zeg je Ja op de vraag of je de module wilt bewaren :).
Oh ja: de rode tekst moet je nog wel aanpassen naar de eigen gegevens!

Code:
Function VolgNummer() As String
Dim strSQL As String, Num As Integer
Dim tmp As Variant
    strSQL = "SELECT Top 1 [[B][COLOR="#FF0000"]Volgnummer[/COLOR][/B]] FROM [[B][COLOR="#FF0000"]Leden[/COLOR][/B]] WHERE Left([Volgnummer], 4)= Year(Date) & " ORDER BY [Volgnummer] DESC"
    With CurrentDb.OpenRecordset(strSQL)
        If .RecordCount > 0 Then
            Num = CInt(Right(.Fields(0), 4)) + 1
            sNum = Year(Date) & Right("0000" & Num, 4)
            VolgNummer = sNum
        Else
            VolgNummer = Year(Date)) & "0001"
        End If
    End With
End Function
Deze code maakt volgnummers in de opmaak 20140123,20140124,20140125,20150001,20150002,20150003 etc. Elk jaar begint de nummering dus weer opnieuw bij 1.
Je kunt hem eenvoudig gebruiken op een formulier waar je dan een tekstveld hebt met het veld LLNR. Bij de <Eigenschappen> daarvan zet je op het tabblad <Gegevens> de formule =Volgnummer([LLNR]) in de regel Standaardwaarde.

In dit draadje staat een andere variant die volgnummers maakt op basis van een klantID. Hier zit een koppelteken in de code en die wordt dan gebruikt om de code eenheden en nummers te scheiden. Verder werkt de code op dezelfde manier.
 
Laatst bewerkt:
In dit draadje zit wel een werkende db; kunnen we die ook gebruiken?
 
de bijlage bij de andere vraag is de database die ik oorspronkelijk gemaakt had, dus die mag zeker gebruikt worden
diegene die hierbij zat was een database die ik herbegonnen was en waar nog maar 2 formulieren instaan, (herbegonnen omdat ik minder ingewikkeld wou werken :) )
 
Lijkt mij een goed idee om even opnieuw te beginnen met een schone lei :). Heb je de link naar het bestand nog aangepast?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan