SQL.REQUEST (funkce)

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

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

Důležité : 

  • Od aplikace Excel 2010 poskytují možnosti načtení a transformace (Power Query) vylepšené funkce pro import dat z externích zdrojů dat a efektivně nahrazují funkci SQL.REQUEST.

  • Od aplikace Microsoft Excel 2007 se nepodporuje funkce SQL.REQUEST.

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

Popis

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

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 název od zákazníků, kde Zůstatek >" & $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. Žádost o ("DSN = NWind; DBQ = c:\msquery; FIL = dBASE4", c15, 2, "Vyberte Custmr_ID, Due_Date z objednávek WHERE order_Amt > 100", PRAVDA)

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

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

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×