Radwan0 قام بنشر نوفمبر 30, 2023 قام بنشر نوفمبر 30, 2023 Dim identityNumber As String Dim rs As DAO.Recordset Dim db As DAO.Database Dim response As Integer ' Get the entered identity number identityNumber = Me.YourIdentityNumberField.Value ' Set the database and recordset to check for the identity number Set db = CurrentDb Set rs = db.OpenRecordset("SELECT * FROM YourTableName WHERE IdentityNumberField = '" & identityNumber & "'") ' If a record with the same identity number exists, prompt for confirmation If Not rs.EOF Then response = MsgBox("This identity number already exists in the system. Do you want to proceed?", vbQuestion + vbYesNo, "Duplicate Found") ' If the user chooses No, cancel the update and exit the form without saving If response = vbNo Then Cancel = True ' Cancel the update Me.Undo ' Undo the changes in the current record DoCmd.Close acForm, Me.Name, acSaveNo ' Close the form without saving End If End If rs.Close ' Close the recordset Set rs = Nothing ' Clear the recordset object from memory Set db = Nothing ' Clear the database object from memory End Sub السلام عليكم اخواني عندي في نموذج "انشاء زبون" حقل رقم الهويه .. وضعت هذا الكود في الحقل من اجل منع التكرار في حال ادخلت رقم هويه مشابه لرقم هوية موجود في قاعدة البيانات حصلت عندي اشكاليتين . الاولى : عند ادخال رقم هويه مشابه صحيح انه يظهر لي ان الرقم موجود وبالتالي احصل على رسالة هل اريد الاستمرار ام لا .. في حال ضغطت على لا النموذج يقفل والسجل لا يحفظ لكن المشكلة هي في الترقيم التلقائي .. لنفرض كان عندي الزبون الاخير رقمه 541 ... فعند القيام بانشاء زبون اخر لا يوجد في قاعدة البيانات فانه ياخذ الرقم 543 وليس 542 ( لانني قمت باغلاق السجل السابق) الثانيه : الحصول على رسالة الاستمرار ام لا .. عند الضغط على نعم فانه يعطيني مجال ان انشئ الزبون حتى لو ان رقم الهويه موجود في القاعده .. اريد ان يمنعني من ذلك وعند الضغط على نعم ياخذني الى النموذج الى حقل رقم الهويه ويكون خالي من البيانات اطلت عليكم فعذرا منكم
Foksh قام بنشر نوفمبر 30, 2023 قام بنشر نوفمبر 30, 2023 (معدل) 9 دقائق مضت, Radwan0 said: الاولى : عند ادخال رقم هويه مشابه صحيح انه يظهر لي ان الرقم موجود وبالتالي احصل على رسالة هل اريد الاستمرار ام لا .. في حال ضغطت على لا النموذج يقفل والسجل لا يحفظ لكن المشكلة هي في الترقيم التلقائي .. لنفرض كان عندي الزبون الاخير رقمه 541 ... فعند القيام بانشاء زبون اخر لا يوجد في قاعدة البيانات فانه ياخذ الرقم 543 وليس 542 ( لانني قمت باغلاق السجل السابق) بدايةً لتلافي الخطأ في الترقيم ،، انا استخدم عادة الكود التالي ؛ وأضعه في النموذج في القيمة الإفتراضية للحقل الخاص برقم الزبون مثلاً . =Nz(DMax("[حقل_الترقيم]","اسم_الجدول"))+1 بالنسبة لثانياُ ، ارفق ملف بسيط للتعديل عليه تم تعديل نوفمبر 30, 2023 بواسطه Foksh
Radwan0 قام بنشر نوفمبر 30, 2023 الكاتب قام بنشر نوفمبر 30, 2023 Database1.accdbان امكن التطبيق هنا اخي العزيز @Foksh
Foksh قام بنشر نوفمبر 30, 2023 قام بنشر نوفمبر 30, 2023 38 دقائق مضت, Radwan0 said: Database1.accdbان امكن التطبيق هنا اخي العزيز @Foksh هذه فكرتي ، وانت عدل كما يلزمك في مشروعك ,, Database1 (1).accdb
Radwan0 قام بنشر نوفمبر 30, 2023 الكاتب قام بنشر نوفمبر 30, 2023 @Foksh لا ارى التعديل اخي الفاضل الملف لا يعمل معي هل يمكن تطبيق حسب الكود الذي ارسلته ؟
Foksh قام بنشر نوفمبر 30, 2023 قام بنشر نوفمبر 30, 2023 (معدل) 9 دقائق مضت, Radwan0 said: @Foksh لا ارى التعديل اخي الفاضل الحقل ( Student_ID ) جعلته من نوع رقم ، وجعلت القيمة الإفتراضية له في النموذج :- =Nz(DMax("[Student_id]","tblStudentDetails"))+1 * بمعنى آخر ؛ يقوم بالبحث عن آخر قيمة ثم يضيف لها 1 عند الحفظ , وهو الفرق بينه وبين الترقيم التلقائي . وفي زر الحفظ جعلته يقوم بالبحث في الجدول عن القيمة التي في الحقل ( IDD ) وهو افتراضي يمثل رقم الهوية مثلاُ باستخدام الدالة ( DLookup ) ، وبالكود التالي :- If Not IsNull(DLookup("[IDD]", "tblStudentDetails", "[IDD] = " & Me.IDD)) Then If MsgBox(" " _ & vbCrLf & "، الرقم الوطني موجود مسبقاً " _ & vbCrLf & "هل ترغب بالتعديل ؟" _ , 590132, "") = 6 Then IDD.SetFocus End If Else Undo DoCmd.CancelEvent End If ففي حالة وجود الرقم مسجل مسبقاً يعطيك رسالة نعم أو لا ؛ واذا اخترت نعم يقوم بالذهاب الى الحقل IDD ( رقم الهوية ) للتعديل عليه ، وإذا لا فإنه لا يحفظ - ولك حرية تعديل الشروط حسب رغبتك . مرفق الملف مضغوط Database1 (1).zip تم تعديل نوفمبر 30, 2023 بواسطه Foksh
Radwan0 قام بنشر نوفمبر 30, 2023 الكاتب قام بنشر نوفمبر 30, 2023 الف شكر اخي لكن مطلبي هو حسب الكود الذي ارفقته ان امكن
kkhalifa1960 قام بنشر ديسمبر 1, 2023 قام بنشر ديسمبر 1, 2023 (معدل) مشاركة مع استاذ @Foksh تفضل أخي الاستاذ @Radwan0 حسب مافهمت ووافني بالرد. Database1-1.accdb تم تعديل ديسمبر 1, 2023 بواسطه kkhalifa1960
Radwan0 قام بنشر ديسمبر 1, 2023 الكاتب قام بنشر ديسمبر 1, 2023 اخي @kkhalifa1960 بارك الله بك هذا فعلا ما اريده هنالك مشكلة بسيطه ان شاء الله وهي عند عدم حفظ السجل والضغط على لا فأن الترقيم التلقائي يتغير نفرض الان السجل رقمه 3 وعندما دخلت لاضيف طالب جديد وهذا الطالب يملك نفس رقم الهويه قمت بالغاء العمليه فعند الدخول مرة اخرى لاضافة طالب اخر فان الترقيم التلقائي يقفز الى 5 وليس 4 كيف يمكن حلها
ابوخليل قام بنشر ديسمبر 1, 2023 قام بنشر ديسمبر 1, 2023 الحل الوحيد هو ان تجعل احد حقول الجدول مطلوب = نعم
kkhalifa1960 قام بنشر ديسمبر 2, 2023 قام بنشر ديسمبر 2, 2023 تفضل أخي @Radwan0 زودت حقل (StudentNo) به الترقيم الجديد جرب ووافني بالرد . اذا كان هذ طلبك لا تنسى الضغط على أفضل اجابة . ادخال الرقم المكرر بطريقة جديدة.accdb
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.