التخطي إلى المحتوى الرئيسي

التحكم بصلاحيات المستخدمين في مايكروسوفت اكسس - شرح عام

تحديد الصلاحيات لكل مستخدم بشكل منفصل في اكسس


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

1- انشاء جدول للمستخدمين يحتوي على اسم المستخدم وكلمة المرور (ونوعهما نص قصير)  بالاضافة الى انواع الصلاحيات، وهنا يجب ان يتم فصل كل صلاحية بحقل مستقل ويكون نوع البيانات في هذه  الحقول (نعم / لا) كما في الصورة التالية



 2- انشاء نموذج للدخول الى قاعدة البيانات وليكن باسم Login

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

3- انشاء النماذج التي سيتم العمل عليها ووضع الصلاحيات لها (وانا افضل ان يتم انشاء لوحة تحكم) كما يلي



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

' الكود التالي سيتحقق من ان للمستخدم صلاحية المدير واذا لم يكن لدية صلاحية سيقوم بتعطيل زر الصلاحيات
If DLookup("isadmin", "tblusers", "userName='" & [Form_login].usr & "'") = False Then
    Command4.Enabled = False
End If 

وممكن ان نضع كود اخر في حدث عند الفتح سيتاكد من ان المستخدم لديه صلاحية فتح نموذج الاصناف واذا لم تكن لديه هذة الصلاحية فانه سيتم تعطيل زر الاصناف الموجود في النموذج اعلاة
' الكود التالي سيتحقق من ان للمستخدم صلاحية فتح نموذج لاصناف واذا لم يكن لدية صلاحية سيقوم بتعطيل زر الاصناف
If DLookup("OpenProductForm", "tblusers", "userName='" & [Form_login].usr & "'") = False Then
    Command2.Enabled = False
End If
وبنفس الطريقة يمكن ان نقوم بعمل صلاحية لكل مستخدم مختلفة تماما عن المستخدم الاخر، وللمزيد يمكنكم مشاهدة هذا الفيديو











تعليقات

  1. مشكوووووووووور أستاذنا الغالي
    إذا أمكن مثال (VBA) عن الصلاحيات التي وضعتها
    وعند إضافة مستخدم جديد كيف يتم توزيع الصلاحيات عليه من خلال النموذج (form)
    بارك الله فيك وفي علمك

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

    ردحذف
  3. الله يبارك بيك على هذا الشرح الرائع
    .ياريت لو كان الملف مرفق معه

    ردحذف

إرسال تعليق

المشاركات الشائعة من هذه المدونة

انشاء الجداول في اكسس

انشاء الجداول في اكسس بعد انشاء ملف اكسس جديد فان الخطوة الاولى ستكون انشاء الجداول، ولانشاء الجداول نتبع ما يلي: 1- اختيار create  كما في الصورة 2- نقوم باختيار Table او Table Design والامر متروك للمستخدم، وانا بشكل شخصي افضل Table Design 3- بعد اختيار Table Design ستفتح لنا نافذة تصميم الجدول كما في الصورة 4- الحقل الاول Field Name يتم فية ادخال عناوين الاعمدة (الحقول) 5- الحقل الثاني Data Type يتم فية تحديد نوع المتغير (رقم ، نص ، تاريخ ...الخ) 6- الحقل الثالث Description وهو حقل اختياري ويتم فية ادخال وصف لهذا العمود 7- في كل جدول يجب تحديد المفتاح الاساسي ويجب ان يحتوي هذا الحقل على قيمة فريدة لا تتكرر مع اي حقل اخر. 8 - بعد الانتهاء نقوم باغلاق الجدول وعندها ستظهر نافذة لتحديد اسم الجدول وحفظة . 9- بعد فتح الجدول سيكون شكله كما في الصورة 10- نلاحظ ان عنوان العمود الاول ظهر كما تم كتابتة في التصميم اما العمود الثاني فقد ظهر اسمة باللغة العربية والسبب انه تم اضافة تسمية للعمود من خصائص الحقل اثناء تصميم الجدول كما في الصورة وبذلك يكو...

انشاء نموذج للدخول باسم مستخدم وكلمة مرور الى برنامج اكسس

انشاء نموذج للدخول باسم مستخدم وكلمة مرور الى برنامج اكسس عندما يكون البرنامج متاح لاكثر من شخص للعمل علية فلا بد من حماية البرنامج من المستخدمين غير المصرح لهم من خلال اضافة نموذج للدخول الى قاعدة الببيانات، ولانشاء نموذج الدخول الى البرنامج نتبع الخطوات التالية: انشاء جدول للمستخدمين يتم فيه تخزين اسماء المستخدمين وكلمات مرورهم ويحتوي على حقل لاسم المستخدم وحقل لكلمة المرور انشاء نموذج للدخول ويحتوي على مربعي نص غير مستندة الى مصدر بيانات، وزري امر واحد للالغاء والثاني للدخول  اضافة الكود التالي في حدث عند النقر في زر موافق   VBA   If pas = DLookup("userpass", "tusers", "usernam='" & [usr] & "'") Then DoCmd.OpenForm "Form1" Else MsgBox "يوجد خطأ في اسم المستخدم او كلمة المرور" End If

الشروط في الاستعلامات

الشروط في الاستعلامات يمكن اضافة الشروط في تصميم الاستعلام وعند اضافة الشرط فان الاستعلام سيقوم باظهار السجلات التي ينطبق عليها الشرط فقط، ويجب الانتباه الى انواع الحقول في الجدول قبل و ض ع الشرط لان صيغة الشرط في النص يختلف عنة اذا كنا نتعامل مع ارقام او تاريخ وسنتطرق الى هذة الانواع في هذا الموضوع. الصورة ادناة تخص تصميم الجدول الذي سنتعامل معه حيث يحتوي على اربع حقول من ظمنها اسم الطالب ونوعه نص قصير، وتاريخ الميلاد ونوعه تاريخ ووالنتيجة ونوعه رقم تم انشاء المثال اعلاة وتم تسميه الحقول باللغة العربية لتسهيل فهم الموضوع ، مع التاكيد على استخدام اللغة الانجليزية لكتابة المسميات يمكنك مشاهدة الفيديو للحصول على ايضاحات اكثر او الاستمرار بقراءة الموضوع 1-     الشروط في الحقل الذي يحتوي على نص او ارتباط تشعيبي: حسب الصورة اعلاة  لتصميم الجدول الخاص بنتائج الطلاب نلاحظ ان نوع البيانات في الحقل الثاني (اسم الطالب)    هو نص " Short Text "  وللتعامل مع هذا الحقل في الاستعلامات ،   في تصميم الاستعلام يمكننا ان نظع الشروط وكم...