osama ababneh
-
Posts
729 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه osama ababneh
-
-
في الفترة السابقة قمت بتطبيق هذة الفكرة للتحكم بمستويات الصلاحيات واحببت اليوم مشاركتها معكم لتعم الفائدة واستفيد من اي مقترحات وملاحظات على هذة الطريقة
الفكرة:
ان يتم تحديد الصلاحية لكل مستخدم ولكل نموذج او تقرير من حيث فتح النموذج او التقرير ، اضافة سجل جديد ، حذف سجل ، تعديل السجلات
التطبيق :
انشاء جدول للمستخدمين (رقم المستخدم ، اسم المستخدم وكلمة مرور)
انشاء جدول للصلاحيات يحتوي على رقم متسلسل ، رقم الموظف، اسم الكائن ، .... وبعد ذلك اي صلاحية تريدها مثل صلاحية فتح، صلاحية تعديل، صلاحية اضافة ،صلاحية الحذف
* الجداول مرتبطة ببعضها عن طريق رقم المستخدم
انشاء نموذج للدخول الى البرنامج (اسم مستخدم وكلمة مرور)
انشاء نموذج للتحكم بالصلاحيات مستند الى جدولي المستخدمين والصلاحيات
انشاء وتعميم وظيفة لتطبيق الصلاحية عند فتح نموذج او تقرير باسم Privilege
الية العمل:
عند الدخول باسم مستخدم صحيح سيتم تخزين رقم المستخدم الحالي في متغير اسمة UsrID وبعد ذلك عند فتح اي نموذج او تقرير يتم استدعاء الوظيفة Privilege للتحقق من ان لهذا المستخد صلاحية فتح نموذج ام لا واذا كان لا فانه ستظهر رسالة بانه لا يملك الصلاحيات ، كما سيتم قبل ان يفتح النموذج ثم سيتم التحقق من ان له صلاحية التعديل ام لا وعندها سيتم تفعيل التعديل او تعطيله حسب الصلاحية ...وهكذاطريقة تعديل واضافة الصلاحيات:
تم اضافة نموذج للتحكم بالصلاحيات يتم من خلاله تحديد اسم المستخدم وتحديد اسم النموذج ثم يتم اختيار صلاحيات هذا المستخدم على هذا النموذج
وبخصوص قائمة النماذج والتقارير تم استخدام جدول النظام MSysObjects
فيديو يوضح الطريقة
- 6
-
بالنسبة للمطلوب الاول اعتقد انه لا توجد مشكلة في تشغيل ملفات 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
اما بخصوص الطلب الثاني قم بتقسيم قاعدة البيانات وفصلها عن النماذج والاستعلامات والتقارير وبالتالي فان الجداول ستكون في ملف منفصل تماما عن بقية المكونات وتستطيع التحديث كما تشاء في البرنامج وبدون التاثير على البيانات
- 2
-
السلام عليكم
ببساطة ادخل على تصميم النموذج الفرعي "مساعد أخر العمليات " او "G9" وادخل على مصدر البيانات وقم باضافة حقل " رقم ايصال الاستلام " مرة اخرى في الاستعلام واجعله مخفي (لانه سيكون شرط) وفي سطر Total غير القيمة من Group By وغيرها الى Max اذا كنت تريد اعلى قيمة مدخلة اما اذا كنت تقصد اخر قيمة مدخلة فاستخدم Last
مع تمنياتي بالتوفيق
-
بعد اذن اخي ابا جودي
اخي الكريم السبب في هذا الخطأ انه لا يمكن تشغيل استعلام الحاق لحقول تحتوي على كومبو بوكس يقبل قيم متعددة كاما في الصورة ادناه
- 1
-
سبب هذة المشكلة ان الكمبيوتر الثاني يستخدم نسخة اوفيس اصدار 64 بت وعليك استخدام PtrSafe قبل كلمة Function لحل المشكلة وعلية يصبح الكود المعدل كما يلي
Private Declare PtrSafe Function apiShowWindow Lib "USER32" _
مع تحياتي
- 2
-
السلام عليكم
اخي الفاضل عليك مراعاة النقاط التالية:
1- كي تحافظ على جميع العناصر في البرنامج عند تغيير ابعاد الشاشة عليك الانتباه الى ان تقوم بتصميم برنامجك باقل دقة شاشة ممكن ان يتم فتح البرنامج عليها مثل اذا كان احد المستخدمين يستخدم شاشة بابعاد (1024x768) وكان جهازك بدقة اعلى مثلا (1600x900) فان المستخدم سيواجه صعوبة في رؤية جميع مكونات البرنامج وعليك ان تستخدم نفس الابعاد الخاصة بالمستخدم عند تصميم البرنامج ولكن عند فتح البرنامج في جهازك فلن تواجه اي مشكلة.
2- عليك استخدام anchoring الموجودة تحت قائمة Arrange لتحديد مكان كل عنصر من عناصر البرنامج كما في الصورة ادناه
مع تمنياتي بالتوفيق
- 1
-
استخدم top 5 في الاستعلام،
-
السلام عليكم
يجب تفعيل الوحدات النمطية حتى تعمل الاكواد
-
السلام عليكم
حسب فهمي لطلبك اعتقد انك تحتاج الى جداو "تقاطعية" Crosstab لتجميع وفرز القيم
ارجو الاطلاع على الاستعلام الذي انشأته باسم Query1 واتمنى ان تجد اجابتك.
مع تحياتي
- 1
-
اخي الكريم
لا اعرف بالضبط ما هو هدفك من عرض جميع الحقول المرتبطة
مرفق المثال وتم فيه اضافة استعلام يحتوي على جميع السجلات من الجدولين ومن خلال هذا الاستعلام يمكنك عمل ما تريد
اتمنى ان تتضح الفكرة لديك
-
وعليكم السلام ورحمة الله وبركاته
بالنسبة لدالة MID فانها تستخدم لاشتقاق عدد من( الحروف او الارقام او الرموز) من خلية معينة، وباستخدام هذة الدالة يمكنك ان تشتق مثلا اول حرفين من نص معين او الارقام الثلاثة من عدد معين اعتبارا من الخانة الثانية ... الخ
امثلة:
(Mid ("WebCheat",1,3 ) النتيجة هي " Web" = اول ثلاث حروف من النص اعتبارا من الخانة الاولى (Mid ("access functions",8,4 النتيجة هي "func" اول اربع حروف اعتبارا من الخانة الثامنة
وعذرا على التنسيق لانني استخدمت اللغة العربية مع الانجليزية
- 1
-
وعليكم السلام ورحمة الله وبركاته
بالنسبة لدالة MID فانها تستخدم لاشتقاق عدد من( الحروف او الارقام او الرموز) من خلية معينة، وباستخدام هذة الدالة يمكنك ان تشتق مثلا اول حرفين من نص معين او الارقام الثلاثة من عدد معين اعتبارا من الخانة الثانية ... الخ
امثلة:
Mid ("WebCheat",1,3 ) النتيجة هي " Web" اول ثلاث حروف من النص اعتبارا من الخانة الاولى
Mid ("access functions",8,4) النتيجة هي "func" اول اربع حروف اعتبارا من الخانة الثامنةوعذرا على التنسيق لان
-
-
اخي المتفائل بالله
لماذا لا تنشئ استعلام يحتوي على السندات والشيكات معا وبالتالي يكون لديك جدول يحتوي على جميع البيانات ومن خلالة تستطيع عمل ما شئت
مع امنياتي بالتوفيق
-
اخي الكريم
مرفق لك الملف، الفكرة ببساطة ان تنشئ استعلام يحتوي على معايير مربوطة بنموذج student1 ويكون النموذج الاخر مبني على الاستعلام وليس الجدول
مرفق الملف ، ارجو تفحصة للحصول علة توضيح الفكرة
مع تحياتي
-
اخي الكريم
طلبك لاسف غير واضح، لاك تسأل وتجيب في نفس الوقت
ارجو ان توضح المطلوب بالتفصيل
-
-
اكيد ذلك ممكن
فاذا كان الحقل اسمة dat كل ما عليك هو وضع هذا الكود للزر (button) في الحدث on click
dat = Now()
-
اخي الكريم
حسب الجدول الذي ارفقتة رجو منك توضيح الية احتساب الرصيد
-
اخي الكريم
طلبك غير واضح
حاول ان تستخدم الاستعلامات اذا كان ما تريدة هو ناتج عملية حسابية، وغير ذلك ارجو منك توضيح طلبك بالتفصيل حتى نتمكن من تقديم المساعدة لك
وتقبل تحياتي
- 1
-
السلام عليكم ورحمة الله وبركاته
اخي الفاضل
البرنامج يعمل ولا توجد به مشاكل، كل ما في الامر ان مستوى الامان يعطل عمل الكود
يجب ان تتيح عمل الماكرو، فاذا كنت تستخدم اكسس 2007 او 2010 ستجد شريط اصفر في احلى البرنامج عند فتحة وعليك ان تعمل Enable كما في الصورة المرفقة اما اذا كنت تستخدم اكسس 2013 فعليك الدخول الى File ثم تفعيله كما في الصورة المرفقة
اتمنى ان يناسبك هذا الحل
-
جرب التنسيق الشرطي
-
السلام عليكم اخي رامي
بالنسبة لهذا الطلب (طباعة اسماء المستخدمين) فهو مختلف عن الموضوع الاصلي، وعليه اقترح عليك ان تقوم بادراج مشاركة جديدة بعنوان يتعلق بموضوع اضافة اسم المستخدم الى النموذج وستجد الردود ان شاء الله
-
شكرا اخ رامي
في البداية هذا البرنامج لاستاذنا محمد عبادي فله جزيل الشكر
بالنسبة لاضافة نماذج جديدة فالامر بغاية السهولة وكما يلي:
1- افتح الجدول (FRM) واضف اسم النموذج الجديد فيه.
2- لتحديد الصلاحيات ادخل الى النموذج (Users Ability) واختر اسم المستخدم وستجد انه تم اضافة النموذج الجديد وما عليك الا تحديد الصلاحيات على هذا النموذج
مع تمنياتي بالتوفيق
مشكله قاعده if مع msgbox
في قسم الأكسيس Access
قام بنشر
السلام عليكم
لتحديد مسار مختلف لكل زر عليك ان تضيف متغير من نوع String وتكون قيمتة هي الرسالة وبعد ذلك تستخدم عبارة IF
وهذا مثال :