أبو آدم قام بنشر أغسطس 28, 2011 قام بنشر أغسطس 28, 2011 إخوتي الأعزاء بناءا على طلب أخي ورفيق دربي أبو خليل ، سأعرض ما نعرف مما فتح الله به علينا حول موضوع جداول النظام . ونبدأ بعون الله ورعايته وباسمه نصول ونجول في كل قاعدة بيانات 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
ابوخليل قام بنشر أغسطس 29, 2011 قام بنشر أغسطس 29, 2011 أول الغيث قطرة اخي نارت : كل عام وانتم بخير ونعمة وعافية عيدكم مبارك ..
أبو آدم قام بنشر أغسطس 31, 2011 الكاتب قام بنشر أغسطس 31, 2011 إخوتي الأعزاء أخي ورفيق دربي أبو خليل ، شكرا لتواصلك الطيب ، آملا من الجميع تصويب أي معلومة مغلوطة قد تصدر عني ، فما كان من صواب وحق ففضل من الله ، أما الخطأ و الزلل فمن تقصيري ... فاعذروني ونستكمل من حيث انتهينا بعون الله ورعايته ، وباسمه نصول ونجول ما سنطرحة من معلومات وتحليلات لكائنات النظام ليس تفسيرا وتحليلا شاملا لهذه الكائنات وانما سرد بسيط وتوضيح لما يكفي من المعلومات اللازمة لنا للاستفادة من مصدر ثمين يحوي معلومات وافية عن قاعدة بياناتنا. ومن أكثر هذه المعلومات أهمية ، أن نعرف بان هذه الكائنات - لأسباب وجيهة تتعلق بأمن معلومات قاعدة البيانات – للقراءة فقط بحيث لا يمكن تعديل القيم في حقول سجلاتها ناهيك عن إضافة السجلات أو الغائها، فهي إذن للاستخدام الرسمي للنظام وليست متاحة للمستخدمين ، وكل ما فيها معلومات تتعلق بأمن قاعدة البيانات وتوثيق مجريات التطبيق فيها حسب ضوابط النظام. وسنعنى اليوم بالحديث عن أشهر هذه الكائنات الا وهو الجدول MSysObjects والذي يضم قائمة بأسماء جميع الكائنات الموجودة في قاعدة بياناتنا من جداول ونماذج واستعلامات و تقارير ووحدات ماكرو ، وعلى كثرة حقول هذا الجدول ، فلا يعنبنا منها سوى عامودين فقط وهما الأسم ورمز النوع ، وحيث أن النوع في الجدول رمز فنضيف من عندنا عامودا تعريفيا ثالثا ليحمل نوع الكائن متوافقا مع الرمز وبذلك تصبح عملية التعرف على الكائن أبسط ، فتصح الصورة كما يلي: MSysObjects Table وهنا ننتقل لمعلومة مهمة نستقيها من سياق هذا الجدول الإفتراضي الناتج لدينا بان الجداول في قاعدة البيانات على نوعين أولها يحمل الرمز 1 والآخر يحمل الرمز 6 ، فما الفرق بينهما ؟؟ ونقول هنا بأن الرمز 1 = الجدول المحلي الأصلي في قاعدة البيانات، أما الرمز 6 = الجدول المرتبط مع قاعدة البيانات من قاعدة بيانات أخرى. ومن المثير للاهتمام والجميل والمفيد أن الجدول يحتوي أيضا مرجعا لجمل SQL المستخدمة لمصدر الصف (مصدر معلومات ) عناصر التحكم والنماذج الفرعية المضمنة ضمن أي نموذج ، وتكون مميزة باستهلال اسمها بالرمز ( ~ ) ، وهي عبارة عن جمل SQL غير محفوظة تشكل مصدر صف لعنصر تحكم او نموذج فرعي، فمثلا دلالة الاستعلام (~sq_ffrm_Show1_TR ) تعني ( جملة SQL مصدر الصف لعنصر التحكم في النموذج ffrm_Show1_TR ) وكذلك الأمر دلالة الاستعلام (~sq_cfrmSearchC~sq_cfrmSearch_Sub ) تعني ( جملة SQL مصدر الصف للنموذج الفرعي cfrmSearch_Sub في النموذج frmSearchC ). وهذا الجدول MSysObjects يتم تحديث معلوماته تلقائيا بمجرد إضافة أي كائن لقاعدة البيانات وبذلك يكون لديك دائما قائمة جرد بالكائنات المتاحة في قاعدة بياناتك. هذا نهاية القول لليوم ... وللحديث بقية والله أعلم
aim2004 قام بنشر سبتمبر 15, 2011 قام بنشر سبتمبر 15, 2011 جزاك الله خيراً على هذه المعلومات المفيدة وان شاء الله يستفيد المبرمجين من علمك ويكون هذا العمل في ميزان حسناتك والله الموفق
أبو آدم قام بنشر سبتمبر 15, 2011 الكاتب قام بنشر سبتمبر 15, 2011 شكرا لمرورك الطيب ونستكمل الحديث قريبا بإذن الله .....
أبو آدم قام بنشر سبتمبر 15, 2011 الكاتب قام بنشر سبتمبر 15, 2011 إخوتي الأعزاء في معرض الحديث عن جدولنا المشهور (من جداول النظام) 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) وهو رمز النوع للجداول المحلية . وبذلك يظهر لدينا في القائمة أسماء الجداول المحلية فقط. وقبل الإستفاضة بالقول أطرح مسألة مهمة تحدد كيفية إستمراري في طرح الموضوع ، ألا وهي : هل يفي بالغرض الشرح فقط ؟ أم يلزمنا توضيح وتوثيق بالصور !!! أم لا بد من إدراج تطبيقات وأمثلة !!! بودي أن أستمزج الآراء حتى تعم الفائدة قدر الإمكان ... وللحديث بقية ....... ............
moamen salem قام بنشر أغسطس 25, 2021 قام بنشر أغسطس 25, 2021 في ١٥/٩/٢٠١١ 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) وهو رمز النوع للجداول المحلية . وبذلك يظهر لدينا في القائمة أسماء الجداول المحلية فقط. وقبل الإستفاضة بالقول أطرح مسألة مهمة تحدد كيفية إستمراري في طرح الموضوع ، ألا وهي : هل يفي بالغرض الشرح فقط ؟ أم يلزمنا توضيح وتوثيق بالصور !!! أم لا بد من إدراج تطبيقات وأمثلة !!! بودي أن أستمزج الآراء حتى تعم الفائدة قدر الإمكان ... وللحديث بقية ....... ............ في انتظار تناول باقي الجداول يا استاذنا الغالي
الردود الموصى بها