اقدم لكم اليوم درس عن كيفية عمل اسم مستخدم وكلمة سر ومنح صلاحيات للمستخدم لتطبيقها على قواعد بيانات اكسيس
مقدمة
اعترافا مني لما قدمة هذا المنتدى لى من عون سواء من مشرفين او اعضاء وانا اقل من مبتداء فى الاكسيس.
لكنى توصلت الى بعض الافكار التى اريد مشاركتكم بها .
وبنا علية اقدم لكم اليوم هذا الدرس الخاص بعمل اسم مستخدم وكلمة سر ومن خلال هذا نستطيع تحديد الصلحيات
لنبدا سويا
اولا نقوم بعمل جدول اسمه 11 وننشاه فى طريقة وضع التصميم
1-نصنع حقل نسمية id وهو الاسم التعريفى للمستخدم وهو حقل نصىtext ويكون مفتاح اساسى( وبناء علية سيكون مطلوب و مفهرس ولا يسمح بالتكرار)
2-نصنع حقل اخر نسمية password -كلمة السر - وهذا الحقل نصى text ويكون مطلوب ومفهرس ولكنة يسمح بالتكرار
3-نصنع حقل اخر ونسمية group-وهو الحقل الخاص بتحديد صلاحيات المستخدم وهو حقل رقمى نحدد فية رقم من 1 الى 3 فى مثالى وهو حقل مطلوب ومفهرس ويسمح بالتكرار
اكيد فى حد بيسال الان ما الهدف من وجود هذا الجروب ؟
اجيبك الهدف من الجروب فى هذا المثال هو تحديد صلاحيات المستخدم من خلاله فمثلا مستخدم "س" يظهر له نموذج خاص بة وهو الجروب الاول (1) مستخدم "ص" يظهر لةنموذج خاص بة وهو الجروب الثانى فاذا لديك فى الشركة عدة اقسام مثل حسابات ومخازن وتريد اظهار بعض النماذج الخاصة بالحسابات ولا تظهر لمستخدم المخازن فعليك وضع هذة الصلحيات فى النموذج النهائى الذى سيظهر لك نتيجة لتحديد رقم الجروب (من خلال كامل الشرح ستصل معى الى النتيجة ان شاء الله )
4 وضح بعض البيانات الشخصيه الخاصة بالعضو من اسم وادوات الاتصال به واخرى (غير هام )
الان نقوم بعمل استعلام مبنى على هذا الجدول ويكون بة ID & Password & Group واسمة 1 Query
1-ونضع اسفل IDفى حقل المعيار هذا الكود
[Forms]![form1]![id]
وهذا الكود يعنى معيار هذا الحقل قم باخذه(البرنامج) من نموذج اسمة form1 وبداخل حقل اسمة ID
2-نضع اسفل password فى حقل المعيار هذا الكود
[Forms]![form1]![password]
وهذا الكود يعنى معيار هذا الحقل قم باخذه(البرنامج) من نموذج اسمة form1 وبداخل حقل اسمة password
الان نقم بعمل النموذج الاساسى الذى سيظهر للمستخدم للدخول الى قاعدة البيانات
1-وسنسميه form1 وهو نموزج مبنى على الجدول 11 وناخذ منة الحقل الخاص باسم المستخدم وهو id وكلمة السر وهو password
بعد هذا نحذف ارتباط هذين الحقلين بالجدول وذلك من خلال الخصائص والبيانات control sours نمسح الذى امامها وبذلك تصبح هذة الحقول غير مربوطة بالجدول
2- نصنع زر نسمية sign in ونضع فى الحقل الخاص بالحدث عند الضغط هذة الاكواد البسيطة
If IsNull(ID) = True Then MsgBox "انت لم تدخل اسم المستخدم", vbCritical, "خد بالك" End End If If IsNull(password) = True Then MsgBox "انت لم تدخل كلمة السر", vbCritical, "خد بالك" End End If DoCmd.OpenForm "1 Query1"
وهذة الاكواد تعنى خروج رسالة تحذيرية عندما لا يوجد شى فى حقل كلمة السر او اسم المستخدم
والكود اخر يعنى فتح نموزج اسمة "1 Query1" وهذا الذى سنقوم بعملة فى الخطوة القادمة
بناء نموذج 1 Query1 وهو نموذج مبنى على الاستعلام 1 Queryوسناخذ منه الثلاث حقول السابق عملها بالاستعلام وهى ID & Password & Group
الان نضع label ونكتب به اهلا ومرحبا بك ونضع بجانبة الحقل الخاص ب id فستظهر كرساله تقول اهلا ومرحبا بك فلان (اسم المستخدم )
نجعل الحقل الخاص بالباسورد والجروب غير مرائية وذلك من خصائص visible no
الان سنقوم بوضع بعض الاكواد الخاصة جدا والهامة للنموذج
1-سنضع كود هام وهدفة عند ادخال بيانات اسم مستخدم او كلمة سر غير صحيحة يقوم البرنامج بعمل رساله تحذيرية يقول انك ادخلت بيانات غير صحيحة وبناء علية يقوم باغلاق هذا النموذج
2-اما فى حاله تطابق اسم المستخدم مع كلمة السر فيغلق النموذج السابق وهو form 1
وتسطيع عمل هذا من خلال وضع بعض الاكواد فى حدث عند الفتح الخاص بنموذج 1 Query1 وهو بناء ماكرو
ويكون كالاتى
1-فى حقل condition نكتب IsNull([id]) وفى action نكتب msgbox وفى arguments نكتب لقد ادخلت بيانات غير صحيحة اعد المحاولة; Yes; Critical; لقد ادخلت بيانات غير صحيحة
اسفلة نكتب
2- فى حقل condition نكتب IsNull([id]) وفى action نكتب close وفى arguments نكتب Form; 1 Query1; Prompt
اسفلة نكتب
3- فى حقل condition نكتب NOT IsNull([id]) وفى action نكتب close وفى arguments نكتب Form; Form1; Yes
وبهذا نكون حققنا هدفنا السابق
الان فى هذا النموذج نقوم بعمل زر جديد وسنسميه go وتحت حدث هذا الزر نكتب هذة الاكواد
If (Text8) = 1 Then DoCmd.OpenForm "group1" End If If (Text8) = 2 Then DoCmd.OpenForm "group2" End If If (Text8) = 3 Then DoCmd.OpenForm "group3" End If DoCmd.OpenForm "1 query1", , , , , acHidden
والهدف من هذة الاكواد هو فتح النماذج الخاصة بكل مستخدم حسب رقم الجروب الخاص به وهى تعنى فتح الصلحيات الخاصة بة
ولنلاحظ فى اخر كود اننا لا نقوم باغلاقة ولكننا نجعلة فى وضع مخفى والهدف من هذة العملية هو استخدام اسم المستخدم فى كل عملية يقوم بها فعلى فرض انى اقوم بادخال بيانات فاتورة فساجعل بها حقل اسمة اسم المستخدم (وهو اسم المستخدم الذى يدخل البيانات الان)ولنجعل القيمة الافتراضية لهذا الحقل هو اسم المستخدم الماخوذ من هذا (1 query1) النموذج المفتوح فى وضع مخفى. وكانة توقيع من المستخدم على كل عملية قام بها .
الان نصنع نماذج نضع بها الخصائص الخاصة بكل مجموعة وفى مثالى هذا انا صنعت ثلاث مجموعات من بينهم مجموع من خلالها نستطيع اضافة مستخدمين جدد وتحديد صلاحيتهم .
لا تنسى ان تجعل هذة النماذج (المجموعات) بدون زر close
وقد قمت بوضع زرار فى داخل المجموعات اسمة sign out والهدف منة هو خروج المستخدم ودخول باسم مستخدم جديد ووضعت اسفل حدث عند الضغط
1- close والهدف منة اغلاف هذا النموذج المفتوح الان
2- close Form; 1 Query1; Yes والهدف منة اغلاق نموذج 1 Query1 الذى كان مفتوح فى وضع مخفى
3- Form1; Form; ; ; ; Normal OpenForm والهدف منة فتح نموذج ادخال اسم المستخدم و كلمة السر
ارجوا ان اكون قد وفقت فى تقديم هذ العمل لكل اعضاء ومشرفين ومديرين هذا المنتدى العظيم
لكم منى ارق التمنيات بالنجاح والتوفيق
ورجاء محبة عند النقل زكر اسمى واسم المنتدى فهذة فكرتى ولى الحق فى برائة اكتشاف ابتكار اختراع اى شى :)
:) :) :) :) :)
للتحميل اضغط هنا لا اعلم ما سبب كبر حجم الملف هكذا
http://www.mediafire.com/?2cm28rdl5ci3xea
اذا يوجد اى استفسارات او تعليقات او توجيهات ارحب بكم وعلى قدر استطاعتى سارد عليكم
