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

أفكاركم لتعديل طريقة صلاحيات عند اضافة اسماء نماذج كثيرة


محمد صلاح1

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

بالمرفق نموذج بسيط لفكرة تحديد 3 نماذج لتطبيق الصلاحيات عليها

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

تعديل صلاحيات.accdb

تم تعديل بواسطه محمد صلاح1
  • Confused 1
رابط هذا التعليق
شارك

في ١٠‏/٩‏/٢٠١٩ at 15:21, محمد صلاح1 said:

بالمرفق نموذج بسيط لعمل لتحديد 3 نماذج تحتاج لتطبيق الصلاحيات عليها

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

تعديل صلاحيات.accdb 528 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 0 downloads

يا الهى 60 نموذج

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

انظر يا استاذ @محمد صلاح1 :fff:
اولا انا كنت اعمل على اعذداد مشروع ضخم بهذا الصدد اخذا فى الاعتبار كل التفاصيل الكبيرة منها والصغيرة التى تعملتها على ايد اساذتى الكرام وعلى رأسهم التبيهات التى ظل استاذى الجليل ومعلمى القدير الاستاذ @jjafferr :fff: بارك الله لنا فيه ورزقه كل الخير ان شاء الله
- سهولة التعديل على اعداد القاعدة بمرونه من ال end users  بدون الذهاب الى الاكواد :biggrin:
- عدم استخدام الرسائل العربية مطلقا بأى شكل من الأشكال داخل محرر الاكواد 
اولا هتان النقطتان اتعبانى جدا جدا جدا جدا جدا وكانوا سببا رئيسيا فى تأخير هذا العمل ولازال قيد الدراسة والتصميم

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

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

ان كنت على عجل من امرك 

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

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

هذا ما بنيت قاعدتى عليه والتى ستكون ان شاء الله بين اياديكم قريبا بامر الله

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

شفاك الله وعافاك أخي @ابا جودى سوف أنتظر بإذن الله لعملك

واسمح لي بتصبيره حتي ذلك بإجابة سؤال سألته لك هنا وهو

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

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

FrmAbilities (Me.Name)
'If ContinueCode = False Then Exit Sub

&

'Dim SF As Control
'With MyUser
   'If .GetAbility(Me.Name, O_Open) Then
      'Me.AllowAdditions = .GetAbility(Me.Name, A_ADD)
      'Me.AllowEdits = .GetAbility(Me.Name, E_Edit)
      'Me.AllowDeletions = .GetAbility(Me.Name, D_Delet)
      'For Each SF In Me.Controls
        'If SF.ControlType = acSubform Then
            'SF.Form.AllowAdditions = Me.AllowAdditions
            'SF.Form.AllowEdits = Me.AllowEdits
            'SF.Form.AllowDeletions = Me.AllowDeletions
        'End If
      'Next
   'Else
      'MsgBox "عفواً " & .UserName & "      " & vbCr & vbCr & "ليس لديك الصلاحية لفتح هذا النموذج", 0 + 16 + 1572864, Compan
      'Cancel = True
   'End If
'End With

 

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

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

 

صلاحيات النماذج.jpg

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

أخي @محمد صلاح1 أضع هذه الصورة من ملفي .. لعلها قد توصلك لنتيجة 

01.PNG.fc45cfece53954238aad1528311496dd.PNG

قمت بوضع خيار في النموذج الرئيسي لتحديد جميع اسماء النماذج بالنموذج الفرعي حسب الخيار

كمثال وضعت هذا الكود في خيار تحديد كل الفتح  Oall

If Me.Oall = True Then
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE UsersFrmAbility_T SET UsersFrmAbility_T.O = 1 WHERE (((UsersFrmAbility_T.SN)=[Forms]![UsersAbility_F]![UL]));"
DoCmd.SetWarnings True

      Me.Refresh
      SysCmd acSysCmdClearStatus
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE UsersFrmAbility_T SET UsersFrmAbility_T.O = 0 WHERE (((UsersFrmAbility_T.SN)=[Forms]![UsersAbility_F]![UL]));"
DoCmd.SetWarnings True

      Me.Refresh
      SysCmd acSysCmdClearStatus
 End If

 

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

أخي @qathi شكرا علي التجاوب الإيجابي

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

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

السلام عليكم

اقتراحي البسيط لانشاء الصلاحيات للتعامل مع كل هذا الكم من النماذج:

1- انشاء جدول مخصص للصلاحيات به حقلان فقط كود الصلاحية واسم الصلاحية, كمثال: 0-مدير النظام 1-المحاسبين الماليين 2- المراجعين وهكذا 

2- نضيف حقل جديد في جدول بيانات الموظفين يحمل كود الصلاحية الخاصة بكل مستخدم.

3- نضع كود تحقق فى مودل بسيط لكود الصلاحية اذا ونستدعيه عند فتح الفرم اذا وافق كود الصلاحية التعامل مع الفورم فتح وإلا لا.  ودمتم

هذا والله أعلم 

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

الان, أبو عبدالله الحلوانى said:

اقتراحي البسيط لانشاء الصلاحيات للتعامل مع كل هذا الكم من النماذج

وعليك السلام أ @أبو عبدالله الحلوانى شكراً للتجاوب الإيجابي

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

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

8 دقائق مضت, محمد صلاح1 said:

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

الله المستعان 

ولكن أود توقيع كتابي من ولي المريض بكون الطبيب والمستشفي غير مسئولين تمام المسئولية عن أي ضرر ناتج عن الجراحة 

وبعد الاقرار سيتم تحديد موعد الجراحة غدا ان شاء الله - وتقبلوا تمنياتنا بالشفاء العاجل ان شاء الله 😁 

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

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

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

ولكن علي حسب الاتفاق أولا 

22 ساعات مضت, أبو عبدالله الحلوانى said:

ولكن أود توقيع كتابي من ولي المريض بكون الطبيب والمستشفي غير مسئولين تمام المسئولية عن أي ضرر ناتج عن الجراحة 

😉

NewSl7yat.accdb

اضف حساب جديد عند الدخول وجرب جميع الصلاحيات 

 

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

أ @أبو عبدالله الحلوانى أولاً شكرا للوفاء بالوعد وإجراء جراحة التجميل الأولي

ثانياً بص المثال قصدي "نتيجة عملية التجميل" من الوهلة الأولي مدهشة وتحتاج لقاعدة بتركيز وفنجان قهوة

ولكن هناك ملاحظات رئيسية تحتاج لأعادة نظر لمزيد من التجميل والتحسين والتقريب

1- مش منطقي عند تسجيل المستخدم الجديد أن يختار صلاحيته بنفسه أكيد هيختار مسئول النظام علشان يتحكم في كل حاجة والتعديل المطلوب هنا أن يكون كما في ذلك الرابط ( فالارتباط وثيق بين الموضوعين بحيث يكمل كل منهما الأخر)

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

3- الصلاحية الموجودة في الوحدة النمطية هي للفتح فقط ونريد معها أربع صلاحيات أخري "الاضافة والتعديل والحذف والطباعة".

 

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

9 دقائق مضت, محمد صلاح1 said:

1- مش منطقي عند تسجيل المستخدم الجديد أن يختار صلاحيته بنفسه

هذا مجرد مثال لتوضيح الفكرة فحسب لذي تم ترك هذه الصلاحيات عمدا للتوضيح ليس الا.

11 دقائق مضت, محمد صلاح1 said:

2- النماذج التي تقع تحت نطاق الصلاحية في مثالك عددها صغير "خمسة" وفي عملي حوالي 60 نموذج فالطريقة هنا ليست مناسبة لهذا العدد

لو تلاحظ أن ما قمت به هو أمر واحد تم تكراره مع كل النماذج فى حدث عند الفتح فمهما كان عدد النماذج لن يتغير الأمر - وكما ذكرت أولا أن هذا مجرد مثال الغرض منه بيان فكرة يمكنك أن تستعمل تلك الفكرة وتبلورها وتضيف اليها وتنميها كيفما تشاء .

16 دقائق مضت, محمد صلاح1 said:

3- الصلاحية الموجودة في الوحدة النمطية هي للفتح فقط ونريد معها أربع صلاحيات أخري "الاضافة والتعديل والحذف والطباعة".

نعم يمكن هذا 

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

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

20 دقائق مضت, أبو عبدالله الحلوانى said:

هذا مجرد مثال الغرض منه بيان فكرة يمكنك أن تستعمل تلك الفكرة وتبلورها وتضيف اليها وتنميها كيفما تشاء

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

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

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

(UserId , UserName , Password , UserTayb, Additions (Yeas / No), Deletions (Yeas / No), Edits (Yeas / No))

 

ففي شاشة الدخول LOGIN

نحتاج لتعريف متغيرات عامة من نوع Global حسب جدول المستخدمين

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

 

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

 

ففي جميع الأحوال يتم التطبيق حسب حاجة التصميم لديك 

تم تعديل بواسطه د.كاف يار
  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

2 ساعات مضت, أبو عبدالله الحلوانى said:

السلام عليكم

جرب هذا التعديل 

وعليك السلام أ @أبو عبدالله الحلوانى وشكراً علي كرم المتابعة

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

1- هل بالإمكان إنشاء وتحديد مستويات المستخدمين برمجياً حسب الموضح هنا فإن كان بالأمكان ارجو تطبيق الفكرة عملياً للانتقال للخطوة التالية وهي

2- هل بالإمكان عمل جدول يحوي بداخله اسماء النماذج مع حقلين لأسم المستخدم ومستوي صلاحية دخوله بحيث عند دخوله يتعرف البرنامج علي صلاحياته وفقاً لذلك فإن كان بالإمكان أنتقلنا للخطوة الأخيرة وهي

3- هل بالإمكان الإنتقال برمجياً من مستوي زائر إلي مستوي محرر من خلال التفعيل بالطريقة التي ترونها مناسبة 

هذا هو التصور الذي اود التوصل إليه تحديداً مع خالص شكري وتقديري لجميع المتجاوبين

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

58 دقائق مضت, د.كاف يار said:

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


(UserId , UserName , Password , UserTayb, Additions (Yeas / No), Deletions (Yeas / No), Edits (Yeas / No))

 

ففي شاشة الدخول LOGIN

نحتاج لتعريف متغيرات عامة من نوع Global حسب جدول المستخدمين

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

 

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

 

ففي جميع الأحوال يتم التطبيق حسب حاجة التصميم لديك 

مبارك لحضرتك الترفية إلي درجة خبير فأنت لها أهل إن شاء الله

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

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

1 ساعه مضت, د.كاف يار said:

ففي جميع الأحوال يتم التطبيق حسب حاجة التصميم لديك

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

ولكن الأمر كما ذكر أستاذنا الكريم د/حسين كمال. استخدامك لفكرة ما متعلق بحاجة التصميم لديك والفكرة العامة التي يقوم عليها برنامجك.

 

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

2 ساعات مضت, د.كاف يار said:

ففي جميع الأحوال يتم التطبيق حسب حاجة التصميم لديك 

ولقد قدمت تصوري حسب حاجة التصميم لدي

2 ساعات مضت, محمد صلاح1 said:

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

1- هل بالإمكان إنشاء وتحديد مستويات المستخدمين برمجياً حسب الموضح هنا فإن كان بالأمكان ارجو تطبيق الفكرة عملياً للانتقال للخطوة التالية وهي

2- هل بالإمكان عمل جدول يحوي بداخله اسماء النماذج مع حقلين لأسم المستخدم ومستوي صلاحية دخوله بحيث عند دخوله يتعرف البرنامج علي صلاحياته وفقاً لذلك فإن كان بالإمكان أنتقلنا للخطوة الأخيرة وهي

3- هل بالإمكان الإنتقال برمجياً من مستوي زائر إلي مستوي محرر من خلال التفعيل بالطريقة التي ترونها مناسبة 

هذا هو التصور الذي اود التوصل إليه تحديداً مع خالص شكري وتقديري لجميع المتجاوبين

 

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

اليوزر والباسورد

1     1

2     2

هذا المثال يا استاذ @محمد صلاح1 فى ابسط حالاته بعد التعديل البسيط حسب طلبك

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

FrmAbilities (Me.Name)
If ContinueCode = False Then Exit Sub

 

والتقرير

ReportAbilities (Me.Name)
If ContinueCode = False Then Exit Sub

 

 

مثال صلاحيات.mdb

تم تعديل بواسطه ابا جودى
  • Thanks 1
رابط هذا التعليق
شارك

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