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

osama ababneh

المشرفين السابقين
  • Posts

    729
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه osama ababneh

  1. في الفترة السابقة قمت بتطبيق هذة الفكرة للتحكم بمستويات الصلاحيات واحببت اليوم مشاركتها معكم لتعم الفائدة واستفيد من اي مقترحات وملاحظات على هذة الطريقة

    الفكرة:

    ان يتم تحديد الصلاحية لكل مستخدم  ولكل نموذج او تقرير من حيث فتح النموذج او التقرير ، اضافة سجل جديد ، حذف سجل ، تعديل السجلات

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

    طريقة تعديل واضافة الصلاحيات:

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

    وبخصوص قائمة النماذج والتقارير تم استخدام جدول النظام  MSysObjects

     

     

    فيديو يوضح الطريقة

    https://youtu.be/AmfpDgLWUBg
     

    الصلاحيات حسب المستخدم و نوع الكائن .rar

    • Like 6
  2. بالنسبة للمطلوب الاول اعتقد انه لا توجد مشكلة في تشغيل ملفات  ACCDE  على اصدارات 2007 او 2010 ولكن المشكلة هي تصميم برنامج باستخدام  32bit  وفتحة في اصدار  64bit  او العكس وحل هذه المشكلة في الاجهزة التي تحتوي على اصدار  64bit   استخدم  PtrSafe قبل كلمة Function او يمكنك ان تضيف تضيف كود يتاكد من الاصدار ويقوم بتشغيل ال Function المناسبة

    مثلا

    #If VBA7 Then ' ...........................................................if User Have Office 64 bit
        Private Declare PtrSafe Function Officena (aa as string)
    #Else ' .................................................................. if User Have Office 32 bit
        Private Declare Function Officena (aa as string)
    #End If

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

    • Like 2
  3. السلام عليكم

    ببساطة ادخل على تصميم النموذج الفرعي "مساعد أخر العمليات " او "G9" وادخل على مصدر البيانات وقم باضافة حقل " رقم ايصال الاستلام " مرة اخرى في الاستعلام واجعله مخفي (لانه سيكون شرط)  وفي سطر Total غير القيمة من Group By وغيرها الى Max  اذا كنت تريد اعلى قيمة مدخلة اما اذا كنت تقصد اخر قيمة مدخلة فاستخدم Last

    مع تمنياتي بالتوفيق

  4. السلام عليكم

    اخي الفاضل عليك مراعاة النقاط التالية:

    1- كي تحافظ على جميع العناصر في البرنامج عند تغيير ابعاد الشاشة عليك الانتباه الى ان تقوم بتصميم برنامجك باقل دقة شاشة ممكن ان يتم فتح البرنامج عليها مثل اذا كان احد المستخدمين يستخدم شاشة بابعاد (1024x768) وكان جهازك بدقة اعلى مثلا (1600x900) فان المستخدم سيواجه صعوبة في رؤية جميع مكونات البرنامج وعليك ان تستخدم نفس الابعاد الخاصة بالمستخدم عند تصميم البرنامج ولكن عند فتح البرنامج في جهازك فلن تواجه اي مشكلة.

    2- عليك استخدام anchoring الموجودة تحت قائمة Arrange لتحديد مكان كل عنصر من عناصر البرنامج كما في الصورة ادناه

    1.png

    مع تمنياتي بالتوفيق

     

    • Like 1
  5. اخي الكريم

    لا اعرف بالضبط ما هو هدفك من عرض جميع الحقول المرتبطة 

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

     

    اتمنى ان تتضح الفكرة لديك

    شكات وسندات.rar

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

    بالنسبة لدالة MID فانها تستخدم لاشتقاق عدد من( الحروف او الارقام او الرموز) من خلية معينة، وباستخدام هذة الدالة يمكنك ان تشتق مثلا اول حرفين من نص معين او الارقام الثلاثة من عدد معين اعتبارا من الخانة الثانية ... الخ

    امثلة:

    (Mid ("WebCheat",1,3 )
    النتيجة هي " Web" = اول ثلاث حروف من النص اعتبارا من الخانة الاولى
    (Mid ("access functions",8,4 
    النتيجة هي "func" اول اربع حروف اعتبارا من الخانة الثامنة
     

     

    وعذرا على التنسيق لانني استخدمت اللغة العربية مع الانجليزية

    • Like 1
  7. وعليكم السلام ورحمة الله وبركاته

    بالنسبة لدالة MID فانها تستخدم لاشتقاق عدد من( الحروف او الارقام او الرموز) من خلية معينة، وباستخدام هذة الدالة يمكنك ان تشتق مثلا اول حرفين من نص معين او الارقام الثلاثة من عدد معين اعتبارا من الخانة الثانية ... الخ

    امثلة:

     

    Mid ("WebCheat",1,3 ) النتيجة هي " Web" اول ثلاث حروف من النص اعتبارا من الخانة الاولى
    Mid ("access functions",8,4) النتيجة هي "func" اول اربع حروف اعتبارا من الخانة الثامنة

     

     

    وعذرا على التنسيق لان 

     

  8. اخي الكريم

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

     

    مرفق الملف ، ارجو تفحصة للحصول علة توضيح الفكرة

     

    مع تحياتي

    db2.rar

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

    اخي الفاضل

    البرنامج يعمل ولا توجد به مشاكل، كل ما في الامر ان مستوى الامان يعطل عمل الكود

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

     

    اتمنى ان يناسبك هذا الحل

    post-26734-0-58997700-1409306829_thumb.j

    post-26734-0-72199400-1409306830_thumb.p

  10. السلام عليكم اخي رامي

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

  11. شكرا اخ رامي

    في البداية هذا البرنامج لاستاذنا محمد عبادي فله جزيل الشكر

    بالنسبة لاضافة نماذج جديدة فالامر بغاية السهولة وكما يلي:

    1- افتح الجدول (FRM) واضف اسم النموذج الجديد فيه.

    2- لتحديد الصلاحيات ادخل الى النموذج (Users Ability) واختر اسم المستخدم وستجد انه تم اضافة النموذج الجديد وما عليك الا تحديد الصلاحيات على هذا النموذج

     

    مع تمنياتي بالتوفيق

×
×
  • اضف...

Important Information