'In je formulier kopieren :
'kontroleer daarna even of er bij de eigenschappen
'van het formulier tabblad Gebeurtenis
'bij voor invoegen staat
'is dit niet het geval klik dan op de puntjes
Private Sub Form_BeforeInsert(Cancel As Integer)
dim ret as string
ret=MKHignum
if len(ret) > 0 then
me.volgnummer=ret
else
MsgBox “Fout opgetreden bij het aanmaken van het ordernummer”, _
vbOKOnly + vbExclamation, “Probleem”
cancel=true
end if
End Sub
'In de module kopieren :
'als je dit in de module hebt gekopieerd
'kijk dan in het menu Extra/verwijzingen of de verwijzing Microsoft
'DAO 3.6 object library is aangevinkt (nummer kan verschillen( is versie))
'=======================================
'Private Function MKHignum() As String
'
'Bepaal het hoogste nummer
'MKHignum Retourneert het hoogste nummer
'=======================================
Private Function MKHignum() As String
On Error GoTo MKHignum_Err
Dim db As Database
Dim thequery As String
Dim therec As Recordset
Dim mw As String
Dim vlc As String
Dim fnr As String
vlc = “SO-ORD-” 'voorloopcode
Set db = CurrentDb
thequery = “SELECT Max(OrderId) AS MaxRecnum FROM inkooporders;”
Set therec = db.OpenRecordset(thequery)
If therec.RecordCount > 0 Then
If Not IsNull(therec(“MaxRecnum”)) Then
mw = therec(“MaxRecnum”)
mw = Right$(mw, 5) 'nieuw jaar?
If Val(Left$(mw, 2)) <> Year(Date) - 2000 Then
fnr = “001”
Else 'verhoog nummer
fnr = Right$(“000” & Val(Right$(mw, 3)) + 1, 3)
End If
Else 'lege tabel
fnr = “001”
End If
Else
fnr = “001”
End If 'retourneer de waarde
MKHignum = vlc & Format(Date, “yy”) & fnr
'—————————————
'Err_exit
'—————————————
MKHignum_Err_exit:
CloseRecset therec
CloseDB db
Exit Function
'—————————————
'Err_handler
'—————————————-
MKHignum_Err:
Resume MKHignum_Err_exit
End Function
'=======================================
'Sub CloseRecset()
'
'Close en release recordset
'=======================================
Sub CloseRecset(trec As Recordset)
On Error Resume Next
trec.Close
Set trec = Nothing
End Sub
'=======================================
'Sub CloseDB()
'
'Close en release recordset
'=======================================
Sub CloseDB(datb As Database)
On Error Resume Next
datb.Close
Set datb = Nothing
End Sub