اذهب الي المحتوي
أوفيسنا

معرفة من قام بالتعديل ؟ ومتى ؟وما هو التعديل الذى قام به؟


إذهب إلى أفضل إجابة Solved by ابوخليل,

الردود الموصى بها

الاخ الفاضل : ابو خليل 
اشكرك على الرابط
واضيف اننى وجدت هذا الرابط http://www.officena.net/ib/index.php?showtopic=39858
وهو يفعل ما اريده بالضبط ولكن المثال على نموذج واحد 
وفى قاعدة بياناتى انا لدى نماذج كثيرة
فهل من حل لتلك المشكلة 
اعذرنى ان كانت الاسئلة كثيرة فأنا طالب مبتدئ بالاكسس

تم تعديل بواسطه yousef_kaf
رابط هذا التعليق
شارك

من روائع استاذنا المبدع احمد الشهراني

رأيته سابقا وأنسيته والعتب على ...

سيتم تثبيته ان شاء الله

 

يمكنك التطبيق على جميع النماذج لديك

فقط انسخ الكود الموجود داخل النموذج وألصقه داخل نماذجك 

 

انظر المثال المعدل

Log File_up.rar

رابط هذا التعليق
شارك

أستاذي أين الكود الذي تقصده "فقط انسخ الكود الموجود داخل النموذج وألصقه داخل نماذجك " هل هو الكود المجود داخل زر الخروج

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

أستاذي الحبيب أبو خليل 
لو عندي نموذج وبه نموذج فرعي "عبارة عن نماذج مستمرة " كيف يمكن تطبيق هذه الفكرة حيث قمت بتجربتها وتمام في النموج الرئيسي لكن الفرعي لا يتأثر
أحسن_الله_إليك

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

أستاذي أين الكود الذي تقصده "فقط انسخ الكود الموجود داخل النموذج وألصقه داخل نماذجك " هل هو الكود المجود داخل زر الخروج

نعم ، انظر الى المثال السابق المعدل

 

لو عندي نموذج وبه نموذج فرعي "عبارة عن نماذج مستمرة " كيف يمكن تطبيق هذه الفكرة حيث قمت بتجربتها وتمام في النموج الرئيسي لكن الفرعي لا يتأثر

اجعل الكود في النموذج الفرعي في حدث قبل التحديث

رابط هذا التعليق
شارك

أستاذي الآن شغال تمام ويظهر السجلات التي تم التعديل عليها بنجاح سواء في النموذج الرئيسي أو الفرعي لكن لوحظ أن إسم الحقل الذي تم العديل عليه يظهر في جدول التعديلات بإسمه المستخدم في الكود " إسم الحقل " فهل من طريقة لإظهار التسمية التوضيحية للحقل مع " إسم الحقل "

جزاك_ الله_ خيرا

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

كل الشكر والتقدير  لك اخى الفاضل : ابو خليل
بصراحة تعديل راااااااااااااائع
ومن باب الفضول اسأل ... ان كان كل شخص يدخل على قاعدة البيانات له يوزر نيم وباسورد
فهل يمكن اظهار اسم المستخدم الذى قام بالتعديل بدلا من اسم الجهاز كما فى الكود الذى تفضلت بتعديله

تم تعديل بواسطه yousef_kaf
رابط هذا التعليق
شارك

Public Function WriteAudit(frm As Form, lngID As Long) As Boolean
On Error GoTo err_WriteAudit
    Dim ctlC As Control
    Dim strSQL As String
    Dim bOK As Boolean
    Dim stbl As String
    Dim field As String
    bOK = False
    stbl = frm.RecordSource
    DoCmd.SetWarnings False
    
     For each control.
    For Each ctlC In frm.Controls
        If TypeOf ctlC Is TextBox Or TypeOf ctlC Is ComboBox Then
            If ctlC.Value <> ctlC.OldValue Or IsNull(ctlC.OldValue) Then
                If Not IsNull(ctlC.Value) Then
                    strSQL = "INSERT INTO tblAudit ( ID, FieldChanged, FieldChangedFrom, FieldChangedTo, User,stable, DateofHit,user1) " & _
                           " SELECT " & lngID & " , " & _
                           "'" & ctlC.name & "', " & _
                           "'" & ctlC.OldValue & "', " & _
                           "'" & ctlC.Value & "', " & _
                           "'" & GetUserName_TSB & "', " & _
                           "'" & stbl & "', " & _
                           "'" & Now & "'," & _
                           "'" & DLookup("[username]", "fbi") & "'"

                    'Debug.Print strSQL
                    DoCmd.RunSQL strSQL
                End If
            End If
        End If
    Next ctlC
    
    WriteAudit = bOK
    
exit_WriteAudit:
    DoCmd.SetWarnings True
    Exit Function
    
err_WriteAudit:
    MsgBox Err.Description
    Resume exit_WriteAudit

بعد إذن إستاذي الفاضل أبو خليل " أعتذر إبتداءا وإنتهاءا " على تدخلي بهذه المشاركة 

أخي الفاضل يوسف يمكن عمل ما تفضلت به إن كان عندك في برنامجك نظام لصلاحيات المستخدمين فكل ما عليك فعله هو إضافة حقل وليكن user1 في جدول tblAudit حيث يشير user1 الى إسم المستخدم الذي دخل الى البرنامج والذي سيقوم بإجراء التعديل طبعاً بعدها تعدل على الكود كما هو موضح مع مراعاة تعديل ما هو باللون الأخضر حسب برنامجك و طبعاً هذا الجزء ("'" & DLookup("[username]", "fbi") & "'") يستدعي إسم المستخدم من إستعلام ويقوم بإلحاقه بجدول tblAudit

أرجو أن أكون قد أفدت 

وأعود وأعتذر لأستاذي أبو خليل لأنه لا لمثلي أن يتقدم على مثله لكن ما دفعني هو تقيم إجابتي حيث كنت سأطرح نفس السؤال .

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

ارفقت مثال استخدمت فيه الاسم واليوزر نيم عن طريق برنامج أ: مهند عباد
اتمنى شرح تعديل الكود ليظهر اسم المستخدم بدلا من اسم الجهاز
الاسم:  محمد   الباسورد 123
الاسم:  احمد   الباسورد 5566

Log File_up2.rar

رابط هذا التعليق
شارك

تفضل أخي الكريم هذا نموذج لبرنامج به أدوات إدارية ممكن تستخدمها في أي برنامج لك وتم تطبيق المطلوب عليه كلمة المرور وإسم المستخدم 1 أو Admin
 

أدوات إدارية.rar
 

تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

انا لم اتمكن من تشغيل البرنامج لا ادرى اين المشكله 
فهل من تعليمات للتشغيل .. وشكرا جزيلا على روح التعاون العاليه
ولى استفسار اخر واعذرنى لكثرة طلباتى .. فى كود تعقب التعديلات الخاص بالاستاذ:ابوخليل
هل يشترط ان يكون بدايه حقل كل  الجداول ID 
لاننى عندما اغير هذا الحقل لا يعمل الكود 
واعذرنى مرة اخرى لكثرة الاستفسارات

رابط هذا التعليق
شارك

أخي الحبيب لا يشترط أن يكون كل الجداول تبدأ ID لكن الكود الموجود تحت زر الإغلاق لا بد أن تغيره حسب معرف كل جدول 
وبالنسبة لعدم عمل البرنامج ما هي رسالة الخطأ التي تظهر

رابط هذا التعليق
شارك

لكن لوحظ أن إسم الحقل الذي تم العديل عليه يظهر في جدول التعديلات بإسمه المستخدم في الكود " إسم الحقل "

 

هو اسم الحقل في النموذج ، ويمكنك تغييره من :

خصائص الحقل/غير ذلك/ الاسم

ولكن الاشكالية فيما لو كان الاسم مرتبطا بحدث  فيلزم مراعاة ذلك

كما يمكن كتابة اسم الحقل كتسمية توضيحية  في احد قيم الحقل ضمن الخصائص  مثلا في القيمة الافتراضية او في العلامة (Tag)

ثم الاشارة الى ذلك في الوحدة النمطية باستبدال ctlC.name  بالقيمة الجديدة

رابط هذا التعليق
شارك

أستاذي الفاضل أبو خليل جزاك _ الله _ خيرا 
أنا كنت أقصد أن إسم الحقل المستخدم في النماذج يكون أحرف أو جزء من كلمة إنجليزي لسهولة التعامل مع الأكواد وظهوره في جدول التعديلات بهذه الصورة قد تكون غير مفهومة للمستخدم للبرنامج فكنت أود أن أكتب إسم الحقل حروف مثلا وفي خصائص الحقل تحت التسمية التوضيحية أكتب أسمه بالعربي ويظهر لي في جدول التعديلات الاسم الذي بالعربي لسهولة وصول المستخدم للمعلومة 
أستاذي لم أفهم " ثم الاشارة الى ذلك في الوحدة النمطية باستبدال ctlC.name  بالقيمة الجديدة " أرجو التوضيح 

 

رابط هذا التعليق
شارك

وهل من طريقة لمعرفة التسمية التوضيحية المقابلة لإسم الحقل حيث عندي إسم الجدول وإسم الحقل مثل هذا الكود الذي لم أستطع تطبيقه
 

CurrentDb.TableDefs([TabName]).Fields([FildName]).Properties(["caption"])
تم تعديل بواسطه أبا عمر
رابط هذا التعليق
شارك

بعد إذن إستاذي الفاضل أبو خليل " أعتذر إبتداءا وإنتهاءا " على تدخلي بهذه المشاركة 

كلنا طلاب علم .. والا كيف نرتقي ؟

وأنا مثلك دخلت وعدلت على  هذا العمل ، وعلى يقين ان صاحيه سيبارك لنا ما انجزناه

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information