Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 29-12-09, 08:35
kon73 Ο χρήστης kon73 δεν είναι συνδεδεμένος
Όνομα: Ηλιάδης Κωνσταντίνος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 13-12-2008
Περιοχή: Chicago
Μηνύματα: 119
Προεπιλογή

Καλημέρα και χρόνια πολλά.

Ο κώδικας όπως μεταφέρθηκε από το 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
Απάντηση με παράθεση