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

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

قام بنشر

إخوتي الأعزاء

بناءا على طلب أخي ورفيق دربي أبو خليل ، سأعرض ما نعرف مما فتح الله به علينا حول موضوع جداول النظام .

ونبدأ بعون الله ورعايته وباسمه نصول ونجول

في كل قاعدة بيانات MDB هناك مجموعة من جداول النظام التي تحتوي على معلومات حيوية ومهمة عن قاعدة البيانات وتسمى هذه الجداول (كائنات النظام) ، والتي ينشؤها ويحتفظ بها Microsoft Access ، وهي مخفية إفتراضيا عن المستخدمين العاديين ، ويمكن إظهارها بإتباع الخطوات التالية:

القائمة الرئيسية >> أدوات >> خيارات

علامة التبويب "عرض" >> كائنات النظام

موافق (لحفظ التغييرات)

Select "Tools | Options" from the main menu.

In the "View" tab, enable the "System Objects" option.

Click "OK" to save the changes.

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

وجميع هذه الجداول يبدأ إسمها ب " MSys" حيث يقوم Microsoft Access بإنشاء هذه الجداول تلقائيا عند إنشاء قاعدة البيانات MDB

وهذه الجداول تحمل الأسماء التالية :

  • MSysAccessObjects
  • MSysACEs
  • MSysObjects
  • MSysQueries
  • MSysRelationships

وفي بعض الحالات يتم إنشاء الجدول 'MSysAccessXML'

هي هناك دائما تخزن كل جديد عن معلومات قاعدة البيانات دون أن تشعر بها أو بوجودها ، رغم أنها "" دائما هناك "".

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

هذا أول القول ، عرض لتعريف مبدئي بسيط ، وللحديث بقية

مرفق عرض توضيحي

والله أعلم

2011-08-29 2-17-14 AM_1.rar

قام بنشر

إخوتي الأعزاء

أخي ورفيق دربي أبو خليل ، شكرا لتواصلك الطيب ، آملا من الجميع تصويب أي معلومة مغلوطة قد تصدر عني ، فما كان من صواب وحق ففضل من الله ، أما الخطأ و الزلل فمن تقصيري ... فاعذروني

ونستكمل من حيث انتهينا بعون الله ورعايته ، وباسمه نصول ونجول

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

ومن أكثر هذه المعلومات أهمية ، أن نعرف بان هذه الكائنات - لأسباب وجيهة تتعلق بأمن معلومات قاعدة البيانات – للقراءة فقط بحيث لا يمكن تعديل القيم في حقول سجلاتها ناهيك عن إضافة السجلات أو الغائها، فهي إذن للاستخدام الرسمي للنظام وليست متاحة للمستخدمين ، وكل ما فيها معلومات تتعلق بأمن قاعدة البيانات وتوثيق مجريات التطبيق فيها حسب ضوابط النظام.

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

MSysObjects Table

post-12714-0-82073900-1314754303_thumb.j

وهنا ننتقل لمعلومة مهمة نستقيها من سياق هذا الجدول الإفتراضي الناتج لدينا بان الجداول في قاعدة البيانات على نوعين أولها يحمل الرمز 1 والآخر يحمل الرمز 6 ، فما الفرق بينهما ؟؟

ونقول هنا بأن الرمز 1 = الجدول المحلي الأصلي في قاعدة البيانات، أما الرمز 6 = الجدول المرتبط مع قاعدة البيانات من قاعدة بيانات أخرى.

ومن المثير للاهتمام والجميل والمفيد أن الجدول يحتوي أيضا مرجعا لجمل SQL المستخدمة لمصدر الصف (مصدر معلومات ) عناصر التحكم والنماذج الفرعية المضمنة ضمن أي نموذج ، وتكون مميزة باستهلال اسمها بالرمز ( ~ ) ، وهي عبارة عن جمل SQL غير محفوظة تشكل مصدر صف لعنصر تحكم او نموذج فرعي، فمثلا دلالة الاستعلام (~sq_ffrm_Show1_TR ) تعني ( جملة SQL مصدر الصف لعنصر التحكم في النموذج ffrm_Show1_TR ) وكذلك الأمر دلالة الاستعلام (~sq_cfrmSearchC~sq_cfrmSearch_Sub ) تعني ( جملة SQL مصدر الصف للنموذج الفرعي cfrmSearch_Sub في النموذج frmSearchC ).

وهذا الجدول MSysObjects يتم تحديث معلوماته تلقائيا بمجرد إضافة أي كائن لقاعدة البيانات وبذلك يكون لديك دائما قائمة جرد بالكائنات المتاحة في قاعدة بياناتك.

هذا نهاية القول لليوم ... وللحديث بقية

والله أعلم

  • 3 weeks later...
قام بنشر

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

والله الموفق

قام بنشر

إخوتي الأعزاء

في معرض الحديث عن جدولنا المشهور (من جداول النظام) MSysObjects ، يتم التطرق دائما لفوائد هذا الجدول وكيفية الإستفادة منه.

وهنا نستعرض فكرة فقط وليس مجمل ما يمكن ، فالافكار لا مقيد لها وحدود الاستفادة المتاحة كبيرة ، تختلف بتطبيقها من شخص لآخر ، والمهم تطبيق الفكرة وآليتها.

الأصل بالأمر أن نظهر عناصر فئة معينة في مكان ما أو نجهزها لإستخدام ما ، ولنقل بأننا نريد قائمة بأسماء الجداول المحلية (غير جداول النظام ) ، في مربع قائمة في نموذج ، وهنا يكون مصدر الصفوف للمربع :


SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND

(Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;

ولاحظوا هنا أننا اشترطنا شرطين : الأول أن لا يكون اسمها يبدأ (Msys ) وهو ما يميز أسماء جداول النظام ، و أن تكون من النوع (1) وهو رمز النوع للجداول المحلية .

وبذلك يظهر لدينا في القائمة أسماء الجداول المحلية فقط.

وقبل الإستفاضة بالقول أطرح مسألة مهمة تحدد كيفية إستمراري في طرح الموضوع ، ألا وهي : هل يفي بالغرض الشرح فقط ؟

أم يلزمنا توضيح وتوثيق بالصور !!!

أم لا بد من إدراج تطبيقات وأمثلة !!!

بودي أن أستمزج الآراء حتى تعم الفائدة قدر الإمكان ...

وللحديث بقية .......

............

  • 9 years later...
قام بنشر
في ١٥‏/٩‏/٢٠١١ at 13:06, أبو آدم said:

إخوتي الأعزاء

 

في معرض الحديث عن جدولنا المشهور (من جداول النظام) MSysObjects ، يتم التطرق دائما لفوائد هذا الجدول وكيفية الإستفادة منه.

وهنا نستعرض فكرة فقط وليس مجمل ما يمكن ، فالافكار لا مقيد لها وحدود الاستفادة المتاحة كبيرة ، تختلف بتطبيقها من شخص لآخر ، والمهم تطبيق الفكرة وآليتها.

 

الأصل بالأمر أن نظهر عناصر فئة معينة في مكان ما أو نجهزها لإستخدام ما ، ولنقل بأننا نريد قائمة بأسماء الجداول المحلية (غير جداول النظام ) ، في مربع قائمة في نموذج ، وهنا يكون مصدر الصفوف للمربع :

 

 

 
SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>"~") AND

(Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;

 

 

ولاحظوا هنا أننا اشترطنا شرطين : الأول أن لا يكون اسمها يبدأ (Msys ) وهو ما يميز أسماء جداول النظام ، و أن تكون من النوع (1) وهو رمز النوع للجداول المحلية .

 

وبذلك يظهر لدينا في القائمة أسماء الجداول المحلية فقط.

 

وقبل الإستفاضة بالقول أطرح مسألة مهمة تحدد كيفية إستمراري في طرح الموضوع ، ألا وهي : هل يفي بالغرض الشرح فقط ؟

أم يلزمنا توضيح وتوثيق بالصور !!!

أم لا بد من إدراج تطبيقات وأمثلة !!!

 

بودي أن أستمزج الآراء حتى تعم الفائدة قدر الإمكان ...

 

وللحديث بقية .......

............

في انتظار تناول باقي الجداول يا استاذنا الغالي

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information