سؤال حول نقل نموذج إلى قاعدة بيانات أخرى


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

وجه لي أحد أصدقاء المدونة السؤال التالي:
“أرجو منك أخي العزيز الإفادة عن الخطوات الواجب إتخاذها في حالة نقل نموذج إلى قاعدة بيانات أخرى؟

والإجابة كالتالي:
تنقسم النماذج إلى نوعين: نماذج منضمة ونماذج غير منضمة، ويقصد بالنماذج المنضمة (Bound Form) النماذج التي تحتوي على مصدر سجلات كجدول أو إستعلام، أما النماذج غير المنضمة (Unbound Form) فهي لا تحتوي على مصدر سجلات، لذلك يراعى عند نقل أي نموذج أو تقرير إلى قاعدة بيانات أخرى نقل أيضا مصدر السجلات لهذا النموذج وقد يكون جدولا أو إستعلاما، أو تغيير مصدر سجلات النموذج (Record Source) بما يناسب قاعدة البيانات الجديدة.
الأمر الآخر الذي يجب الإنتباه له، هو إرتباط النموذج أو إحدى عناصر التحكم الموجودة فيه بأحداث برمجية كوحدات ماكرو أو وحدات نمطية (Modules) والتي يجب نقلها مع النموذج, ويمكن معرفة كافة الأحداث البرمجية من خلال تحديد النموذج أو عنصر التحكم واختيار قائمة “حدث” من ورقة الخصائص.
ومن أفضل الممارسات التي يجب اتباعها عند نقل نموذج إلى قاعدة بيانات أخرى هي عمل Compile لقاعدة البيانات، ويتم ذلك بفتح النموذج بوضع التصميم، ثم الضغط على مفتاح F7، حيث يظهر لنا محرر التعليمات البرمجية، ومن قائمة Debug نختار أمر Compile والذي من خلاله يتسنى لنا اكتشاف الأخطاء البرمجية التي تمنع النموذج من العمل بالشكل السليم.

أخيرا؛ عند نقل النموذج إلى قاعدة بيانات آخرى في حاسوب آخر، فمن الأفضل التأكد من خيارات الأمان والتي من الممكن أنها قد تعطل بعض محتويات قاعدة البيانات، ولمعرفة المزيد حول هذه الجزئية أحيلك للرابط التالي:

طريقة تغيير خيارات الأمان في Microsoft Access 2007 – Macro Settings.

وشكرا لتواصلك أخي الكريم، وأرجو أنك وفقت في تقديم إجابة وافية لسؤالك.

هل لديك سؤال لي؟

إبعث بسؤالك عبر البريد الإلكتروني التالي: kuwait10@msn.com
أو من خلال صفحة “إتصل بي”.

الإعلان

مثال شامل على طريقة إجراء العمليات الحسابية في قاعدة بيانات Access، ولمطورو Oracle أيضا نصيب!


المقدمة

إن من أساسيات وشروط التصميم الجيد لقواعد البيانات هو عدم القيام بتضمين بيانات محسوبة في الجداول، بمعنى أنه لا يجب تخزين أية نتائج لعمليات حسابية في الجداول، حيث أن العمليات الحسابية يجب أن تجرى على مستوى النماذج، أو التقارير، أو الاستعلامات وهي الطريقة الأفضل (Best Practice).

المعضلة

“علي” معلم حاسوب ويريد أن يقوم بتصميم قاعدة بيانات لرصد درجات الطلاب تحتوي على الحقول التالية:
رقم الطالب، الاسم، درجة إختبار قصير أول، درجة إختبار قصير ثاني، درجة الأعمال الفصلية، درجة الإختبار النهائي، الدرجة النهائية، النسبة، النتيجة، والتقدير.
“علي” يعرف بأن هناك بعض الحقول تتطلب إدخال البيانات مثل درجة الإختبار ودرجة الأعمال الفصلية، وهو يعرف أيضا أن بعض البيانات يجب حسابها تلقائيا مثل مجموع الدرجات والنسبة المئوية وإلى آخره، فكيف يجب أن يقوم بتصميم قاعدة البيانات؟

الحل

إقرأ المزيد

Microsoft Office Access: إظهار رسالة حفظ مخصصة


المعضلة

قام “علي” بتصميم قاعدة بيانات بأسماء المرضى، كذلك قام بتصميم نموذج لإدخال البيانات، ووضع فيه أزرار للتحكم بالسجلات، كزر الانتقال إلى السجل الأول، وزر الانتقال إلى السجل الثاني، وزر إضافة سجل جديد، وزر حفظ سجل.
لاحقا سلم “أحمد” قاعدة بيانات المرضى للمستخدم النهائي، وقام المستخدم بإدخال بيانات المرضى، ولكن عندما ينقر المستخدم على زر “حفظ سجل” يقوم برنامج Microsoft Office Access بحفظ البيانات تلقائيا، دون إظهار رسالة تأكيد عملية الحفظ، لذلك طلب المستخدم من “علي” إظهار رسالة مخصصة تفيد بنجاح عملية حفظ بيانات المريض كلما قام بالنقر فوق زر حفظ.

الحل

الحل سيكون بالتأكيد من خلال كتابة بعض التعليمات البرمجة (VBA)!
وإليكم الـ Code كاملا، كل ما عليكم هو تغيير “txtPatientName” إلى اسم مربع النص الذي يحتوي على اسم المريض أو العميل مثلا في النموذج الذي تستخدمه.

التطبيق

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

هل لديك سؤال لي؟
إبعث بسؤالك عبر البريد الإلكتروني التالي: kuwait10@msn.com
أو من خلال صفحة “إتصل بي”.

منع التعديل أو إضافة أو حذف السجلات من النموذج (Microsoft Office Access)


التحكم بالسجلات من خلال لغة VBA

ربما مضت فترة طويلة لم أكتب عن Microsoft Office Access، على كل حال؛ اليوم سأكتب لكم عن تلميحة جيدة تتعلق بمنع التعديل أو إضافة أو حذف السجلات من النموذج، من خلال شفرة برمجية بسيطة (Code)، نستخدم هذه الشفرة في حدث عند التحميل للنموذج (Form Load):

لمنع إضافة السجلات برمجيا نكتب الأمر التالي:
Me.AllowAdditions = False

لمنع حذف السجلات برمجيا نكتب الأمر التالي:
Me.AllowDeletions = False

لمنع التعديل على السجلات برمجيا نكتب الأمر التالي:
Me.AllowEdits = False

حيث Me تشير إلى النموذج نفسه، أما إذا أردنا السماح بإضافة أو حذف أو التعديل على السجلات فنغير False إلى  True، وهذا كل شيء.