SQL.REQUEST (الدالة SQL.REQUEST)

تصف هذه المقالة بناء جملة صيغة الدالة SQL.REQUEST وطريقة استخدامها في Excel.

هام: 

  • بداية من Excel 2010، توفر تجربة "الحصول على البيانات وتحويلها" (Power Query) وظيفة محسنة لغرض استيراد البيانات من مصادر بيانات خارجية، كما تستبدل دالة SQL.REQUEST بشكل فعال.

  • لا يتم دعم الدالة SQL.REQUEST في الإصدارات اللاحقة لـ Microsoft Excel 2007.

  • قد لا تكون بعض محتويات هذا الموضوع قابلة للتطبيق على بعض اللغات.

الوصف

تتصل الدالة SQL.REQUEST بأحد مصادر البيانات الخارجية، وتقوم بتشغيل استعلام من ورقة عمل. بعد ذلك، تقوم بعرض النتيجة كصفيف من دون الحاجة إلى برمجة الماكرو. إذا لم تتوفر هذه الدالة، فمن الضروري تثبيت برنامج الوظيفة الإضافية (XLODBC.XLA) من Microsoft Excel ODBC.

بناء الجملة

SQL.REQUEST(connection_string,[output_ref],[driver_prompt],[query_text],[col_names_logical])‎

يحتوي بناء جملة الدالة SQL.REQUEST على الوسيطات التالية:

  • Connection_string     مطلوبة. توفر معلومات كاسم مصدر البيانات ومعرف المستخدم وكلمات المرور المطلوبة بواسطة برنامج التشغيل المستخدم للاتصال بمصدر البيانات والتي يجب أن تتبع تنسيق برنامج التشغيل. يوفر الجدول التالي ثلاثة أمثلة لسلاسل الاتصال الخاصة بثلاثة برامج تشغيل.

برنامج التشغيل

Connection_string

dBASE

DSN=NWind;PWD=test

SQL Server

DSN=MyServer;UID=dbayer; PWD=123;Database=Pubs

ORACLE

DNS=My Oracle Data Source;DBQ=MYSER VER;UID=JohnS;PWD=Sesame

  • يجب تعريف اسم مصدر البيانات (DSN) المستخدم في connection_string قبل محاولة الاتصال بها.

  • يمكنك إدخال connection_string كصفيف أو سلسلة. يجب إدخال connection_string كصفيف إذا تجاوز طولها 250 حرفاً.

  • إذا تعذّر على الدالة SQL.REQUEST الوصول إلى مصدر البيانات الذي يستخدم connection_string، تُرجع قيمة الخطأ ‎#N/A.

  • Output_ref     اختيارية. مرجع الخلية حيث تريد وضع سلسلة الاتصال الكاملة. إذا تم إدخال SQL.REQUEST على ورقة العمل، يتم تجاهل output_ref.

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

    • إذا قمت بحذف output_ref، لن تُرجع SQL.REQUEST سلسلة الاتصال الكاملة.

  • Driver_prompt     اختيارية. تحدد هذه الوسيطة وقت عرض مربع حوار برنامج التشغيل والخيارات المتوفرة. استخدم أحد الأرقام الموضحة في الجدول التالي. إذا تم حذف قيمة driver_prompt، تستخدم SQL.REQUEST الرقم 2 افتراضياً.

Driver_prompt

الوصف

1

يتم عرض مربع حوار برنامج التشغيل دائماً.

2

يتم عرض مربع حوار برنامج التشغيل فقط إذا كانت المعلومات التي توفرها سلسلة الاتصال ومواصفات مصدر البيانات غير كافية لإكمال الاتصال. تتوفر كافة خيارات مربع الحوار.

3

يتم عرض مربع حوار برنامج التشغيل فقط إذا كانت المعلومات التي توفرها سلسلة الاتصال ومواصفات مصدر البيانات غير كافية لإكمال الاتصال. تظهر خيارات مربع الحوار خافتة وغير متوفرة إذا لم يتم طلبها.

4

لا يتم عرض مربع حوار برنامج التشغيل. إذا لم ينجح الاتصال، فإنه يُرجع خطأ.

  • Query_text     اختيارية. جملة SQL التي تريد تنفيذها على مصدر البيانات.

    • إذا تعذّر على الدالة SQL.REQUEST تنفيذ query_text على مصدر البيانات المحدد، تُرجع قيمة الخطأ ‎#N/A.

    • يمكنك تحديث الاستعلام عن طريق سَلسَلة المراجع داخل query_text. في المثال التالي، تستخدم SQL.REQUEST القيمة الجديدة لتحديث الاستعلام في كل مرة تتغير فيها ‎$A$3.

"SELECT Name FROM Customers WHERE Balance > "&$A$3&"".

يقوم Microsoft Excel بتحديد طول سلاسل الأحرف بـ 255 حرفاً. إذا تجاوزت query_text هذا الطول، أدخل الاستعلام في نطاق خلايا عمودي، واستخدم النطاق بأكمله على أنه query_text. تتم سَلسَلة قيم الخلايا لتكوين جملة SQL الكاملة.

  • Column_names_logical     اختيارية. تشير إلى ما إذا كان يتم إرجاع أسماء الأعمدة كصف أول من النتائج. قم بتعيين قيمة هذه الوسيطة إلى TRUE إذا أردت إرجاع أسماء الأعمدة كصف أول من النتائج. استخدم FALSE إذا كنت لا تريد إرجاع أسماء الأعمدة. إذا تم حذف column_names_logical، فلن تُرجع SQL.REQUEST أسماء الأعمدة.

القيمة المرجعة

  • إذا أكملت هذه الدالة تنفيذ كافة إجراءاتها، تُرجع صفيفاً من نتائج الاستعلام أو عدد الصفوف التي تأثرت بالاستعلام.

  • إذا تعذّر على الدالة SQL.REQUEST تشغيل connection_string، تُرجع قيمة الخطأ #N/A.

ملاحظات

  • يمكن إدخال الدالة SQL.REQUEST كصفيف. عند إدخال SQL.REQUEST كصفيف، تُرجع صفيفاً ليتناسب مع ذلك النطاق.

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

  • إذا كانت مجموعة البيانات أكبر من النطاق الذي تم إدخاله كصفيف، تُرجع SQL.REQUEST الصفيف الكامل.

  • تكون وسيطات SQL.REQUEST في ترتيب مختلف عن وسيطات الدالة SQLRequest في Visual Basic for Applications.

مثال

لنفترض أنك تريد إنشاء استعلام لقاعدة البيانات dBASE المسماة DBASE4. عند إدخال الصيغة التالية في خلية، يتم إرجاع صفيف من نتائج الاستعلام، ويكون الصف الأول هو أسماء الأعمدة:

SQL.REQUEST("DSN=NWind;DBQ=c:\msquery;FIL=dBASE4", c15, 2, "Select Custmr_ID, Due_Date from Orders WHERE order_Amt>100", TRUE)

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×