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


المقدمة

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

المعضلة

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

الحل

إقرأ المزيد

نقل قيمة حقل من مربع نص إلى مربع نص آخر


هذا سؤال بعثه أحد الزوار لي: كيف أنقل قيمة حقل من مربع نص إلى مربع نص آخر، ولأنه السائل لم يحدد سؤاله أكثر فسأجيب على هذا السؤال بأكثر من طريقة، الطريقة الأولى على افتراض أنه يستخدم Oracle Forms Developer والطريقة الثانية على افتراض أنه يستخدم Microsoft Access.

أولا: Oracle Forms

1. من قائمة أدوات، قم بانشاء عنصر جديد نوعه Display Item.
2. في خصائص العنصر، غير التالي:
Database Item: لا
Synchronize with Item: اسم الحقل الذي تريد نقل القيمة منه.
مع مراعاة أن يكون نوع البيانات وحجمها متشابهين تماما بين العنصرين، وهذا كل شيء!

الطريقة الأولى لمستخدمي Oracle Forms Developer

ثانيا: Microsoft Access

1. أنشىء عنصر تحكم جديد نوعه مربع نص.
2. في خصائص مربع النص غير التالي:
مصدر عنصر التحكم: نضع علامة يساوي (=) ثم نكتب اسم مربع النص الذي نريد أن ننقل منه القيمة بين قوسين، مثال:
[txtStudentName]=
ممكن: لا (أمر اختياري).
تم تأمينه: نعم (أمر اختياري).
وهذا كل شيء!

الطريقة الثانية لمستخدمي Microsoft Access

الخلاصة

في Oracle Forms نستخدم خاصية المزامنة، وفي Microsoft Access نستخدم خاصية مصدر عنصر التحكم (ControlSource).

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

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

Microsoft Office Access: إجعل تقاريرك أكثر حيوية


Report
الأشكال البيانية

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

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

مثال على الفرز والتصفية بأكثر من طريقة وحساب عدد السجلات المطابقة برمجيا (VBA)


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

SortAndFilter2

إقرأ المزيد

إخفاء منطقة الشريط Ribbon في Microsoft Office Aceess 2007 بكل سهولة


MicrosoftOfficeAccess2007Ribbon

إليكم هذا التلميح من مدونة Microsoft Access Team Blog،
لإخفاء منطقة الشريط في Microsoft Office Aceess 2007 كل ما عليك فعله هو: إقرأ المزيد

تليمحات لزيادة أداء وسرعة قاعدة بيانات Microsoft Office Access 2007


Microsoft Office Access 2007نشر موقع Microsoft Developer Network المعروف بـ MSDN مقالا مهما باللغة الإنجليزية حول خطوات زيادة أداء وسرعة قاعدة بيانات Microsoft Office Access 2007، وفي ما يلي تلخيص لأبرز النقاط:

الجداول:

  • تطبيق قواعد تسوية أو تطبيع البيانات (Data Normalization).
  • كل جدول يجب أن يكون له مفتاح أساسي.
  • أربط كل جدول بعلاقة مع جدول آخر مع فرض التكامل المرجعي واختيار خاصية تتالي تحديث وحذف السجلات المرتبطة.
  • حاول اختيار أفضل نوع بيانات لكل حقل (نص، رقم، تاريخ/وقت).
  • أضف فهارس للحقول المهمة فقط، ولا تكثر من الفهارس حتى لا تكون النتيجة عكسية.
  • لا تقم بفهرسة الحقول التي تحتوي على بيانات متكررة.

قاعدة البيانات:

  • قسم قاعدة البيانات إلى جزئين Front-End/Back-End.
  • استخدم معالج تحليل الاداء واستفد من التوصيات والاقتراحات والأفكار التي تجدها عند ظهور نتائج التحليل.
  • استخدم معالج تحليل الجداول للبحث عن وجود تكرار في البيانات.
  • قلل من استخدام الصور المضمنة.
  • قم بالصيانة الروتينية لقاعدة البيانات باستخدام امر ضغط وإصلاح.

النماذج:

  • إذا كنت تستخدم SQL string في خاصية مصدر السجلات في النموذج، فقم بتحويل هذه الجمل إلى إستعلامات.
  • إغلاق النماذج غير المستخدمة.
  • إذا كان مصدر السجلات للنموذج يعود إلى جدول يحتوي على سجلات كثيرة، حول خاصية إدخال بيانات (DataEntry ) إلى نعم.
  • قلل عدد عناصر التحكم في النموذج.

وحدات الماكرو:

  • حول جميع وحدات الماكرو إلى وحدات نمطية Visual Basic code.

الوحدات النمطية:

  • حول ملف قاعدة البيانات إلى تنسيق MDE  أو ACCDE.
  • استخدم جملة Use Option Explicit وأعلن عن جميع أنواع المتغيرات.

الرابط الكامل: Performance Tips to Speed Up Your Access 2007 Database

إظهار معلومات قاعدة البيانات في Microsoft Office Access


Kuwait10DatabaseFileInfo

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

ما المعلومات التي ستظهر؟
بشكل أساسي ستظهر المعلومات التالية:
1. مسار قاعدة البيانات (ينصح فيه عند التعامل في بيئة الشبكات).
2.  حجم قاعدة البيانات (ينصح فيه نظرا لمحدودية سعة قاعدة بيانات Access).
3. النسبة المئوية لحجم قاعدة البيانات الحالية بالنسبة إلى الحجم الأقصى الذي يستطيع إدارته محرك Microsoft Jet Database (وهذا هو الشيء الجديد).
4. أخر نشاط تم على قاعدة البيانات.
كما يمكنك إضافة معلومات أخرى، مثلا عدد السجلات، عدد المستخدمين وإلى آخره.
ولك أن تتخيل كيف سيبدو تطبيقك إحترافيا.

كيف نفعل ذلك؟
باستخدام بعض الوظائف الجاهزة في Microsoft Office Access وعمليات رياضية بسيطة.

الخطوات:
1. قم بإنشاء (4) مربعات نص غير منضمة بالأسماء التالية:
أ. txtPath
ب. txtSize
ج. txtPercentage
د.txtLastActivity
2. غير خصائص حقول النص:
أ. ممكن، إختر لا.
ب. تم تأمينه، إختر نعم.
3. في حديث عند التحميل () للنموذج إنسخ والصق الأوامر التالية:

    Dim strGetFullPath As String
    strGetFullPath = CurrentProject.FullName
    Me.txtPath = strGetFullPath
    Me.txtSize = FileLen(strGetFullPath) / 1024 & ” KB”
    Me.txtPercentage = FileLen(strGetFullPath) / 2147483648#
    Me.txtLastActivity = FileDateTime(strGetFullPath)

وهذا كل شيء.
يمكنكم تحميل مثال على ذلك من هنا: الرابط