19-11-21, 03:30 PM
19-11-21, 05:24 PM
اساتذتي الافاضل هذه الصورة لتوضيح طلبي والتعديل عليه مع التقدير
19-11-21, 09:12 PM
وعليكم السلام ورحمة الله وبركاته ..
--
على فرض أن لديك قاعدة بيانات اسمها (My_Data.Mdb) وكلمة المرور لها هي (123456) ..
فيها جدول الزبائن اسمه(CustomerTable) وعمود أرقام الزبائن اسمه (CustomerNo) ..
وأن مربع رقم الزبون في نافذة إضافة الزبائن هو (txtCustomerNo1) ..
وأن أول قيمة في أرقام الزبائن لديك تبدأ بالرقم (1610001) -- طبعاً بإمكانك اختيار الرقم الذي تريد مثلاً (1) أو (1001)..
نقوم بانشاء عمود وهمي اسمه (nMax) .. لنسند إليه أكبر قيمة لديك في عمود أرقام الزبائن ..
ومن ثم نسند إلى مربع أرقام الزبائن (txtCustomerNo1) الرقم التلقائي والذي هو (nMax + 1) ..
فإن الكود التالي هو الذي تحتاجه في برنامجك لإضافة الرقم الجديد بشكل تلقائي :
ملاحظة :
1 - الكود السابق بفرض أنك تتعامل مع محرك الـ DAO --
و في حال أنك تتعامل مع محرك ADO أو RDO يجب عليك تغيير كود اسناد المحرك
وكود فتح قاعدة البيانات بما يناسب المحرك الذي تتعامل معه ..
ولكن جملة الـ SQL هي نفسها مع جميع محركات البحث ضمن قواعد البيانات ..
2 - لازم تعدل الكود بما يناسب برنامجك وستجد متعة بالتطبيق عندما تحصل على النتيجة.
--
على فرض أن لديك قاعدة بيانات اسمها (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 - لازم تعدل الكود بما يناسب برنامجك وستجد متعة بالتطبيق عندما تحصل على النتيجة.
19-11-21, 09:54 PM
الله يبارك في حضرتك استاذ طه ربنا معاك في كل خطوة جزاك الله خيرا
ان شاء الله اقوم بتجربة الكود بما يتناسب مع برنامجي واخبرك النتيجة شكرا لك مرة ثانية لمساعدتك لي
السلام عليكم استاذي الفاضل طه جزاك الله خيرا
استاذي الفاضل حاولت مرارا وتكرار ولم افلح بأستخدام الكود اذا امكن حضرتك تقوم بالتعديل على الكود الخاص بالبرنامج المرفق ممنون منك يا طيب
واعتذر لاني لم استطع استخدام الكود بارك الله فيك
ان شاء الله اقوم بتجربة الكود بما يتناسب مع برنامجي واخبرك النتيجة شكرا لك مرة ثانية لمساعدتك لي
السلام عليكم استاذي الفاضل طه جزاك الله خيرا
استاذي الفاضل حاولت مرارا وتكرار ولم افلح بأستخدام الكود اذا امكن حضرتك تقوم بالتعديل على الكود الخاص بالبرنامج المرفق ممنون منك يا طيب
واعتذر لاني لم استطع استخدام الكود بارك الله فيك
20-11-21, 12:11 AM
قاعدة البيانات الخاصة ببرنامجك لا يوجد بها جدول باسماء وتفاصيل الزبائن..
ع الاقل جهز برنامجك بما تستطيع واكتب الكود ولو خاطئ وخلي الغير يعدل عليه ..
ع الاقل جهز برنامجك بما تستطيع واكتب الكود ولو خاطئ وخلي الغير يعدل عليه ..
20-11-21, 12:33 AM
استاذي الفاضل جزاك الله خيرا بارك الله فيك
هذا البرنامج ارفعه مرة ثانية وفيه قاعدة بيانات وفيها جدول بأسم tbl1 وعملت اتصال بقاعدة البيانات وضفت سجل واحد
اذا امكن المساعدة في عمل التسلسل تلقائي اي فقط في البداية اقوم بادخال رقم واحد ومن ثم البرنامج يقوم بالترقيم تلقائيا وهكذا مع وافر التحايا
البرنامج في المرفقات
هذا البرنامج ارفعه مرة ثانية وفيه قاعدة بيانات وفيها جدول بأسم tbl1 وعملت اتصال بقاعدة البيانات وضفت سجل واحد
اذا امكن المساعدة في عمل التسلسل تلقائي اي فقط في البداية اقوم بادخال رقم واحد ومن ثم البرنامج يقوم بالترقيم تلقائيا وهكذا مع وافر التحايا
البرنامج في المرفقات
20-11-21, 01:13 AM
قم بإضافة هذا الكود إلى برنامجك :
وبعد كل اضافة لسجل جديد أضف هذا الكود :
لتحصل على رقم جديد ..
كود :
Private Sub Form_Load()
Set db = OpenDatabase("compny.mdb")
Set rs = db.OpenRecordset("tbl1")
Text1.Text = NewNo
End Sub
Private Function NewNo() As String
Dim db1 As DAO.Database, Rs1 As DAO.Recordset, nMax As New DAO.Field
Set db1 = DBEngine.OpenDatabase("compny.mdb", False, False)
Set Rs1 = db1.OpenRecordset("Select Max(IDnum) As nMax From tbl1")
If Rs1!nMax <> "" Then
NewNo = Rs1!nMax + 1
Else
NewNo = 1 ' على فرض أنها أول قيمة في أرقام الزبائن
End If
Rs1.Close
db1.Close
End Functionكود :
Text1.Text = NewNoلتحصل على رقم جديد ..
20-11-21, 01:21 AM
ممنون منك استاذ طه بارك الله فيك
نعم هذا هو المطلوب جزاك الله خيرا
نعم هذا هو المطلوب جزاك الله خيرا