السلام عليكم
حفظك الله أخي التقني على تنبيهك
الأخ ابو محمود , أن أحببت استخدم هذا الكود
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim m As Integer
Dim ctl As Control
Dim intnewrec As Integer
intnewrec = Me.NewRecord
If intnewrec = False Then
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
If ctl.OldValue <> ctl.Value Then
m = InputBox(ctl.ControlName & " value already changed Enter your password to save ?")
If m = 1 Then
Cancel = False
Else
Cancel = True
ctl.Undo
End If
End If
End If
Next ctl
End If
End Sub
الفكرة تقوم على جعل خاصية قفل الحقول متاحة اي التعديل متاح , حيث يمكنك ادخال سجل جديد بدون اي حرج , لكن عند الذهاب الى سجل سابق و محاولة تعديله , و قبل الخروج من ذلك السجل سيقارن قيم الحقول ففي حال وجد اي تعديل عليها سيرسل رسالة بأن قيمة الحقل الفلاني قد تغيرت , أدخل كلمة السر لحفظ التعديل , و هي هنا " 1 " فاذا أدخل المستخدم واحد سيحفظ التعديل و الا فلا