SQL.REQUEST функциясы

Осы тақырыптағы мазмұнның кей бөлігі кейбір тілдер үшін қолданылмауы мүмкін.

Маңызды : SQL.REQUEST функциясы Microsoft Excel 2010 бағдарламасында қолдау көрсетпейді. Excel 2002 Add-in: Open Database Connectivity (XLODBC.XLA) тек Excel 2002 бағдарламасында қолдау көрсетіледі.

Бұл мақалада Excel бағдарламасындағы формула синтаксисі мен SQL.REQUEST функциясының қолданысы сипатталады.

Сипаттамасы

Сыртқы деректер көзіне қосып, жұмыс парағынан бір сұрауды іске қосады. Содан кейін, SQL.REQUEST функциясы нәтижені макросты бағдарламалау қажетінсіз массив түрінде береді. Егер функция қол жетімді емес болса, Microsoft Excel ODBC қондырма бағдарламасын (XLODBC.XLA) орнату қажет. Қондырманы Microsoft Office веб-сайтынан орнатып алуға болады.

Синтаксис

SQL.REQUEST(байланыс_жолы,[шығыс_сілтеме],[драйвер_нұсқауы],[сұрау_мәтіні],[логикалық_баған_атаулары])

SQL.REQUEST функциясының синтаксисінде келесі аргументтер бар:

  • Байланыс_жолы     Міндетті. Деректер көзіне қосылу үшін драйвер қажет ететін деректер көзінің атауы, пайдаланушы идентификаторы және құпиясөздер сияқты мәліметтерді береді; ол драйвердің пішіміне сәйкес келуге тиіс. Келесі кестеде үш драйвер үшін үш қосылым жолының мысалы берілген.

Драйвер

Байланыс_жолы

dBASE

DSN=NWind;PWD=test

SQL сервері

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 функциясы сұрауды жаңарту үшін жаңа мәнді пайдаланып отырады.

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

Microsoft Excel бағдарламасы жолдардың ұзындығын 255 таңбаға дейін шектейді. Егер «сұрау_мәтіні» аргументінің мәні одан артық болса, сұрауды тік ұяшықтар ауқымына енгізіп, бүкіл ауқымды «сұрау_мәтіні» аргументінің мәні ретінде пайдаланады. Ұяшықтардың мәндерді біріктіріліп, толық SQL мәлімдемесін құрайды.

  • Логикалық_баған_атаулары     Міндетті емес. Баған атаулары нәтижелердің бірінші жолы ретінде берілетінін көрсетеді. Баған атаулары нәтижелердің бірінші жолы ретінде беру үшін осы аргументті TRUE мәніне қойыңыз. Баған атаулары бермеу үшін FALSE мәні пайдаланылады. Егер «логикалық_баған_атаулары» аргументінің мәні еленбесе, SQL.СҰРАУ функциясы баған атауларын бермейді.

Қайтару мәні

  • Функция әрекеттерді толық аяқтаса, ол сұрау нәтижелерінің жиымын немесе сұрау ықпалына ұшыраған жолдар санын береді.

  • Егер SQL.REQUEST функциясы деректер көзіне «қосылым_жолы» арқылы қатынай алмаса, ол #N/A қате мәнін береді.

Ескертпелер

  • SQL.REQUEST функциясын жиым түрінде енгізуге болады. SQL.REQUEST жиым түрінде енгізілгенде, ол сол ауқымға қиыстырылатын бір жиымды береді.

  • Егер ұяшықтардың ауқымы белгіленген нәтижеден үлкен болса, SQL.REQUEST функциясы берілген жиымды қажетті өлшемге дейін ұлғайту үшін оған бос ұяшықтар қосады.

  • Егер белгіленген нәтиже жиым түрінде енгізілген ауқымнан үлкен болса, SQL.REQUEST бүкіл жиымды береді.

  • SQL.REQUEST аргументтерінің реті Бағдарламалар үшін Visual Basic ішіндегі SQL.REQUEST функциясының аргументтерінен өзгеше болады.

Мысал

DBASE4 деп аталатын dBASE дерекқорының сұрауын жасау қажет делік. Келесі формуланы бір ұяшыққа енгізгенде, бірінші жолында баған атаулары орналасқан сұрау нәтижелерінің жиымы беріледі:

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 қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×