جرب
Private Sub Form_BeforeClose(Cancel As Integer)
Dim userResponse As Integer
' تحقق من الشرط
If Me.t54 = 6 Then
If Not (Me.dev Like "5000000000") Then
' عرض رسالة تأكيد
userResponse = MsgBox("هل تريد إعادة الحقل dev إلى القيمة السابقة؟", vbYesNo + vbQuestion, "تأكيد")
If userResponse = vbYes Then
' قم بإعادة الحقل إلى القيمة السابقة
Me.dev = "" ' أو قم بتغيير هذا إلى القيمة التي تريد إعادة تعيينها
' يمكنك أيضاً إضافة كود هنا لتخزين القيمة السابقة قبل تغييرها
End If
End If
End If
End Sub
او
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim t54Value As Integer
Dim devValue As String
Dim response As Integer
t54Value = Me.t54
devValue = Me.dev
' تحقق إذا كانت قيمة t54 تساوي 6 وأيضاً إذا dev لا يحتوي على الرقم 5
If t54Value = 6 And Not devValue Like "*5" Then
' إظهار رسالة تأكيد
response = MsgBox("الحقل dev يجب أن يحتوي على الرقم 5. هل ترغب في الاستمرار؟", vbYesNo + vbExclamation, "تأكيد")
If response = vbNo Then
' إذا اختار المستخدم "لا"، أعد الحقل t54 إلى Null أو القيمة الافتراضية
Me.t54 = Null ' أو يمكنك تعيين قيمة معينة بدلًا من Null
Cancel = True ' يمنع إغلاق النموذج
End If
End If
End Sub