وعليكم السلام ورحمة الله وبركاته ..
الأمر بسيط أخي الكريم إن شاء الله . اولاً سننشئ الدالة التالية في مديول :-
Public Function GenerateID(TableName As String, fieldName As String) As Long
Dim currentYear As Integer
Dim yearPrefix As String
Dim maxID As Long
Dim serialPart As Long
currentYear = Year(Date)
yearPrefix = currentYear & ""
maxID = Nz(DMax(fieldName, TableName, fieldName & " LIKE '" & yearPrefix & "*'"), yearPrefix & "00")
serialPart = CLng(Mid(maxID, Len(yearPrefix) + 1))
GenerateID = CLng(yearPrefix & (serialPart + 1))
End Function
ثم في مربع النص داخل النموذج سنقوم بجعل القيمة الإفتراضية لهذا المربع النصي = الإستدعاء التالي ( على اعتبار ان الجدةل اسمه Tbl_Cust والحقل الرقمي الخاص بالترقيم = ID ) ..
=GenerateID("Tbl_Cust","ID")
المرونة في الإستدعاء ستكون انه يمكنك استخدام الترقمي لأكثر من جدول . فقط بتغيير اسم الجدول وحقل الترقيم .
وهذا مثال في ملف مرفق :-
GenerateID.accdb