إنشاء استعلام مباشر
Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

يمكنك استخدام Access كتطبيق واجهة أمامية ثم إنشاء ارتباط إلى الجداول في خادم خلفي، مثل SQL Server. بشكل افتراضي، يتم تشغيل معظم الاستعلامات محليا في محرك قاعدة بيانات Access ACE. في بعض الحالات، يمكن ل Access تشغيل استعلام عن بعد على SQL Server، اعتمادا على بناء جملة SQL وعوامل أخرى. لمزيد من المعلومات، راجع "JET Database Engine الإصدار 3.0: اتصال ODBC" في المستندات التقنية REdiscovered JET و ODBC.

ومع ذلك، غالبا ما تريد تشغيل استعلام بشكل صريح على خادم قاعدة بيانات. يمكنك القيام بذلك للمساعدة في تحسين الأداء: تتمتع خوادم قاعدة البيانات بقدرة معالجة أكبر من كمبيوتر سطح المكتب ويمكنك إرجاع مجموعة فرعية أصغر من البيانات عبر اتصال الشبكة. لتشغيل استعلام على خادم قاعدة بيانات، استخدم استعلام مباشر وهي عبارة Transact SQL (TSQL) التي تتصل ب SQL Server باستخدام سلسلة اتصال ODBC. على سبيل المثال، يمكنك تمرير عبارة SELECT لإرجاع البيانات إلى ورقة بيانات أو نموذج أو تقرير أو عنصر تحكم قائمة، وتشغيل ما يعادل استعلامات الإجراء (عبارات لغة معالجة البيانات (DML)، واستدعاء الإجراءات المخزنة، وتنفيذ المهام الإدارية (عبارات لغة تعريف البيانات (DDL).

ملاحظة    نتائج استعلام التمرير للقراءة فقط. لتحرير البيانات مباشرة في ورقة بيانات أو نموذج، أنشئ جدولا مرتبطا بطريقة عرض مفهرسة. لمزيد من المعلومات، راجع إنشاء طرق عرض مفهرسة.

  1. الاتصال بقاعدة بيانات الخادم.

    لمزيد من المعلومات حول الارتباط ب SQL Server، راجع استيراد البيانات أو إنشاء ارتباط إليها في قاعدة بيانات SQL Serverوربط البيانات أو استيرادها من قاعدة بيانات Azure SQL Server.

  2. حدد إنشاء تصميم استعلام >.

  3. إذا لزم الأمر، أغلق مربع الحوار إضافة جداول (إظهار الجدول في Access.

  4. حدد تصميم >المرور.

    يخفي Access شبكة تصميم الاستعلام ويعرض طريقة عرض SQL.

  5. إذا لم تظهر ورقة خصائص الاستعلام، فاضغط على F4 لعرضها.

  6. في ورقة الخصائص، انقر فوق مربع الخاصية ODBC Connect Str ، ثم قم بأحد الإجراءات التالية:

    للحصول على سلسلة اتصال:

    1. في جزء التنقل، انقر بزر الماوس الأيمن فوق جدول مرتبط بمصدر البيانات المطلوب وحدد Linked Table Manager.

    2. في مربع الحوار Linked Table Manager ، حدد خانة الاختيار لمصدر البيانات، ثم حدد Edit.

    3. في مربع الحوار تحرير ارتباط ، انسخ النص في مربع سلسلة الاتصال .

    1. حدد Build زر منشئ.

    2. اتبع المطالبات لإنشاء ملف DSN يحتوي على معلومات سلسلة الاتصال. للحصول على خطوات مفصلة، راجع استيراد البيانات أو إنشاء ارتباط إليها في قاعدة بيانات SQL Serverوالارتباط بالبيانات أو استيرادها من قاعدة بيانات Azure SQL Server.

    بعد إنشاء اتصال ملف DSN، يتم تخزين سلسلة اتصال ODBC داخليا في قاعدة بيانات Access. إليك خدعة للحصول على نسخة من تلك السلسلة:

    1. حدد موقع اسم جدول مرتبط في جزء التنقل باستخدام اتصال ODBC الذي تريده.

    2. اضغط على Ctrl+G. لفتح نافذة VBA Immediate.

    3. أدخل: التعليمات البرمجية التالية:

      ?CurrentDb.TableDefs("<table name>").Connect

      ولكن استبدل اسم الجدول <> اسم الجدول المرتبط من الخطوة أ.

    4. انسخ السلسلة التي تم إرجاعها إلى خاصية ODBC Connect Str .

  7. أدخل الاستعلام في طريقة عرض SQL.

    ملاحظة: هناك اختلافات مهمة بين Access SQL وSQL Server TSQL، خاصة مع بناء الجملة وأسماء الوظائف ووسيطات الدالة. للحصول على مزيد من المعلومات، اطلع على مقارنة Access SQL بـ SQL Server TSQL.

    تلميح    أنشئ استعلام TSQL في SQL Server Management Studio أولا، ثم انسخ والصق SQL في طريقة عرض SQL. وهذا يضمن أن الاستعلام يحتوي على بناء جملة صحيح. إذا لم يكن لديك وصول ملائم إلى قاعدة بيانات SQL Server، ففكر في تثبيت إصدار Microsoft SQL Server Express على سطح المكتب الذي يدعم ما يصل إلى 10 غيغابايت وهو طريقة مجانية وأسهل للتشغيل والتحقق من الترحيل.

  8. ضع في اعتبارك تعيين خصائص إضافية ذات صلة:

    • إرجاع السجلات     تقوم بعض عبارات SQL بإعادة السجلات، مثل SELECT، وبعضها لا يرجع، مثل UPDATE. إذا أرجع الاستعلام السجلات، فقم بتعيين هذه الخاصية إلى نعم؛ إذا لم يرجع الاستعلام السجلات، فقم بتعيين هذه الخاصية إلى لا.

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

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      يجب استخدام العلامة النجمية (*) لأن كل مجموعة نتائج قد تحتوي على أعمدة مختلفة. يتم حفظ كل مجموعة نتائج في جدول منفصل ويتم إلحاق الأرقام بأسماء الجداول المحلية وفقا لذلك. على سبيل المثال، إذا تم إرجاع ثلاث مجموعات نتائج، فستكون أسماء الجداول: <اسم الجدول المحلي>، <اسم الجدول المحلي>1، <اسم الجدول المحلي>2.

    • تسجيل الرسائل    حدد ما إذا كنت تريد إرجاع الرسائل من قاعدة بيانات SQL في جدول رسائل Access. يحتوي اسم الجدول على التنسيق واسم المستخدم – nn، حيث يكون اسم المستخدم هو اسم تسجيل الدخول للمستخدم الحالي، وnn هو رقم يبدأ من 00.

    • مهلة ODBC    حدد عدد الثوان التي يجب انتظارها قبل حدوث خطأ المهلة عند تشغيل استعلام. القيمة الافتراضية هي 60 ثانية. قد تكون هناك تأخيرات بسبب نسبة استخدام الشبكة أو الاستخدام المكثف لخادم قاعدة البيانات.

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

  9. عند الانتهاء من إدخال الاستعلام، حدد تصميم > تشغيل. يتم إرسال الاستعلام إلى خادم قاعدة البيانات للمعالجة.

اطلع أيضاً على

مرجع Transact-SQL

الاستعلام باستخدام Transact-SQL

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

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