Καλημέρα και χρόνια πολλά.
Ο κώδικας όπως μεταφέρθηκε από το site MsAccess που διατηρούμε (
Δικός μας AutoNumber)
Κώδικας για Εισαγωγή στο Module
Public Function CustAutoNum(FormFieldID, TableName As String, Optional StartNum, Optional StepNum As Long) As Integer
' © Ηλιάδης Κωνσταντίνος :
MsAccess VBA CODE, Mdb Applications, Eclass
' Κώδικας Ελεύθερος προς Ιδιωτική χρήση.
' FormFieldID : Το Όνομα του πεδίου της φόρμας στο οποίο θέλουμε να εφαρμόσουμε
' την αύξουσα αρίθμηση
' TableName : Το όνομα του πίνακα που αντιστοιχεί στην ιδιότητα RecordSource της ' φόρμας.
' StartNum : Αριθμός που δηλώνει την έναρξη αρίθμησης
' StepNum : Βήμα, κατά πόσο θα αυξάνει ο αριθμός
If IsMissing(StartNum) Then
CustAutoNum = Nz(DMax(FormFieldID, TableName), 0) + Nz(StepNum, 1)
Else
CustAutoNum = Nz(DMax(FormFieldID, TableName), StartNum - Nz(StepNum, 1)) + Nz(StepNum, 1)
End If
End Function
Καλούμε τον κώδικα στο BeforeInsert της Φόρμας με ένα παράδειγμα στο οποίο το όνομα πεδίου της φόρμας είναι το ID και ο πίνακας ο Customers. Ξεκινά η αρίθμηση από το 10 και αυξάνει κατά 1.
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.ID = CustAutoNum("ID", "Customers", 10, 1)
End Sub