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

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

قام بنشر

بارك الله فيك أخي :

السلام عليكم ، الحمدلله لقد نجحت الطريقة بالنسبة للضغط على الشفت وتم فتح الملف على صفحة البيانات ، أما بالنسبة لكود التعديل فليس واضح المكان المخصص لوضعه ، وهل يجب علي أن أنشأء جدول أولاً وفي النموذج أضعه في أي حقل ، هل تنفع نفس طريقة التي عملت بها الكود اسم المستخدم لو تتذكر ، أي عند الحفظ ،،، وشكراً

قام بنشر

الطريقة الأولى قمت بعمل جدول فيه الحقول التالية : اسم المستخدم وتاريخ الدخول وتاريخ الخروج ونموذج الدخول ، وقمت بوضع زر حفظ في كل نموذج من نماذج الادخال ، بحيث ان على المتستخدم أن يضغط على الحفظ قبل الخروج ، وفي زر الحفظ وضعت عند الحدث الكود

()

Dim SQL As String

DoCmd.SetWarnings False

'On Error GoTo Err_Command98_Click

On Error Resume Next

SQL = "INSERT INTO UserLogs(DateLogs,TimeLogs,EventLogs,Username) VALUES(#" & _

Format(Now, "mm/dd/yyyy") & "#,#" & Format(Now, "hh:mm") & "#,'نموذج ادخال حساب','" & _

gUser & "')"

ترى أنه اسم النموذج هنا ( نموذج ادخال حساب) وفي كل نموذج ادخال فقط كنت انسخ وألصق وأغير اسم النموذج على حدة ، أما في التعديل فلا تبدو لي الصورة واضحة ، النتيجة التي أحصل عليها من جدول الذي قمت بإنشائه وهو الذي فيه الحقول المذكورة أعلاه ،، وجزاك الله عنا كل الخير

قام بنشر

لكن يا أختي هذه الطريقه لاتحقق لك ماتريدين , لأن الاضافه التي يقوم بها الكود السابق

على جدول مستقل , و هذا لايفيد بشي

لتوضيح الفكره فقط أقول لك مايلي :

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

سنضيف أربعة حقول على كل جدول :

اسم المستخدم الذي اضاف - تاريخ الاضافه - اسم المستخدم الذي عدل - وقت التعديل

و سنستخدم فيها الأكواد المذكوره في الوصله السابقه , اي في نموذج حركة الحساب مثلا ستضيفين الحقول الأربعه الى حقول جدول حركة الحساب , و الكود سيعمل بالآليه التاليه

من نموذج حركة الحساب , عند اضافة سجل جديد , سيتم تعبئة حقلي اسم المستخدم المنشأ - ووقت الاضافه بواسطو الكود التالي :

Private Sub Form_BeforeInsert(Cancel As Integer)
[CreatedBy] = dlookup("username","users") ()
[CreatedDate] = Now()
End Sub
الآن لو كان النموذج في وضع تعديل و ليس اضافه , سيتم تلقائيا تعبئة حقلي اسم الذي عدل - وقت التعديل بواسطة الكود التالي :
Private Sub Form_BeforeUpdate(Cancel As Integer)
[ModifiedBy] = dlookup("username","users") ()
[ModifiedDate] = Now()
End Sub

هذه هي الطريقه بكل وضوح , و اذا لم تكن واضحه استفسري و لو تحبين ارفاق ملفك عدلته لك

قام بنشر

مرحبا

الاخ radwn

اعجبني جداً هذا البرنامج وكنت ابحث عن مثله منذ زمن بعيد

على العموم ثبت البرنامج وشتغل تمام

لكن اطلعت عندي مشكلتين

الاولى

انه جعل النماذج تفتح في حجم صغير ونصف النموذج لايمكن قراءته

لأنه الغى الماكرو ماكس عند الفتح ووضع بدلاً عنه اجراء حدث

المشكله الثانيه لم افتح نموذج صلاحيات المستخدمين تطلع رساله

ليس لديك صلاحيه فتح هذا النموذج

قام بنشر

تستطيع أخي وضع كود التكبير مره أخرى عند فتح النموذج

أما بالنسبه لمشكلتك الثانيه فهي مطابقه لما حدث مع لينا , راجع تعريفات النماذج في برنامج الصلاحيات , و خذ بنظر الاعتبار أن التقارير لاتطبق عليها خاصية الصلاحيات من خلال ذلك البرنامج

قام بنشر

الاخ رضوان

شكراً لك اصبح الأن تمام

الشي الثاني بالنسبه لأسم مدخل المعلومات ومن عدل عملت كل شي تمام لكن صادفتني مشكلة وضع الاكواد

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

واريد حقل على النموذج يطلع فيه اسم المستخدم الحالي

اخيراً اود ان اخبرك بأن البرنامج الذي اعمل عليه هو لخدمة الايتام وفئة ذوي الظروف الخاصه

اتمنى منك المساعده في التعديل عليه

واحتساب ثوابك عند رب العالمين

قام بنشر

أخي صدقني ليس لدي الوقت الكافي لتصميم اي مثال , و لكان عندي كنت صممت للأخت لينا

التي لازالت تسأل حتى الآن و لم تتوصل للمطلوب

أرجو منك أو من الأخت لينا وضع اي مثال , و سأقوم ان شاء الله بعمل الباقي , الصلاحيات

و اسم المستخدمين و المعدلين .. الخ

تحياتي لكما

قام بنشر

للأسف مثالك غير كامل , ينقص فيه نماذج مطلوبه , سامحك الله

على كل حال وجدت ملف جاهز عندي و هو من تصميم الأستاذ ابن مسقط , خاص بشؤؤون الموظفين

يفتح الملف على نموذج الموظفين , في حقل الموظفين أضفت عليه الحقول الأربعه الخاصه باسم المنشأ للسجل - تاريخ الانشاء - اسم المعدل - تاريخ التعديل ( تجدها في آخر حقول الجدول ) ,

قم بانشاء سجل جديد , بشرط تعبئة جميع الحقول , و قم بتعديل سجل سابق

قم بتشغيل الملف من جديد , ستجد اسم المنشأ و المعدل و التواريخ موجوده في جدول الموظفين

كلمة المرور a - كلمة السر 1

ملاحظة : الحقول المضافه مخفيه في نموذج الموظفين - اذا أردت اظهارها غير خاصية الاظهار

ماتم عمله بالنسبه لجدول الموظفين , يمكن عمله بنفس الطريقه بالنسبه لبقية الجداول

Staff_ibnMuscat.rar

قام بنشر

السلام عليكم ورحمة الله وبركاته،،،

أولاً مع الأسف ما كنت موجودة أثناء النقاشات التي دارت بينكما ، بس المهم انها كانت والحمدلله مفيدة جداً، بالنسبة للأخ رضوان نشكرك على تحملك لنا دائماً ولقد اضفت إيملك عندي لمزيد من الأزعاج والطلبات ههههههه الله لا يحرمنا من عطائك ، المهم ان المثال جيد ومفيد ، وسوف أحاول أن اطبقه عندي ، بس لدي استفسار بسيط وهو أن الحقول لا تظهر ما هو التعديل الذي قام به المعدل ، فهي تظهر فقط من قام بتعديل ، وكل ما قام بتغيير سواءً كان حرفاً أو سجلاً كاملاً فهو واحد ولا تمييز هناك ، لذا لدي فكرة ولكن لا طريقة التطبيق ليست كاملة عندي فهل ممكن تساعدوني فيها ، وهي التالي :

يوجد في الاكسس خاصية أنه يعمل في بعض الأحيان (عند حدوث أخطاء أو ما شابه) يقوم بانشاء جدول احتياطي فيه حقول : تاريخ الدخول والقيمة القديمة والقيمة الجديدة وهكذا ، السؤال هو أليس من الأفضل أن نعمل مثل هذه الحقول لكي نعرف ما هو التعديل الذي قام به المعدل ،،، وانتم تعرفون أهمية التحقق من التعديل ،،،،

وأخيراً لدي موضوع ثاني أرجوا الاطلاع عليه والمشاركة من الجميع ،،،

وشكراً

قام بنشر

الاخ رضوان اشكرك على تعاونك

ادري ان احنه كثرنه عليك الاذيه لكن استحملنه ترى مالنه الا هالمنتدى الغالي

ومشرفيه الطيبين

وبقيت استفسر عن شيئين

الاول

ان اسم المدخل يطلع على شكل رموز غير مفهومه

مادري هالشي عندي بس ولا انت نفس الطريقه

ثانياً

البرنامج مايتعرف الا على المسؤول يعني لو يجي مستخدم ويسجل

معلومات يطلع اسم مدخل المعلومات هو السؤول نفسه

وكذلك بالنسبه للتعديل

ارجو مساعدتك في حل هاتين المشكلتين

قام بنشر (معدل)

نعم أخي السهران عندك حق , أنا أخطأت في كود اسم المستخدم , و هذا التعديل هنا

Private Sub Form_BeforeInsert(Cancel As Integer)
[CreatedBy] = MyUser.UserName
[CreatedDate] = Now()
End Sub

و مثله الكود الآخر

و هذا الملف حسب طلب لينا , يفتح نموذج الادارات ( مأخوذ من برنامج ابن مسقط نفسه )

في حال التعديل في أي من حقول النموذج , يتم ادخال سجل جديد في جدول التعديلات modifications

حيث يسجل فيه :

اسم الجدول -

اسم الحقل الذي تم فيه التعديل

رقم السجل اذلي تم فيه التعديل

القميه الأصليه للحقل

القميه المعدله

من قام بالتعديل

تاريخ ووقت التعديل

اسم المتسخدم rudwan

كلمة السر 1

ModifiedFields.rar

تم تعديل بواسطه rudwan
قام بنشر

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

يعلم الله أنني ادعو لك في الغيب ،، وجزاك الله خيراً ،،،

قام بنشر (معدل)

أبدا يا أختي , ليس الذي يسأل هو الفضولي , بل الذي يرغب بالتعلم لابد أن يسأل , و في المنتدى من هو أفضل مني بكثير , و الكل جاهز لتقديم المعلومه لمن يرغبها

و أنا أشجع من يسأل كثيرا لأنه سيتعلم سريعا .

المهم , هل هذا هو المطلوب , أم لازال هناك اي استفسار ؟

تم تعديل بواسطه rudwan
قام بنشر

الاخ رضوان مساء الخير

بالنسبه لاسم المدخل عندما وضعت هذا الكود


Private Sub Form_BeforeInsert(Cancel As Integer)

[user] = MyUser.UserName = DLookup("uname", "users")

End Sub

اصبح يسجل اسم المدخل O

حتى اذا غيرت المستخدم يعطيني نفس هذه القيمه

اناوضعت الكود ساعدني في اصلاحه

تحياتي

قام بنشر (معدل)

هذا خطأ يا أخي , ألم تنسخ الكود الذي وضعته لك أعلاه

Private Sub Form_BeforeInsert(Cancel As Integer)
[CreatedBy] = MyUser.UserName
[CreatedDate] = Now()
End Sub

تم تعديل بواسطه rudwan
قام بنشر

الاخ رضوان

حاول كثي والله اني تعبت

ارجو منك وضع الكود بالكامل حسب معطيات الكود الذي وضعته انا بالاعلى

من دون ان تستثني اي شي

اشكرك على صبرك معي

قام بنشر

فهمت قصدك اخيراً اخوي رضوان

بس بقى استفسر عن شي واحد

لوكان التعديل عن طريق نموذج اخر فكيف واين يتم ادراج الكود

قام بنشر

التعديل في البيانات يكون عن طريق نموذج اخر خاص بتعديل البيانات

طبعاً بعد تعديل البيانات هناك زر امر تسجيل

انا حاولت اني اضع الكود قبل التحديث ولم ينفع معي

تحياتي

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information