لمحبي الاطلاع على التغييرات التي تتم على بياناتهم وهم غير موجودين يمكنهم الاطلاع عليها
في جدول الملاحظات هذة طريقة يتم من خلالها إضافة وتعديل وتسجيل التعديل وتسجيل اي
شي يحصل في البيانات حتى لو قام بتغير الاسم وكتب نفس الاسم مرة أخرى يتم الاشعار بذلك ،
كل شي حتى مسح البيانات يطلع لك كمان من الذي سو هذا ،،، يعني من الان فصاعد ما حد يقدر
يعدل او يضيف الا بعد تفكير لانة يتم تسجيل البيانات آلياً ، واي شي يصير يعلمك بة ،،،
أتمنى ان توصل الفكرة بالطريقة الصحيحة ،،،
الطريقة نعمل التالي :-
في الوحدة النمطية العامة جديد نضع الكود هذا :-
كود :
اقتباسOption ExplicitPublic Function Audit_Trail()
On Error GoTo Err_Audit_Trail
Dim MyForm As Form
Dim ctl As Control
Dim sUser As String
Set MyForm = Screen.ActiveForm
sUser = CurrentUser
If MyForm.NewRecord = True Then
MyForm!AuditTrail = MyForm!tbAuditTrail & "إضافة سجل جديد " & Now & " من قبل " & sUser & ";"
Exit Function
End If
MyForm!AuditTrail = MyForm!tbAuditTrail & vbCrLf & vbLf & "تم التغير على السجل " & Now & " من قبل " & sUser & ";"
For Each ctl In MyForm.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox
If ctl.Name = "tbAuditTrail" Then GoTo TryNextControl
If ctl.Value <> ctl.OldValue Then
MyForm!AuditTrail = MyForm!tbAuditTrail & vbCrLf & ctl.Name & ": تغيير من: " & ctl.OldValue & ", الى: " & ctl.Value
ElseIf IsNull(ctl.OldValue) And Len(ctl.Value) > 0 Or ctl.OldValue = "" And Len(ctl.Value) > 0 Then
MyForm!AuditTrail = MyForm!tbAuditTrail & vbCrLf & ctl.Name & ": كان ملغي في السابق, القيمه الجديدة هي : " & ctl.Value
ElseIf IsNull(ctl.Value) And Len(ctl.OldValue) > 0 Or ctl.Value = "" And Len(ctl.OldValue) > 0 Then
MyForm!AuditTrail = MyForm!tbAuditTrail & vbCrLf & ctl.Name & ": تغيير من: " & ctl.OldValue & ", الى: فارغ"
End If
End Select
TryNextControl:
Next ctl
Exit_Audit_Trail:
Exit Function
Err_Audit_Trail:
If Err.Number = 64535 Then
Exit Function
ElseIf Err.Number = 2475 Then
Beep
MsgBox "A form is required to be the active window!", vbCritical, "Invalid Active Window"
Else
Beep
MsgBox Err.Number & " - " & Err.Description
End If
Resume Exit_Audit_Trail
End Function
ونضيف الاسم هذا في الجدول (AuditTrail) من نوع مذكرة
طبعا في الجدول المراد مراقبة التغيرات فية ،
والذي أسميناة (tbAuditTrail) ...
ونضع الكود في الوحدة النمطية الخاصة بالنموذج الكود التالي :-
قبل التحديث ’’’
كود :-
اقتباسCall Audit_Trail
الكود هذا فقط قبل التحديث ’’’
وهذا والله ولي التوفيق ،،، وملف مرفق للتوضيح .
مع خالص التحيات ،،،
عبدالمانع