Factuurnummer resetten m.i.v. nieuwe jaar

Status
Niet open voor verdere reacties.

lunatic95

Gebruiker
Lid geworden
29 aug 2013
Berichten
36
Ondanks vele topics te hebben gelezen waarin DMax-codes voor vergelijkbare situaties worden gegeven, lukt het me niet om een doorlopend factuurnummer met datumprefix (alleen het jaar) te genereren, waarbij ieder nieuw jaar de telling opnieuw begint.

Voorbeeld:

2014013
2014014
2014015
-->
2015001
2015002
2015003
-->
2016001
2016002

Wie kan en wil mij stap voor stap uitleggen hoe ik dit moet aanpakken? Bij voorbaat dank.
 
Het is inmiddels gelukt om een factuurnummer op te bouwen dat enerzijds bestaat uit het huidige jaar en anderzijds uit het eerstvolgende nummer in de tabel. Dat ziet er zo uit:

2015001
2015002
2015003
etc.

Maar als het 2016 wordt, dan gaat hij door met 2016004. Boekhoudtechnisch misschien niet zo'n ramp, maar het zou toch wel mooi zijn als de teller wordt gereset bij een nieuw jaar.

Iemand? :)
 
Een simpele zoekopdracht in dit forum (zoekwoord: 'volgnummer') had je verschillende functies opgeleverd die allemaal op een vergelijkbare manier dit probleem oplossen. Geen van die oplossingen gebruikt overigens DMAx :).
Code:
Function NieuwVolgNummer() As String
Dim strSQL As String, Num As Integer
Dim tmp As Variant
    strSQL = "SELECT Top 1 [Volgnummer] FROM [Leden] 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)
            NieuwVolgNummer = sNum
        Else
            NieuwVolgNummer = Year(Date)) & "0001"
        End If
    End With
End Function
En die functie zet je als Standaardwaarde in het volgnummerveld.
 
Ik heb 'm uit het hoofd aangepast, dus check inderdaad even of hij werkt :). En hij maakt volgnummers op basis van 4 volgcijfers, en geen 3. Dus dat mag je zelf aanpassen. Overigens lijkt mij 3 cijfers een tikkeltje aan de magere kant ;).
En je gebruikt hem dus als standaardwaarde voor het nummerveld. Daar zet je dan:
Code:
=NieuwVolgNummer()
 
Het wil maar niet lukken! Ik krijg alleen bij de eerste record "20150001". Als ik een nieuwe record maak, dan komt er niks meer...
 
Ik neem aan dat je de code wel hebt aangepast met de naam van tabel en veld van jouw db?
 
EDIT: Potverdorie, het werkt toch! Ik moest de code natuurlijk wel aan het formulier plakken :evil:

Bedankt voor je hulp!
 
Laatst bewerkt:
nou ik krijg hem hier niet aan het werk.

wat ik ook probeer hij blijft bij 20150001 en of alleen 0001 en daarna niks meer.
misschien toch even uit stap voor stap wat waar te doen en welke code waar te plaatsen?
 
Het is niet de bedoeling om een vraag te stellen in een topic van iemand anders. In beginsel is de vraag ook opgelost (werkende oplossing) en die zou je dus zo moeten kunnen toepassen. Heb je de laatste regel in bericht #3 wel gelezen?

Mocht je er nog steeds niet uitkomen: maak een eigen vraag aan :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan