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 ( لانني قمت باغلاق السجل السابق)
الثانيه : الحصول على رسالة الاستمرار ام لا .. عند الضغط على نعم فانه يعطيني مجال ان انشئ الزبون حتى لو ان رقم الهويه موجود في القاعده .. اريد ان يمنعني من ذلك وعند الضغط على نعم ياخذني الى النموذج الى حقل رقم الهويه ويكون خالي من البيانات
اطلت عليكم فعذرا منكم