SQL.REQUEST (funkce)

Část obsahu v tomto tématu nemusí být v některých jazycích k dispozici.

Důležité : Funkce SQL.REQUEST není v aplikaci Microsoft Excel 2010 podporována. Doplněk aplikace Excel 2002: Rozhraní ODBC (Open Database Connectivity, XLODBC.XLA) je podporováno pouze v aplikaci Excel 2002.

Tento článek popisuje syntaxi vzorce a použití funkce SQL.REQUEST v Excelu.

Popis

Připojí externí zdroj dat a spustí dotaz ze sešitu. Aniž by bylo potřeba programovat nějaké makro, vrátí funkce SQL.REQUEST výsledek jako matici hodnot. Pokud tato funkce není dostupná, je potřeba nainstalovat doplněk Microsoft Excel ODBC (XLODBC.XLA). Tento doplněk můžete nainstalovat z webu Microsoft Office.

Syntaxe

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

Funkce SQL.REQUEST má následující argumenty:

  • Connection_string:     Povinný argument. Obsahuje informace jako název zdroje dat, ID a heslo uživatele. Tyto informace vyžaduje ovladač, který se použije pro připojení zdroje dat. Musí proto být zadány v odpovídajícím formátu. V následující tabulce jsou uvedeny tři příklady hodnot argumentu connection_string pro tři různé ovladače:

Ovladač

Connection_string

dBASE

DSN=NWind;PWD=test

Server SQL

DSN=Můj server;UID=dbayer; PWD=123;Database=Pubs

ORACLE

DNS= Zdroj dat Oracle;DBQ=MYSER VER;UID=Honzův;PWD=Sezam

  • Název datového zdroje (DSN) použitý v connection_string musí být před pokusem o připojení definován.

  • Argument connection_string lze zadat jako matici nebo jako řetězec. Pokud je však delší než 250 znaků, musí být zadaný jako matice.

  • Pokud se funkci SQL.REQUEST nepodaří požadovaný zdroj dat připojit, vrátí chybovou hodnotu #NENÍ_K_DISPOZICI.

  • Output_ref:     Nepovinný argument. Jedná se o odkaz na buňku, do které se má umístit dokončený řetězec connection_string. Tento argument je ignorován, pokud umístíte funkci SQL.REQUEST na list.

    • Pokud chcete, aby funkce SQL.REQUEST vrátila dokončený connection_string, zadejte argument output_ref.

    • Pokud argument output_ref vynecháte, funkce SQL.REQUEST dokončený connection string nevrátí.

  • Driver_prompt:     Nepovinný argument. Určuje, kdy se má zobrazit dialogové okno ovladače a které volby mají být dostupné. Použijte jedno z čísel popsaných v následující tabulce. Pokud argument driver_prompt vynecháte, funkce SQL.REQUEST použije výchozí hodnotu 2.

Driver_prompt

Popis

1

Dialogové okno ovladače se zobrazí v každém případě.

2

Dialogové okno ovladače se zobrazí pouze tehdy, když informace v připojovacím řetězci a v zadání zdroje dat nepostačují k připojení. Všechny volby dialogového okna jsou dostupné.

3

Dialogové okno ovladače se zobrazí pouze tehdy, když informace v připojovacím řetězci a v zadání zdroje dat nepostačují k připojení. Volby dialogového okna, které nejsou požadovány, jsou ztlumené a nejsou dostupné.

4

Dialogové okno ovladače se nezobrazí. Pokud je pokus o připojení neúspěšný, vrátí funkce chybovou hodnotu.

  • Query_text:     Nepovinný argument. Jedná se o příkaz SQL, který má být proveden u zdroje dat.

    • Pokud se funkci SQL.REQUEST nepodaří požadovaný dotaz na zadaném zdroji dat provést, vrátí chybovou hodnotu #NENÍ_K_DISPOZICI.

    • Prostřednictvím odkazů v argumentu dotaz_text je možné dotaz aktualizovat. V následujícím příkladu aktualizuje funkce SQL.REQUEST dotaz podle nové hodnoty $A$3 při každé její změně.

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

V aplikaci Microsoft Excel omezuje délku řetězce na 255 znaků. Pokud je query_text delší, zadejte dotaz v buňkách svisle pod sebou a jako argument query_text použijte celou tuto oblast. Příkaz SQL se vytvoří spojením hodnot z buněk.

  • Col_names_logical     Nepovinný argument. Určuje, zda funkce vrací v prvním řádku výsledků názvy sloupců. Pokud chcete, aby byly názvy sloupců vráceny, nastavte tento argument na hodnotu PRAVDA. V opačném případě ho nastavte na hodnotu NEPRAVDA. Pokud argument col_names_logical vynecháte, funkce SQL.REQUEST názvy sloupců nevrací.

Vrácená hodnota

  • Když funkce SQL.REQUEST dokončí provádění všech svých operací, vrátí matici s odpovědí na dotaz nebo počet řádků dotazem zasažených.

  • Pokud funkce SQL.REQUEST nemůže pomocí zadaného connection_string připojit zdroj dat, vrátí chybovou hodnotu #NENÍ_K_DISPOZICI.

Poznámky

  • Funkci SQL.REQUEST lze zadat jako matici. V takovém případě vrací odpověď v matici stejného rozsahu.

  • Je-li zadaná oblast pro odpověď příliš velká, doplní funkce SQL.REQUEST vracenou matici potřebným počtem prázdných buněk.

  • Je-li zadaná oblast pro odpověď příliš malá, funkce SQL.REQUEST vrátí celou matici s odpovědí.

  • Argumenty funkce SQL.REQUEST jsou uvedeny v jiném pořadí než argumenty funkce SQL.REQUEST v aplikaci Visual Basic for Applications.

Příklad

Chcete například zadat dotaz do databáze aplikace dBASE nazvané DBASE4. Když zadáte v buňce následující vzorec, vrátí se jako odpověď matice, jejíž první řádek obsahuje názvy sloupců.

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

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×