SQL.REQUEST (функція SQL.REQUEST)

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

У цій статті наведено синтаксис формули та описано, як у програмі Excel використовувати функцію SQL.REQUEST.

Увага! : 

  • Починаючи з версії Excel 2010, можливості функції "Отримання та перетворення даних" (Power Query) доповнено імпортом даних із зовнішніх джерел, тому тепер вона є повноцінною заміною функції SQL.REQUEST.

  • Функція SQL.REQUEST не підтримується у версіях, відмінних від Microsoft Excel 2007.

  • Деякий вміст у цій статті може не застосовуватися до деяких мов.

Опис

Функція SQL.REQUEST підключається до зовнішнього джерела даних і виконує запит з аркуша. Потім вона повертає результат у вигляді масиву без потреби програмування макросу. Якщо ця функція недоступна, знадобиться інсталювати надбудову Microsoft Excel ODBC (XLODBC.XLA).

Синтаксис

SQL. REQUEST(рядок_підключення;[посилання_повернення];[запит_драйвера];[текст_запита];[імена_стовпців_логіч])

Синтаксис функції SQL.REQUEST має такі аргументи:

  • Рядок_підключення     – обов'язковий аргумент. Надає певні відомості, наприклад ім’я джерела даних, посвідчення користувача та паролі, потрібні для драйвера, через який здійснюється підключення до джерела даних. Відомості мають бути подані відповідно до формату драйвера. У таблиці нижче наведено три приклади рядків підключення для трьох драйверів.

Драйвер

Рядок_підключення

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), яке використовується в аргументі «рядок_підключення», потрібно визначити перед спробою встановлення зв'язку.

  • Аргумент «рядок_підключення» можна ввести у вигляді масиву або рядку. Якщо розмір аргумента «рядок_підключення» перевищує 250 символів, його потрібно вводити у вигляді масиву.

  • Якщо функції SQL.REQUEST не вдається отримати доступ до джерела даних за допомогою аргумента «рядок_підключення», вона повертає значення помилки #N/A.

  • Посилання_повернення     – необов'язковий аргумент. Посилання на клітинку, у якій потрібно розташувати виконаний рядок зв’язку. Якщо функція SQL.REQUEST вводиться на аркуші, аргумент «Посилання_повернення» ігнорується.

    • Аргумент «посилання_повернення» використовується, якщо потрібно, щоб функція SQL.REQUEST повернула виконаний рядок зв’язку (для цього необхідно ввести функцію SQL.REQUEST на аркуші макросів).

    • Якщо аргумент «посилання_повернення» не вказаний, функція SQL.REQUEST не повертає виконаний рядок зв’язку.

  • Запит_драйвера     – необов'язковий аргумент. Визначає, коли відображається діалогове вікно драйвера та які параметри в ньому доступні. Скористайтеся одним із чисел, опис яких подано в таблиці нижче. Якщо аргумент «Запит_драйвера» не вказаний, функція SQL.REQUEST за промовчанням використовує значення 2.

Запит_драйвера

Опис

1

Діалогове вікно драйвера завжди відображається.

2

Діалогове вікно драйвера відображається, тільки якщо відомостей, наданих у рядку підключення, та специфікацій джерела даних недостатньо для здійснення підключення. Доступні всі параметри діалогового вікна.

3

Діалогове вікно драйвера відображається, тільки якщо відомостей, наданих у рядку підключення, та специфікацій джерела даних недостатньо для здійснення підключення. Якщо параметри діалогового вікна непотрібні, діалогове вікно параметрів неактивне і недоступне.

4

Діалогове вікно драйвера не відображається. Якщо не вдалося здійснити підключення, функція повертає значення помилки.

  • Текст_запита     – необов'язковий аргумент. Інструкція SQL, яку потрібно застосувати до джерела даних.

    • Якщо функції SQL.REQUEST не вдається виконати аргумент «текст_запита» на зазначеному джерелі даних, функція повертає значення помилки #N/A.

    • Можна внести зміни до запиту шляхом об’єднання кількох посилань в аргументі «текст_запита». У нижченаведеному прикладі під час кожного змінення $A$3 функція SQL.REQUEST використовує нове значення для оновлення запиту.

"Виберіть ім'я із клієнтами де баланс >" & $A$ 3 & "".

Microsoft Excel обмежує довжину рядків 255-ма символами. Якщо аргумент «текст_запита» довший за 255 символів, введіть запит у вертикальному діапазоні клітинок і використовуйте весь цей діапазон як аргумент «текст_запита». Значення клітинок будуть об’єднанні для формування повної інструкції SQL.

  • Імена_стовпців_логіч     – необов'язковий аргумент. Визначає, чи потрібно повертати імена стовпців у першому рядку результатів. Щоб імена стовпців поверталися в першому рядку результатів, установіть для цього аргументу значення ІСТИНА. Якщо повертати імена стовпців непотрібно, установіть значення ХИБНІСТЬ. Якщо аргумент «Імена_стовпців_логіч» не вказаний, функція SQL.REQUEST не повертає імена стовпців.

Значення, що повертається

  • Якщо ця функція виконає всі дії, вона повертає масив результатів запиту або кількість рядків, до яких були внесені зміни під час обробки запиту.

  • Якщо функції SQL.REQUEST не вдається отримати доступ до джерела даних за допомогою аргумента «рядок_підключення», вона повертає значення помилки #N/A.

Примітки

  • Функція SQL.REQUEST може бути введена у вигляді масиву. Якщо функція SQL.REQUEST введена у вигляді масиву, вона повертає масив, що відповідає цьому діапазону.

  • Якщо діапазон клітинок більший за набір результатів, функція SQL.REQUEST додає пусті клітинки до масиву, що повертається, щоб збільшити його до необхідного розміру.

  • Якщо набір результатів більший за діапазон, введений як масив, функція SQL.REQUEST повертає весь масив.

  • Аргументи функції SQL.REQUEST мають інший порядок, ніж аргументи функції SQLRequest у Visual Basic for Applications.

Приклад

Припустимо, потрібно здійснити запит до бази даних dBASE, яка називається DBASE4. Якщо ввести нижченаведену формулу до клітинки, буде повернено масив результатів запиту, в якому в першому рядку міститимуться назви стовпців:

SQL. Запит на ("DSN = NWind; DBQ = c:\msquery; FIL = dBASE4», c15, 2," виберіть Custmr_ID Due_Date з замовлення де order_Amt > 100 ", TRUE)

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×