1. خارطة أنواع الاستعلامات في محرك مايكروسوفت أكسس (ACE / Jet)
الاستعلامات (Queries) هي العقل المفكر لأي قاعدة بيانات أكسس؛ فهي ليست مجرد وسيلة لعرض البيانات بل محرك قوي للفرز والفلترة والحساب والتحويل والترحيل الآلي. يوفر أكسس 6 أنواع رئيسية:
استعلامات التحديد (Select)
جلب وتجميع السجلات من عدة جداول مرتبطة مع حساب الحقول التراكمية وتطبيق المعايير المنطقية.
استعلامات المعايير (Parameter)
استعلامات تفاعلية تطلب من المستخدم إدخال قيمة عند التشغيل أو تقرأ معاييرها مباشرة من عناصر شاشات النماذج.
الجدولة المتقاطعة (Crosstab)
تحويل السجلات إلى أعمدة تقاطعية ملخصة مع مجاميع الصفوف والأعمدة تماماً مثل تقارير Pivot Table.
استعلامات التحديث (Update)
تعديل دفعة ضخمة من السجلات بضغطة زر (مثل رفع أسعار تصنيف محدد بنسبة 10% أو ترحيل الفواتير).
استعلامات الإلحاق (Append)
نسخ وتغذية سجلات من جدول إلى آخر (مثل ترحيل الحركات الشهرية المنتهية إلى جدول الأرشيف الدائم).
استعلامات الحذف (Delete)
تفريغ السجلات المؤقتة أو حذف السجلات الملغاة بشروط محددة مع دعم التراجع في المعاملات.
2. معايير النصوص والتواريخ في أكسس: تريكات يجب معرفتها
محرك أكسس يمتلك صياغة محددة في معايير شبكة التصميم (QBE Criteria):
- التواريخ: تحاط دائماً بعلامة
#، مثال:Between #2026-01-01# And #2026-12-31# - النصوص وحروف البدل (Wildcards): تستخدم علامة النجمة
*بدلاً من%في وضع الـ Access QBE، مثال:Like "أحمد*"لجلب كل الأسماء التي تبدأ بأحمد. - فحص القيم الفارغة:
Is NullأوIs Not Null(لا تكتب إطلاقاً= Nullلأن القيمة الفارغة لا تساوي شيئاً!). - المعايير المرجعية للنماذج:
[Forms]![frm_Sales]![txt_SearchCustomerID]لقراءة القيمة من الشاشة المفتوحة فوراً.
3. تشريح استعلام الجدولة المتقاطعة (Crosstab Query)
استعلام الجدولة المتقاطعة في أكسس ينفرد بتركيب لغوي خاص يبدأ بكلمة TRANSFORM. إليك الكود الكامل لإنشاء تقرير مبيعات سنوي يعرض كل شهر كعمود مستقل لكل مندوب:
TRANSFORM Sum(tbl_Invoices.NetTotal) AS MonthlySales
SELECT tbl_Employees.FullName AS SalesRep, Sum(tbl_Invoices.NetTotal) AS TotalYearSales
FROM tbl_Employees
INNER JOIN tbl_Invoices ON tbl_Employees.EmployeeID = tbl_Invoices.SalesRepID
WHERE Year(tbl_Invoices.InvoiceDate) = 2026
GROUP BY tbl_Employees.FullName
PIVOT "شهر " & Format(tbl_Invoices.InvoiceDate, "mm");
مُنشئ ومُحاكي استعلامات أكسس التفاعلي (Access Query & SQL Builder Studio)
اختر نوع الاستعلام والغرض المطلوب أدناه، وستقوم الأداة بإنشاء كود لغة SQL القياسي المتوافق مع محرك أكسس، مع توضيح خطوات تطبيقه بصرياً داخل شبكة التصميم (QBE Grid).
استعلام تحديد مع فلترة التواريخ
-- كود SQL سيظهر هنا
4. أخطاء شائعة في كتابة استعلامات أكسس وحلولها
IIf المتداخلة، أو ربط أكثر من 15 جدولاً في نفس الوقت. الحل هو تقسيم الاستعلام المعقد إلى استعلامين متتاليين (Nested Queries) أو بناء جدول مؤقت لحفظ النتائج الوسيطة.
GROUP BY أو SUM، أو استخدام كلمة DISTINCT، أو الربط بين جداول لا تمتلك مفاتيح أساسية واضحة في علاقة 1-to-Many، أو عند استخدام استعلامات UNION.