الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية تسجيل وقت خروج المستخدم

بدأه Azizmm في 17 سبتمبر 2012 · 5 رد · 2,117 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أود معرفة كيفية نقل بيانات من حقل في نموذج غير مرتبط لجدول آخر حيث لدي قاعدة بيانات فيها صلاحيات متعددة وأود عند الخروج من المنظومة تسجيل وقت الخروج للمستخدم في ملف خاص Security حيث يسهل مراقبة حركات وخروج المستخدمين كما أود معرفة طريقة تسجيل اسم المستخدم على فاتورة بيع مثلاً كما تم تسجيل وقت الدخول للمستخدم .

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

وقد عودتمونا على حل مشاكلنا العلمية دائماً فلا تبخلوا علينا .

صلاحيات متنوعة.zip

#2

تفضل اخي الكريم

ملفك بعد التعديل

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

Private Sub TexBox_EntryDateMai_AfterUpdate()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim username As String
Dim logintime As String

TexBox_EntryDateMai = Now()
username = ComBox_UserName
Set db = CurrentDb()
Set rs = db.OpenRecordset("Security", dbOpenDynaset)
rst.AddNew
logintime = TexBox_EntryDateMai
rs!Name = username
rs!ENTRY_DATE = logintime
rs.Update
rs.Close
db.Close

Set rs = Nothing
Set db = Nothing
End Sub

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

وايضا سوف نستخدم هذا الكود عند الخروج من النموذج او عند اغلاقه

Private Sub Form_Close()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim username As String
Dim logouttime As String
Dim strSQL As String

Set db = CurrentDb()
username = ComBox_UserName
TexBox_ExitDateMai = Now()
strSQL = "SELECT Security.NAME, Security.EXIT_DATE FROM Security WHERE (((Security.NAME)= '" & username & "'));"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
rs.Edit
logouttime = TexBox_ExitDateMai
rs!EXIT_DATE = logouttime
rs.Update
rs.Close
db.Close

Set rs = Nothing
Set db = Nothing
End Sub

الأكواد السابقة سوف تقوم بتسجيل اسم المستخدم ووقت وتاريخ الدخول ووقت وتاريخ الخروج في الجدول Security

za-صلاحيات متنوعة-UP.rar

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 19 سبتمبر 2012 في 23:23

1
#3

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

تحية طيبة وبعد

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

1-ولكن عند اغلاق النموذج يتوقف البرنامج عند الأمر rs. Edit ويبق عالقاً فلا أدري سبب ذلك

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

والسلام .....

#4
Azizmm كتب:

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

تحية طيبة وبعد

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

1-ولكن عند اغلاق النموذج يتوقف البرنامج عند الأمر rs. Edit ويبق عالقاً فلا أدري سبب ذلك

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

والسلام .....

معذرة اخي الكريم

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

Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)

الى السطر الجديد

Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

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

post-15367-063168500 1348090499_thumb.gi

za-صلاحيات متنوعة-END.rar

بالتوفيق

المرفقات
M1.gif
1
#5

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

تحية طيبة...

مني لجميع أعضاء المنتدى ألف شكر وشكر وعرفان ولمعلمتنا زهرة مثلها وأكثر...

لقد استفدت من المشاركة السابقة ولكن مازالت المشكلة قائمة حيث يتم تسجيل وقت خروج كل مستخدم مرة واحدة فقط وفي المرة الثانية لنفس المستخدم لا يتم تسجيل وقت خروجه فما ادري سبب ذلك ؟

وللجميع ألف دعوة خير وبارك الله في الجميع...

#6
Azizmm كتب:

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

تحية طيبة...

مني لجميع أعضاء المنتدى ألف شكر وشكر وعرفان ولمعلمتنا زهرة مثلها وأكثر...

لقد استفدت من المشاركة السابقة ولكن مازالت المشكلة قائمة حيث يتم تسجيل وقت خروج كل مستخدم مرة واحدة فقط وفي المرة الثانية لنفس المستخدم لا يتم تسجيل وقت خروجه فما ادري سبب ذلك ؟

وللجميع ألف دعوة خير وبارك الله في الجميع...

بارك الله بك اخي الفاضل

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

ولكن لو افترضنا على سبيل المثال ان المستخدم او المستخدمين دخلوا وخرجوا 100000 ( مائة الف مره ) على قاعدة البيانات فسيتم تسجيل دخولهم وخروجهم مائة الف مره وسوف يمتلئ جدول الدخول والخروج بكل هذه الأوقات وفي نهاية المطاف حتما ستبحث عن اسم المستخدم الذي دخل آخر مره لقاعدة البيانات ولن يهمك الأوقات السابقة لأن اخر وقت لدخول وخروج المستخدم هو الذي قام بعمل تحديث لأي شيء تريد معرفته وايضا سوف تضظر الى مسح جميع الأوقات السابقة في حالة ان الجدول امتلئ بالسجلات .

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

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 21 سبتمبر 2012 في 12:07

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…