وعليكم السلام ورحمة الله وبركاته ..
--
على فرض أن لديك قاعدة بيانات اسمها (My_Data.Mdb) وكلمة المرور لها هي (123456) ..
فيها جدول الزبائن اسمه(CustomerTable) وعمود أرقام الزبائن اسمه (CustomerNo) ..
وأن مربع رقم الزبون في نافذة إضافة الزبائن هو (txtCustomerNo1) ..
وأن أول قيمة في أرقام الزبائن لديك تبدأ بالرقم (1610001) -- طبعاً بإمكانك اختيار الرقم الذي تريد مثلاً (1) أو (1001)..
نقوم بانشاء عمود وهمي اسمه (nMax) .. لنسند إليه أكبر قيمة لديك في عمود أرقام الزبائن ..
ومن ثم نسند إلى مربع أرقام الزبائن (txtCustomerNo1) الرقم التلقائي والذي هو (nMax + 1) ..
فإن الكود التالي هو الذي تحتاجه في برنامجك لإضافة الرقم الجديد بشكل تلقائي :
كود :
Dim db As DAO.Database
Dim Rs As DAO.Recordset
Dim nMax As New DAO.Field
Set db = DBEngine.OpenDatabase(App.Path & "\My_Data.Mdb", False, False, ";PWD=123456;")
Set Rs = db.OpenRecordset("Select Max(CustomerNo) As nMax From CustomerTable")
If Rs!nMax <> "" Then
txtCustomerNo1.Text = Rs!nMax
Else
txtCustomerNo1.Text = 1610001 ' على فرض أنها أول قيمة في أرقام الزبائن
End If
Rs.Close
db.Close
ملاحظة :
1 - الكود السابق بفرض أنك تتعامل مع محرك الـ DAO --
و في حال أنك تتعامل مع محرك ADO أو RDO يجب عليك تغيير كود اسناد المحرك
وكود فتح قاعدة البيانات بما يناسب المحرك الذي تتعامل معه ..
ولكن جملة الـ SQL هي نفسها مع جميع محركات البحث ضمن قواعد البيانات ..
2 - لازم تعدل الكود بما يناسب برنامجك وستجد متعة بالتطبيق عندما تحصل على النتيجة.