Fout in volgnummer

Status
Niet open voor verdere reacties.

inferno1977

Gebruiker
Lid geworden
21 feb 2007
Berichten
21
Goedemiddag,

Ik gebruik de volgende Functie code om een volgnummer te maken:

Dim strHoogsteOrdernummer As String
Dim lngvolgendnummer As Long
Dim strJaartal As String

strJaartal = CStr(Year(Date))

strHoogsteOrdernummer = Nz(DMax("Ordernummer", "tblOrder", "Ordernummer Like 'strJaartal*'"), "")
If Len(strHoogsteOrdernummer) > 0 Then
lngvolgendnummer = CLng(Right$(strHoogsteOrdernummer, 5)) + 1
Else
lngvolgendnummer = strHoogsteOrdernummer & lngvolgendnummer
End If

fncNewOrdernummer = DMax("Ordernummer", "tblOrder") + 1

Op het moment er geen orders aanwezig zijn (dus het ordertabel is leeg) krijg ik een insert foutmelding. Wie kan mij verder op weg helpen??

Hoor graag van jullie.

Groet,
 
Je laat een halve functie zien. De insert foutmelding waar je het over hebt kan hierin niet optreden.

Code:
fncNewOrdernummer = DMax("Ordernummer", "tblOrder") + 1
Deze regel geeft Null terug wanneer de tabel leeg is.
Code:
fncNewOrdernummer = Nz(DMax("Ordernummer", "tblOrder"),0) + 1
is beter.

Als je de hele functie post kan ik misschien wat zinnigs erover zeggen.

HTH:D
 
Hoi Bedankt voor je reactie: Zie onderstaand volledige code die in de module staat:
Function fncNewOrdernummer()

' format ordernummer: 200700001
' 2007 = jaar
' 00001 volgnummer

1 Dim strHoogsteOrdernummer As String
2 Dim lngvolgendnummer As Long
3 Dim strJaartal As String

4 strJaartal = CStr(Year(Date))
5 lngvolgendnummer = strHoogsteOrdernummer & lngvolgendnummer

6 If Len(strHoogsteOrdernummer) > 0 Then
7 lngvolgendnummer = CLng(Right$(strHoogsteOrdernummer, 5)) + 1
8 Else
9 strHoogsteOrdernummer = Nz(DMax("Ordernummer", "tblOrder", "Ordernummer Like 'strJaartal*'"), "")
10 End If

11 fncNewOrdernummer = Nz(DMax("Ordernummer", "tblOrder"), 0) + 1


End Function

Ik krijg met jou oplossing inderdaad geen foutmelding meer. Alleen een volgnummer: "1".
En dat is vreemd terwijl ik eerder verwijs met een volgenummer Jaartal en een reeks met 5 nullen en dan pas een 1.



Je laat een halve functie zien. De insert foutmelding waar je het over hebt kan hierin niet optreden.

Code:
fncNewOrdernummer = DMax("Ordernummer", "tblOrder") + 1
Deze regel geeft Null terug wanneer de tabel leeg is.
Code:
fncNewOrdernummer = Nz(DMax("Ordernummer", "tblOrder"),0) + 1
is beter.

Als je de hele functie post kan ik misschien wat zinnigs erover zeggen.

HTH:D
 
Hoi,

Ik heb het nu opgelost op deze manier:

fncNewOrdernummer = Nz(DMax("Ordernummer", "tblOrder"), strJaartal & "00000") + 1

Bedankt voor je aanzet.

Groetjes,


Je laat een halve functie zien. De insert foutmelding waar je het over hebt kan hierin niet optreden.

Code:
fncNewOrdernummer = DMax("Ordernummer", "tblOrder") + 1
Deze regel geeft Null terug wanneer de tabel leeg is.
Code:
fncNewOrdernummer = Nz(DMax("Ordernummer", "tblOrder"),0) + 1
is beter.

Als je de hele functie post kan ik misschien wat zinnigs erover zeggen.

HTH:D
 
Graag gedaan, bedankt voor je terugkoppeling. Daar heeft iedereen wat aan!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan