المشاركات

عرض المشاركات من 2016

اصول التعامل الصحيح مع التاريخ في مايكروسوفت اكسس

صورة
عندما يتم التعامل مع التاريخ باستخدام محرر الكود VBA او باستخدام SQL في مايكروسوفت اكسس فان تنسيق التاريخ سيتغير الى التنسيق الامريكي MM/DD/YYYY مهما كانت اعدادات تنسيق التاريخ الخاصة بجهاز المستخدم. يمكنكم مشاهدة الفيديو للحصول على الشرح التفصيلي او الاستمرار بقرأة الموضوع ولمشاهدة مثال على ذلك يمكنكم اضافة تاريخ في معايير الاستعلام ثم مشاهدة SQL لهذا الاستعلام    في كثير من الاحيان نجد ان الكود او الاستعلام لا يعمل بشكل صحيح فمثلا قد تطلب التواريخ التي بعد تاريخ 7/4/2016 ولكن الاستعلام او الكود يفهمها بشكل معكوس ويعطي النتائج لما بعد تاريخ 4/7/2016. للتغلب على هذا الامر يجب علينا استخدام الدالة Format حتى نحول التاريخ الى الصيغة الامريكية ليتم التعامل معهة بالشكل الصحيح، وهنا يجب الانتباه ايضا الى فواصل التاريخ المستخدمة في اعدادات الوندوز فلو  استخدمنا اشارة "/" كفاصل فانه لا مشكلة في ذلك ولكن اذا تم استخدام "\" فان هذا سيسبب مشكلة وسيظهر لنا الخطأ رقم 3075 ولهذا سنستخدم الاشارتين "/" و"\" في التنسيق للدلالة على ان الفاصل متغ...

في مايكروسوفت اكسس UNION Vs UNION ALL

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

استعلامات الدمج (التوحيد) في مايكروسوفت اكسس

صورة
يقوم هذا النوع من الاستعلامات ببناء استعلام يحتوي على حقل (عمود) او اكثر من جدولين او اكثر على شكل صفوف اي انه يدمج اعمدة الجداول مع بعضها البعض.  ولانشاء استعلام الدمج نتبع الخطوات التالية: يمكنك مشاهدة الفيديو لكيفية انشاء استعلام الدمج او الاستمرار بقراءة الموضوع 1-  نقوم بالدخول الى القائمة Create  وثم Query design ولا نقوم باختيار اي جدول كمصدر للبيانات . 2-  نقوم بالضغط على زر Union الموجود في خيارات تصميم الاستعلام وبعدها سيقوم الاكسس بفتح محرر SQL ونبدأ بكتابة الكود وفيما يلي  مثال بسيط على استعلام دمج SQL SELECT  FealdName  FROM  TableName  UNION   SELECT  FealdName2  FROM  TableName2   ; حيث ان: -  FealdName و  FealdName2    هي اسماء الحقول التي سيتم دمجها مع بعضها   -  TableName و  TableName2   هي اسماء الجداول. ملاحظة: اذا تم استخدام  UNION  فان الاستعلام سيستثني التكرارات فاي حقل مكرر سيظهر مرة واحدة ف...

اضافة خيار "الكل" الى قائمة منسدلة في مايكروسوفت اكسس

صورة
ان القائمة المنسدلة اذا كانت مستندة الى حقول في جدول ستظهر قائمة الحقول من هذا الجدول واذا اردنا ان نضيف الى هذة القائمة كلمة "الكل" فانه يتوجب علينا استخدام استعلام التوحيد او الدمج Union Query وببساطة نقوم بما يلي: يمكنك مشاهدة الفيديو للحصول على الشرح الكامل او الاستمرار بقراءة الموضوع 1- ننشئ نموذج ونضع فيه قائمة منسدلة Combo Box  2- نقوم بتغيير مصدر البيانات للقائمة المنسدلة وندخل الى تصميم الاستعلام ونحول نوع الاستعلام الى استعلام توحيد Union Query ونقوم بكتابة الكود التالي SQL SELECT FealdName FROM TableName UNION select"<الكل>" FROM TableName  ; حيث ان  FealdName هو اسم الحقل الذي يحتوي على البيانات التي ستظهر بالقائمة المنسدلة و  TableName   هو اسم الجدول الذي نستخدمة كمصدر للبيانات. وبذلك سيكون الكومبو بوكس جاهز للاستخدام

انشاء قائمة لمحتويات برنامج الاكسس (قائمة النماذج والتقارير والجداول والاستعلامات) بشكل الي

صورة
قد نحتاج الحصول على قائمة باسماء الجداول او النماذج .. الخ لاعادة استخدامها في البرنامج نفسة، وبدلا من القيام بعمل جدول لهذا الهدف والذي يجب تحديثة يدويا ومن الممكن ان يتم الخطأ في التحديث فان الحل ببساطة هو انشاء استعلام مستند على جدول MSYSOBJECTS وهذا الجدول من جداول النظام وهو مخفي . هذا الجدول يحتوي على قائمة بجميع كائنات ( جداول نماذج  ....الخ)  البرنامج، ويمكن الحصول على هذا الجدلو ببساطة من خلال انشاء استعلام جديد والدخول الى SQL ووضع الكود التالي  VBA SELECT * FROM msysobjects; وعند تشغيل الاستعلام سنجد هذا الجدول الان ما يهمنا هو الحقل Name  الذي يحتوي على اسم الكائن والحقل Type الذي يمثل نوع الكائن قائمة كودات انواع الكائنات في الجدول MSYSOBJECTS --------------------------------------------------- |Type     | TypeDesc --------------------------------------------------- |-32768  | Form |-32766  |Macro |-32764  |Reports |-32761  |Module |-32758  |Users |-32757  |Dat...

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

صورة
1-  انشاء جدول للمستخدمين   يحتوي على رقم واسم المستخدم وكلمة المرور (ونوعهما نص قصير)   يمكنكم مشاهدة الفيديو او الاستمرار في قرأة الموضوع يمكنكم تنزيل المثال من هنا 2-  انشاء جدول للصلاحيات  يحتوي على انواع الصلاحيات بالاضافة الى حقل كومبوبوكس بياناته مرتبطة بالمستخدمين (رقم المستخدم واسمه) وحقل كومبوبوكس مرتبط بكائنات البرنامج عن طريق استخدام جدول Msysobjects  (ستجدون الطريقة في الفيديو)  3-  انشاء نموذج للدخول  الى قاعدة البيانات وليكن باسم Login عندما يقوم المستخدم بادخال اسم وكلمة مرور صحيحين يقوم البرنامج بفتح لوحة التحكم او النموذج الرئيسي للعمل كما يقوم بتسجيل رقم المستخدم في المتغير  usrID  الذي تم تعريفة في الموديل (الموجود في الخطوة 4) للمزيد يمكن الرجوع الى موضوع انشاء نموذج للدخول الى قاعدة البيانات ( ا نقر هنا ) ، ونقوم باضافة جميع الحقول الخاصة بالصلاحيات الية في تذييل النموذج ونجعل التذييل مخفي  4 -  انشاء دالة يتم استدعاؤها عند فتح اي نموذج ...

التحكم بصلاحيات المستخدمين في مايكروسوفت اكسس باكثر من طريقة مع مثال عملي مفصل

صورة
تحديد الصلاحيات لكل مستخدم بشكل منفصل في اكسس عندما يتم تصميم برنامج سيستخدمة اكثر من شخص فلا بد من ان يكون لكل مستخدم مستوى صلاحية مختلف عن الاخر، ولتحديد الصلاحيات لكل مستخدم بشكل منفصل توجد اكثر من طريقة واليكم هذة الطريقة والتي اعتبرها من الطرق العملية جدا: سيتم شرح الموضوع بطريقتين يمكنكم مشاهدة الفيديو او الاستمرار بقرأة الموضوع تنزيل المثال الاول   تنزيل المثال الثاني الطريقة الاولى - تنزيل المثال على الطريقة الاولى 1- انشاء جدول للصلاحيات يحتوي على رقم الصلاحية واسم الصلاحية بالاضافة الى وصف للصلاحية 2-  انشاء جدول للمستخدمين   يحتوي على اسم المستخدم وكلمة المرور (ونوعهما نص قصير)  بالاضافة الى حقل من نوع قائمة منسدلة مرتبط بانواع الصلاحيات في جدول الصلاحيات  3-  انشاء نموذج للدخول  الى قاعدة البيانات وليكن باسم Login عندما يقوم المستخدم بادخال اسم وكلمة مرور صحيحين يقوم البرنامج بفتح لوحة التحكم او النموذج الرئيسي للعمل للمزيد يمكن الرجوع الى موضوع انشاء نموذج للدخول الى قاعدة البيانات ( ا نقر هنا )...