مايكروسوفت أكسس
التطوير

فيما يتعلق بقواعد البيانات، أكسس تخزن كل من الجداول، الاستعلامات، النماذج، التقارير، الماكرو والوحدات في قاعدة بيانات Jet للأكسس كملف منفرد.
أكسس يتيح مصمم الاستعلامات Query Designer، وهي واجهة استخدام رسومية تسمح للمستخدمين ببناء استعلامات دون معرفة مسبقة بلغة الاستعلام. في مساحة مصمم الاستعلامات، يمكن للمستخدمين عرض مصادر بيانات الاستعلام (جداول أو استعلامات)، وتحديد الحقول التي يرغبون في إرجاعها عن طريق السحب والإفلات في الشبكة، وإنشاء روابط بواسطة سحب الحقول من جدول إلى آخر. من جهة أخرى، أكسس يعطي للمستخدمين خيار عرض ومعالجة أكواد SQL. أي جدول في أكسس يمكن استخدامه في الاستعلام، بما في ذلك الجداول المرتبطة والآتية من مصدر بيانات مختلف.
يدعم أكسس إنشاء استعلامات «التمرير-من-خلال»، وهي قصاصات من أكواد SQL يمكنها الوصول إلى مصادر خارجية للبيانات باستخدام اتصالات ODBC على الجهاز المحلي. هذا يمكّن المستخدمين من التفاعل مع البيانات المخزنة خارج برنامج أكسس دون استخدام الجداول المرتبطة أو Jet. المستخدمون ينشئون استعلامات التمرير-من-خلال بواسطة قواعد جمل SQL المدعومة من مصدر البيانات الخارجي.
عند تطوير التقارير (في مستعرض التصميم)، فإن الإضافات والتغييرات على المتحكمات تحفز تنفيذ الاستعلامات المرتبطة في الخلفية، والمصمم يُجبر على انتظار إرجاع السجلات قبل أن يحدث أي تغيير آخر، وهذه الخاصية لا يمكن تعطيلها.
الأشخاص الذين لا يملكون مهارات برمجية، يستطيعون استغلال ميزة الماكرو لأتمتة المهام البسيطة عبر سلاسل من التحديدات المنسدلة. وحدات الماكرو تجيز للمستخدمين تشكيل سلسلة أوامر بسهولة مثل تشغيل الاستعلامات، تصدير واستيراد البيانات، فتح وإغلاق النماذج، معاينة التقارير وطبعها... إلخ. الماكرو يدعم البرمجة الأساسية (مثل الجملة الشرطية)، والقدرة على استدعاء وحدات الماكرو الأخرى، وأيضا يتضمن وحدات الماكرو الفرعية الشبيهة بالإجراءات الفرعية. في أكسس 2007، شملت وحدات الماكرو تدبير الأخطاء ودعم المتغيرات المؤقتة، كما قدّم أيضا أكسس 2007 وحدات الماكرو المدمجة، وهي بالأحرى خصائصُ حدثِ الكائن. هذا أزاح الحاجة لتخزين وحدات الماكرو ككائنات منفردة. غير أن وحدات الماكرو كانت وظيفتها محدودة نتيجة الافتقار للحلقات البرمجية والتكويد المنطقي المتقدم في أكسس 2013. ومع التحسينات الهائلة التي قَدِمَ بها أكسس 2013، أصبح من الإمكان مقاربة قدرات وحدات الماكرو بنظيرتها في VBA. لقد جعلوا من التوزيع عمليا للتطبيقات المبنية على الويب عبر التحسينات الواسعة في واجهة وأدوات مايكروسوفت شير بوينت، وكذلك في مكتبيات ويندوز القدامية.
كما هو الحال مع المنتجات الأخرى في حزمة مايكروسوفت أوفيس، لغة البرمجة المستخدمة في أكسس هي مايكروسوفت VBA. وهي لغة شبيهة بالفيجوال بيسك 6.0، حيث يمكن حفظ الكود في الوحدات والكلاسات، والتكويد خلف النماذج والتقارير. معظم تطبيقات الأكسس الاحترافية تعتمد لغة البرمجة VBA عوض وحدات الماكرو، باستثناء إذا كان التوزيع للويب أحد متطلبات المشروع؛ وذلك للحصول على منتج نهائي فعال وغني وقابل للصيانة مع تدبير جيد للأخطاء.
للتلاعب بالبيانات الموجودة في الجداول والاستعلامات في VBA أو الماكرو، أمددت مايكروسوفت مكتبتين للولوج إلى قاعدة البيانات الخاصة بمكونات COM:
كائنات الولوج للبيانات DAO (32 بت فقط)، والتي ضمنت في الأكسس والويندوز، وتطورت إلى ACE في مايكروسوفت أكسس 2007 لصالح صيغة قاعدة البيانات ACCDE.
كائنات بيانات آكتيف إكس ADO (إصدار 32 و64 بت).
بالإضافة إلى DAO وADO، بمقدور المبرمجين أيضا استخدام OLE DB وODBC لتطوير برامج c/c++ أصلية للأكسس. ويعتبر ADO إلزاميا للمعالجة المباشرة لبيانات SQL سيرفر وADPs. وبالنسبة لـ DAO فهي الأكثر ملاءمة لإدارة البيانات في قواعد بيانات Jet والأكسس، والوسيلة الوحيدة للتلاعب بعدد من أنواع الحقول المعقدة في جداول ACCDB.
فيما يخص حاوية قاعدة البيانات أو لوحة البحث في أكسس 2007 والإصدارات اللاحقة، يعمد النظام تلقائيا لتصنيف كل كائن حسب نوعه (جدول، استعلام، ماكرو...). نذكر أن عددا من مطوري الأكسس يستعملون اتفاقية لازينسكي في التسمية، وهي ليست قاعدة إلزامية في DBMS، وإنما اتفاقية برمجية غير معممة، وهي مساعدة لا سيما في VBA عند التأشير لأسماء الكائن التي لا تدلي بنوعها البياني (مثل tbl للجداول أو qry للاستعلامات).
المبرمجون يوزعون تطبيقات أكسس للأفراد وفرق العمل (توصيف أكسس 97 يحدد 32 مستخدما). منذ أكسس 97، ومع أكسس 2003 و2007، فقد لوحظ تطور في بنية العتاد ومايكروسوفت أكسس بحدة هائلة جدا. قواعد البيانات التي تناهز 1 جيجا في الحجم (التي يمكنها الآن أن تندرج بالكامل في الرام)، وعدد 200 من المستخدمين المتزامنين هو تقدير جيد بالنسبة لإمكانيات مايكروسوفت أكسس. ومن المعروف طبعا أن الكفاءة تتناسب كذلك مع تصاميم ومهام قاعدة البيانات؛ فالعمل المكثف على قرص التخزين مثل البحث والاستعلام فإنه يأخذ الوقت الأطول.
بما أنه يمكن تخزين قواعد بيانات الأكسس مؤقتا Cached في الرام، هذا سوف يحسن بشكل هائل سرعة المعالجة عندما يكون هناك مستخدم واحد أو أن البيانات لا تتغير. في الماضي، كان تأثير كمون الحزمة على نظام قفل السجل يتسبب في إبطاء قواعد بيانات الأكسس على الشبكة الخاصة الافتراضية VPN أو الشبكة الواسعة WAN في مقابل قاعدة بيانات Jet، غير أن النطاق الواسع للاتصالات في 2010 خفف من حدة هذا المشكل. في الاستطاعة تعزيز الكفاءة إذا ما جرت المحافظة على الاتصالات المتتالية لقاعدة بيانات الجهة الخلفية Back-end؛ وذلك من خلال الجلسة Session عوض فتح الاتصال وغلقه عند كل ولوج للجدول. في حالة أن أداء قاعدة بيانات الأكسس عبر VPN أو WAN يتعرض للضغط، فإن المستخدم بإمكانه توظيف بروتوكول مكتبي عن بعد (مثل خدمات طرفية مايكروسوفت)، والذي يوفر حلا فعالا. وبالنسبة لقواعد بيانات أكسس المرتبطة بـ SQL سيرفر أو ADP تعمل بامتياز عبر شبكات VPN وWAN.
في يوليو 2011، أقرت مايكروسوفت وجود مشكلة تتعلق بتقطع أداء الاستعلام في جميع إصدارات أكسس وويندوز 7 وويندوز سيرفر 2008 R2. ويعود ذلك إلى الاختلاف الرحيب في طبيعة إدارة الموارد الموجودة في أنظمة التشغيل الحديثة. هذه الإشكالية أثرت بشدة على أداء الاستعلام في كل من أكسس 2003 -والأقدم منه- مع كود محرك قاعدة بيانات Jet، وبالإتباع أكسس 2007 -والأحدث منه- مع محرك قاعدة بيانات الأكسس ACE. أطلقت مايكروسوفت إصلاحا استعجاليا KB2553029 لأكسس 2007، و KB2553116 لأكسس 2010، لكن الإصلاح لم يغط Jet 4.0 بحكم أنه خرج عن الدعم السائد.
في الإصدارات المتقدمة لمايكروسوفت أكسس، كانت القدرة على توزيع التطبيقات يتطلب شراء ترخيص حزمة أدوات المطور Developer Toolkit في أكسس 2007 و2010، أما بيئة التشغيل لأكسس 2013 فقد أتيحت مجانا للتحميل. الشيء الذي جعل من الممكن توزيع التطبيقات الخالية من حقوق الملكية على ويندوز XP، Vista، 7 و8.x.