قواعد البيانات م. سيد سعد الدين نادي الحاسب الآلي* نماذج جداول الربط بين جدولين الحلقة السادسة
|
بعد ما انتهينا من تصميم نموذج لإدخال بيانات الأقسام وآخر لإدخال بيانات الموظفين وكذلك نموذج لإدخال بيانات المشاريع، نكون قادرين على تسجيل
بيانات الموظفين والأقسام والمشاريع، والآن نريد أن ننشئ نموذجا لإلحاق الموظفين بالمشاريع وتسجيل عدد ساعات عمل كل موظف في كل مشروع، في
البداية نقوم بإنشاء نموذج باستخدام المعالج على جدول «موظفي _ المشاريع» ونختار نوع التخطيط «جدولي» (كما هو الحال في نموذج الأقسام) ونقوم
بحفظ هذا النموذج باسم «موظفي_المشاريع»، ثم نقوم بعمل نموذج جديد في طريقة عرض التصميم ونبدأ باختيار عنصر «مربع نص» من مربع الأدوات،
ونكتب في تسمية هذا العنصر «رقم الموظف»، ومن خصائص عنصر مربع النص ومن تبويب «غير ذلك» نكتب في الاسم «رقم الموظف»، ثم نقوم باختيار
عنصر «نموذج فرعي/تقرير فرعي» من مربع الأدوات ونسحب الأداة من أسفل رقم الموظف، سيبدأ عمل المعالج ويسأل عن ما إذا كنت تريد إنشاء نموذج
فرعي من جديد أو تريد اختيار نموذج من النماذج المصممة من قبل، نحدد «اختيار نموذج»ونختار نموذج «موظفي _ المشاريع» الذي تم تصميمه سابقا،
والآن نقوم بعملية الربط بين النموذج الفرعي و«رقم _الموظف» الموجود في النموذج الأصلي، من خصائص النموذج الفرعي ومن خلال تبويب «بيانات»
نكتب في حقول الربط التابعة «رقم _ الموظف» وفي حقول الربط الأساسية «رقم _ الموظف»، هذا يعني أنه عند كتابة رقم موظف معين في مربع النص
«رقم _الموظف» يتم تلقائيا كتابة نفس الرقم في «رقم_الموظف»الموجود بالنموذج الفرعي، وبالتالي يتم فقط ملء المشاريع الذي يعمل بها هذاالموظف في
النموذج الفرعي وكذلك عدد ساعات عمله بالمشروع، وهكذا عند كتابة رقم موظف آخر وملء المشاريع التي يعمل بها وعدد ساعات عمله، ولكن ملء
البيانات بهذه الطريقة تتطلب معرفة أرقام الموظفين وكذلك أرقام المشاريع، ولكن قد يكون كل ما هو معلوم لمسجل البيانات أن الموظف «محمد» مثلا
يعمل بمشروع «الإنشاءات» وهكذا، مما يعني عدم معرفته أرقام الموظفين وأرقام المشاريع،ولذلك يجب أن يكون هناك قائمة يختار منها المسجل اسم الموظف
فيظهر رقمه ثم يقوم باختيار أسماء المشاريع التي يعمل بها فتظهر أرقامها ويسجل عدد ساعات عمله بها، ولعمل قائمة بأسماء المشاريع نقوم باختيار عنصر
«مربع تحرير وسرد» من مربع الأدوات وسحبه بجانب «رقم _ المشروع» في النموذج الفرعي. وعندما يبدأ المعالج نختار من الجداول جدول «المشاريع»
ونختار منه حقلي «رقم _المشروع» و«اسم _المشروع»، وعندما يعطيك الاختيار بين الاحتفاظ بهذه القيمة أو تخزينها في حقل، اختر تخزينها في حقل
«رقم_المشروع»، وهذه الخطوة تعني أنه عند اختيارمشروع معين من القائمة (الإنشاءات مثلا) يقوم بتخزين رقم هذا المشروع في حقل «رقم _المشروع»،
أما عند اختيار «مربع تحرير وسرد» من مربع الأدوات لاستعراض أسماء الموظفين بنفس طريقة مربع التحرير والسرد السابق، لن تظهر الخطوة الأخيرة التي
تخيرك بين الاحتفاظ بالقيمة أو تخزينها وذلك لأن المعالج لم يجد أي عنصر مرتبط بجدول في قاعدة البيانات في النموذج الرئيس حتى يقوم بتخزين رقم
الموظف به عند اختيار اسم موظف من القائمة، ولذلك لايكون هناك ارتباط بين مربع التحرير والسرد الذي يعرض أسماء الموظفين و «رقم _الموظف»
الموجود في النموذج الرئيس، ولعمل هذا الارتباط نقوم أولا بتغيير اسم مربع التحرير والسرد المحتوي على أسماء الموظفين من خصائص هذا العنصر ثم من
تبويب «غير ذلك» نكتب في حقل الاسم «اسم _الموظف»، ثم نذهب إلى تبويب «حدث» في خصائص نفس العنصر وعند حدث «عند الخروج» نختار
«إجراء حدث» لنقوم بكتابة الشفرة القادمة في بيئة VBA «تطبيقات الفيجوال بيسك»:
Me.رقم _الموظف=Me.اسم _الموظف ونقوم بكتابة نفس الشفرة في حدث «عند التغيير» لخصائص نفس العنصر، وبذلك عند اختيار اسم موظف من
قائمة الأسماء يظهر رقمه مباشرة في عنصر «رقم _الموظف»، ولكي يظهر اسم هذا الموظف في قائمة الأسماء مباشرة عند كتابة رقم موظف معين في عنصر
«رقم _الموظف»، نقوم بكتابة عكس الشفرة السابقة في حدث «عندالخروج» لخصائص العنصر «رقم _الموظف» وتكتب كالتالي:
Me.اسم _الموظف=Me.رقم _الموظف وأصبح الآن حقل «رقم _الموظف» في النموذج الفرعي يمكن الاستغناء عن ظهوره بالنموذج مع الاحتفاظ به
للربط بين النموذجين، بمعنى الذهاب إلى خصائص هذا العنصر ومن تبويب «تنسيق» نكتب في «مرئي» لا، وبذلك نكون قد انتهينا من تصميم جميع نماذج
إدخال البيانات الخاصة بنظام الشركة، وفي الحلقة القادمة إن شاءالله نتعلم كيف نربط بين هذه النماذج من خلال نموذج واحد يتم من خلاله مناداة جميع
النماذج لكي نبدأ بعد ذلك في التعامل مع الاستعلامات،
*عضو هيئة تدريس تعليم الحاسب الآلي
كلية المعلمين بالرياض
tech@suhuf.net.sa
.....
الرجوع
.....
|
|
|
|
توجه جميع المراسلات التحريرية والصحفية الى
chief@al-jazirah.com عناية رئيس التحرير
توجه جميع المراسلات الفنية الى
admin@al-jazirah.com عناية مدير وحدة الانترنت
Copyright 2002, Al-Jazirah Corporation, All rights Reserved
|