السلام عليكم ورحمة الله وبركاته
أحبتي أعضاء هذا المنتدى الذي تعلمنا منهم واستفدنا من خبراتهم الشيء
الكثير، وفقكم الله لما يحبه ويرضاه.
سؤال يؤرق مضجعي وقد بحثت عنه كثيراً في المنتدى ولم أجد إجابة واضحة
له، مع أنني حصلت على هذا الكود من أحد الأعضاء المشاركين بإسم
(ROOF2000) والذي نشره مشكوراً ولكن لم أستطع فهم مكان وضع هذا الكود
مع محاولتي تطبيق ما ذكره .. أرجو ممن لديه كود للترقيم التلقائي وسدّ مكان
الأرقام الشاغره التي تم حذفها فلا يبخل علينا ويضعها لنا مشكوراً.
وهذا هو الكود الذي وضعه الأخ (ROOF2000) أرجو ممن تمكن من تجربته أن
يخبرنا عن مكان وضع الكود، ودمتم.
=====================
* كود لإضافة ارقام للسجلات و سد مكان الارقام الشاغرة
دالة للترقيم التلقائي في الجدول تنادى في حدث قبل الادخال من النموذج
'MYFORMAT="00000"
Public Property Get okm2(MYFIELD As String, MYtABEL As String, MYFORMAT As String) As String
'لاعطاء رقم للسجل تلقائيا
Dim x2 As String
x2 = DCount(MYFIELD, MYtABEL)
If x2 = 0 Then
x2 = Format(1, MYFORMAT)
okm2 = x2
Exit Property
Else
x2 = MYFORMAT
Dim mydb As Database, myrec As Recordset, mynum As String
Set mydb = CurrentDb
Dim mystrsql As String, mystrsqlA As String, mystrsqlB As String, mystrsqlC As String
mystrsql = "SELECT " & MYtABEL & "." & "" & MYFIELD & " AS MYHR" & "" & _
" FROM " & MYtABEL & " " & _
" ORDER BY " & MYtABEL & "." & "" & MYFIELD & ";" & ""
Set myrec = mydb.OpenRecordset(mystrsql)
Do While myrec.EOF = False 'للبحث عن الارقام الشاغرة واعطائها للجديد
mynum = myrec!MYHR
x2 = Format(x2 + 1, MYFORMAT)
If mynum <> x2 Then GoTo 10
myrec.MoveNext
Loop
x2 = Format(x2 + 1, MYFORMAT)
10:
myrec.close
Set myrec = Nothing
mydb.close
Set mydb = Nothing
okm2 = x2
End If
End Property
=====================
كما ذكر أن الكود يوضع في حدث قبل الإدخال
Private Sub Form_BeforeInsert(Cancel As Integer)
End Sub
أرجوووووووو منكم التكرم فيما إذا كان الكود صحيحاً ويقوم بالترقيم التلقائي
ويسد مكان الأرقام المحذوفة أن تشرحو طريقة وضع الكود هل في حدث قبل
الإدخال في النموذج أم في (موديولز) أو ما يسمى بالوحدة النمطية.
أرجو التوضيح