Access 2010 in Action: وحدات ماكرو البيانات (Data Macros)


التمهيد

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

مقدمة حول وحدات ماكرو البيانات (Data Macros)

وحدات ماكرو البيانات هي من أفضل الميزات التي حصل عليها  Access 2010، وماكرو البيانات يعرف اصطلاحا في عالم قواعد البيانات بـ Database Trigger (المشابه تماما في أنظمة قواعد البيانات الأخرى مثل Oracle و Microsoft SQL Server)، وحدات ماكرو البيانات هي وحدات برمجية تقوم بتنفيذ إجراء ما عند وقوع حدث في الجدول كإضافة بيانات أو حذفها أو تغييرها.

يقوم Database Trigger بتنفيذ إجراءات عند وقوع حدوث معين في الجدول

متى نستخدم وحدات ماكرو البيانات؟

استخدامات وحدات ماكرو البيانات متعددة ولا يمكن حصرها، ولكن من الأمثلة الأكثر شيوعا لاستخدام ماكرو البيانات هي منع تغيير أو تحديث أو حذف أو إضافة بيانات بشروط أو بدون شروط، كما يمكن من خلال استخدام وحدات ماكرو البيانات تسجيل كافة التغييرات بما يعرف بـ (Log Changes).

أنواع وحدات ماكرو البيانات في Access 2010

After Insert: يعمل هذا الماكرو بعد إضافة سجل جديد للجدول.
After Update: يعمل هذا الماكرو بعد تغيير سجل.
After Delete: يعمل هذا الماكرو بعد حذف سجل.
Before Delete: يعمل هذا الماكرو قبل حذف سجل للسماح بالحذف أو منعه.
Before Change: يعمل هذا الماكرو قبل حفظ التغييرات التي تم إدخالها على السجل للسماح بالتغييرات أو منعها.
وهناك نوع آخر من وحدات ماكرو البيانات تسمى Named Macro وهي وحدات ماكرو مستقلة تستخدم لاستدعائها من قبل وحدات ماكرو البيانات الأخرى.

إنشاء ماكرو بيانات

في طريقة عرض تصميم جدول إذهب إلى علامة تبويب تصميم “Design”  وفي مجموعة “حقول” أنقر فوق “Creae Data Macros” ثم فوق الحدث الذي تريد إضافة الماكرو إليه، وسيقوم Access بفتح “منشئ الماكرو”، أضف الإجراءات التي تريد أن ينفذها الماكرو.

إنشاء ماكرو بيانات
لا حاجة للـ Coding مع منشئ الماكرو

التطبيق

بالنسبة لي التطبيق لم يكن سهلا في أول مرة أتعامل فيها مع وحدات ماكرو البيانات، ولكن بعد عدة محاولات مخيبة للأمال نجحت في إنشاء أول ماكرو بيانات في Access 2010. وفي ما يلي فكرتين جديرتين بالتجربة:

الفكرة الأولى باستخدام ماكرو بيانات Before Delete

قمت بتصميم هذا الماكرو لمنع حذف سجل أي موظف راتبه أعلى من 500 دينار على سبيل التجربة، وقد استخدمت القاعدة الشرطية IF وأمر RaiseError الذي يمنع حذف السجل إذا تحقق الشرط. الصورة التالية توضح طريقة عمل الماكرو:

مثال على استخدام ماكرو بيانات قبل الحذف

وهذه النتيجة:

يقوم ماكرو بيانات قبل الحذف بمنع حذف سجل أي موظف راتبه أعلى من 500

الفكرة الثانية باستخدام ماكرو بيانات After Update

قمت بتصميم هذا الماكرو لتسجيل التغييرات عند تحديث سجل ما وحفظ هذه التغييرات في جدول آخر أنشأته هو جدول tblLog، ليس هذا فقط! إستخدمت أيضا أمر SendEmail والذي يقوم بإرسال رسالة إلكترونية لبريدي الإلكتروني في حالة تحديث السجل، أليس هذا رائعا؟ الصورة التالية توضح طريقة عمل الماكرو:

مثال على ماكرو بيانات بعد التحديث

وهذه النتيجة:

تسجيل كافة التغييرات في جدول tblLog

ولمزيد من المعلومات راجع هذا الرابط: إنشاء ماكرو بيانات – Access، إلى أن ألتقي بكم مع مقالة أخرى من هذه السلسة، دمتم بخير.

Advertisements

8 thoughts on “Access 2010 in Action: وحدات ماكرو البيانات (Data Macros)

  1. تسلم ايدك على هالبوست

    بس ليلحين ماني عارفه الفرق بينه وبين الاكسل هاذه جدول وهذاك جدزول مع العلم اني مشتغله على الاثنين

    إعجاب

  2. شكرا للمشاركة وأرجو لك الإستفادة، بصورة عامة يعتبر Access تطبيق لإدارة قواعد بيانات، أما Excel فهو تطبيق يقوم بإنشاء أوراق عمل (جداول).

    من خلال Access تستطيع إنشاء جداول، علاقات، نماذج، وتقارير. لتتعرف أكثر على قاعدة بيانات Access راجع هذا الرابط:

    http://office.microsoft.com/ar-sa/training/RZ006118141.aspx

    إعجاب

  3. اول موقع عربي يهتم بالاكسس 2010
    محاولة رائعة اتمنى ان تستمر
    ماكرو البيانات هو اجمل ما في هذا الاصدار
    تحياتي وشكري وتقديري لشخصكم الكريم

    إعجاب

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s