اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

osama ababneh

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

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

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

السمعه بالموقع

59 Excellent

5 متابعين

عن العضو osama ababneh

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    Statistician
  • البلد
    UAE

اخر الزوار

2,604 زياره للملف الشخصي
  1. السلام عليكم لتحديد مسار مختلف لكل زر عليك ان تضيف متغير من نوع String وتكون قيمتة هي الرسالة وبعد ذلك تستخدم عبارة IF وهذا مثال : Dim Msg As String Msg = MsgBox("aaaaa", vbYesNoCancel) If Msg = vbYes Then MsgBox "yes" ElseIf Msg = vbNo Then MsgBox "no" Else MsgBox "cancel" End If
  2. في الفترة السابقة قمت بتطبيق هذة الفكرة للتحكم بمستويات الصلاحيات واحببت اليوم مشاركتها معكم لتعم الفائدة واستفيد من اي مقترحات وملاحظات على هذة الطريقة الفكرة: ان يتم تحديد الصلاحية لكل مستخدم ولكل نموذج او تقرير من حيث فتح النموذج او التقرير ، اضافة سجل جديد ، حذف سجل ، تعديل السجلات التطبيق : انشاء جدول للمستخدمين (رقم المستخدم ، اسم المستخدم وكلمة مرور) انشاء جدول للصلاحيات يحتوي على رقم متسلسل ، رقم الموظف، اسم الكائن ، .... وبعد ذلك اي صلاحية تريدها مثل صلاحية فتح، صلاحية تعديل، صلاحية اضافة ،صلاحية الحذف * الجداول مرتبطة ببعضها عن طريق رقم المستخدم انشاء نموذج للدخول الى البرنامج (اسم مستخدم وكلمة مرور) انشاء نموذج للتحكم بالصلاحيات مستند الى جدولي المستخدمين والصلاحيات انشاء وتعميم وظيفة لتطبيق الصلاحية عند فتح نموذج او تقرير باسم Privilege الية العمل: عند الدخول باسم مستخدم صحيح سيتم تخزين رقم المستخدم الحالي في متغير اسمة UsrID وبعد ذلك عند فتح اي نموذج او تقرير يتم استدعاء الوظيفة Privilege للتحقق من ان لهذا المستخد صلاحية فتح نموذج ام لا واذا كان لا فانه ستظهر رسالة بانه لا يملك الصلاحيات ، كما سيتم قبل ان يفتح النموذج ثم سيتم التحقق من ان له صلاحية التعديل ام لا وعندها سيتم تفعيل التعديل او تعطيله حسب الصلاحية ...وهكذا طريقة تعديل واضافة الصلاحيات: تم اضافة نموذج للتحكم بالصلاحيات يتم من خلاله تحديد اسم المستخدم وتحديد اسم النموذج ثم يتم اختيار صلاحيات هذا المستخدم على هذا النموذج وبخصوص قائمة النماذج والتقارير تم استخدام جدول النظام MSysObjects فيديو يوضح الطريقة https://youtu.be/AmfpDgLWUBg الصلاحيات حسب المستخدم و نوع الكائن .rar
  3. بالنسبة للمطلوب الاول اعتقد انه لا توجد مشكلة في تشغيل ملفات 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 اما بخصوص الطلب الثاني قم بتقسيم قاعدة البيانات وفصلها عن النماذج والاستعلامات والتقارير وبالتالي فان الجداول ستكون في ملف منفصل تماما عن بقية المكونات وتستطيع التحديث كما تشاء في البرنامج وبدون التاثير على البيانات
  4. السلام عليكم ببساطة ادخل على تصميم النموذج الفرعي "مساعد أخر العمليات " او "G9" وادخل على مصدر البيانات وقم باضافة حقل " رقم ايصال الاستلام " مرة اخرى في الاستعلام واجعله مخفي (لانه سيكون شرط) وفي سطر Total غير القيمة من Group By وغيرها الى Max اذا كنت تريد اعلى قيمة مدخلة اما اذا كنت تقصد اخر قيمة مدخلة فاستخدم Last مع تمنياتي بالتوفيق
  5. بعد اذن اخي ابا جودي اخي الكريم السبب في هذا الخطأ انه لا يمكن تشغيل استعلام الحاق لحقول تحتوي على كومبو بوكس يقبل قيم متعددة كاما في الصورة ادناه
  6. سبب هذة المشكلة ان الكمبيوتر الثاني يستخدم نسخة اوفيس اصدار 64 بت وعليك استخدام PtrSafe قبل كلمة Function لحل المشكلة وعلية يصبح الكود المعدل كما يلي Private Declare PtrSafe Function apiShowWindow Lib "USER32" _ مع تحياتي
  7. السلام عليكم اخي الفاضل عليك مراعاة النقاط التالية: 1- كي تحافظ على جميع العناصر في البرنامج عند تغيير ابعاد الشاشة عليك الانتباه الى ان تقوم بتصميم برنامجك باقل دقة شاشة ممكن ان يتم فتح البرنامج عليها مثل اذا كان احد المستخدمين يستخدم شاشة بابعاد (1024x768) وكان جهازك بدقة اعلى مثلا (1600x900) فان المستخدم سيواجه صعوبة في رؤية جميع مكونات البرنامج وعليك ان تستخدم نفس الابعاد الخاصة بالمستخدم عند تصميم البرنامج ولكن عند فتح البرنامج في جهازك فلن تواجه اي مشكلة. 2- عليك استخدام anchoring الموجودة تحت قائمة Arrange لتحديد مكان كل عنصر من عناصر البرنامج كما في الصورة ادناه مع تمنياتي بالتوفيق
  8. السلام عليكم يجب تفعيل الوحدات النمطية حتى تعمل الاكواد
  9. السلام عليكم حسب فهمي لطلبك اعتقد انك تحتاج الى جداو "تقاطعية" Crosstab لتجميع وفرز القيم ارجو الاطلاع على الاستعلام الذي انشأته باسم Query1 واتمنى ان تجد اجابتك. مع تحياتي student.rar
  10. اخي الكريم لا اعرف بالضبط ما هو هدفك من عرض جميع الحقول المرتبطة مرفق المثال وتم فيه اضافة استعلام يحتوي على جميع السجلات من الجدولين ومن خلال هذا الاستعلام يمكنك عمل ما تريد اتمنى ان تتضح الفكرة لديك شكات وسندات.rar
  11. وعليكم السلام ورحمة الله وبركاته بالنسبة لدالة MID فانها تستخدم لاشتقاق عدد من( الحروف او الارقام او الرموز) من خلية معينة، وباستخدام هذة الدالة يمكنك ان تشتق مثلا اول حرفين من نص معين او الارقام الثلاثة من عدد معين اعتبارا من الخانة الثانية ... الخ امثلة: (Mid ("WebCheat",1,3 ) النتيجة هي " Web" = اول ثلاث حروف من النص اعتبارا من الخانة الاولى (Mid ("access functions",8,4 النتيجة هي "func" اول اربع حروف اعتبارا من الخانة الثامنة وعذرا على التنسيق لانني استخدمت اللغة العربية مع الانجليزية
  12. وعليكم السلام ورحمة الله وبركاته بالنسبة لدالة MID فانها تستخدم لاشتقاق عدد من( الحروف او الارقام او الرموز) من خلية معينة، وباستخدام هذة الدالة يمكنك ان تشتق مثلا اول حرفين من نص معين او الارقام الثلاثة من عدد معين اعتبارا من الخانة الثانية ... الخ امثلة: Mid ("WebCheat",1,3 ) النتيجة هي " Web" اول ثلاث حروف من النص اعتبارا من الخانة الاولى Mid ("access functions",8,4) النتيجة هي "func" اول اربع حروف اعتبارا من الخانة الثامنة وعذرا على التنسيق لان
  13. تفضل اخي الملف بعد التعديل مع امنياتي بالتوفيق Database1.rar
  14. اخي المتفائل بالله لماذا لا تنشئ استعلام يحتوي على السندات والشيكات معا وبالتالي يكون لديك جدول يحتوي على جميع البيانات ومن خلالة تستطيع عمل ما شئت مع امنياتي بالتوفيق
×
×
  • اضف...

Important Information