Nummer aanmaak met extra letters loopt vast

Status
Niet open voor verdere reacties.

Jos111

Gebruiker
Lid geworden
29 mrt 2013
Berichten
8
Beste,

van dit forum heb ik een nummering systeem gehaald voor het automatisch aanmaken van nieuwe nummers, echter gaan meer afdelingen hiervan gebruik maken en zij hebben alle hun eigen 2 letters voor de code staan. Het ervoor zetten van de letters is niet het probleem, maar de public function die deze nummers dan weer in leest kan er niet mee overweg.

Public function:
Code:
Public Function AGRnummer_aanmaak()


Dim strDatum As String
Dim X As String
Dim MaxVolgNummer As String



strDatum = Format(Date, "yy")

X = DCount("AGRnummer", "AGR", "Mid(AGRnummer,3,2) = '" & strDatum & "'")

MaxVolgNummer = Nz(DMax("AGRnummer", "AGR", "Mid(AGRnummer,3,2) = '" & strDatum & "'"), 0)

If X > 0 Then
    AGRnummer_aanmaak = Format(MaxVolgNummer + 1, "000")
    Else
    AGRnummer_aanmaak = Format(Date, "yy") & "001"
End If

MaxVolgNummer = Empty

End Function

Privat sub:
Code:
Private Sub Form_BeforeInsert(Cancel As Integer)

    If IsNull(Me![AGRnummer]) Then
        Me![AGRnummer] = "OP" & AGRnummer_aanmaak()
    End If


End Sub

De regel waar het programma steeds vast loopt is de volgende regel uit de public function:
AGRnummer_aanmaak = Format(MaxVolgNummer + 1, "000")

Eerlijk gezegd zou ik niet weten waar ik het nog zou moeten wijzigen om het wel werken te krijgen.
Als iemand een idee heeft hoor ik het graag
 
Laatst bewerkt:
Als je er een letter bij zet, schuiven de overige tekens op. Je moet dan een andere reeks uitlezen als getal.
Code:
    MaxVolgNummer = Nz(DMax("AGRnummer", "AGR", "Mid(AGRnummer,[B][COLOR="#0000CD"]4[/COLOR][/B],2) = '" & strDatum & "'"), 0)
 
Michel,

Dank voor de reactie. het werkt maar snap alleen niet waarom, ik gebruik maar 2 letters of is er nog een positie die wordt mee geteld?
 
Dan zou ik een voorbeeldje moeten zien. Ik ga slechts uit van de info die je hebt gegeven, en dat is dat de code werkte met 1 letter, en niet meer bij een extra letter. En de logica zegt: als je er een letter voor zet, dan schuift de rest van de tekst een positie op. En moet je dus verderop in de string uitlezen. Ik kan zo ook niet beoordelen of je functie optimaal is of niet. Vanwege eerdere opmerking.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan