SQL.REQUEST függvény

Ez a cikk az Excel SQL.REQUEST függvényének képletszintaxisát és használatát ismerteti.

Fontos : 

  • Az Excel 2010-től kezdődően a Beolvasás és átalakítás (Power Query) szolgáltatás továbbfejlesztett funkcionalitást nyújt az adatok külső adatforrásból való importálásához, és gyakorlatilag felváltotta az SQL.REQUEST függvényt.

  • Az SQL.REQUEST függvényt a Microsoft Excel 2007-nél újabb verziók már nem támogatják.

  • A témakör bizonyos része nem alkalmazható egyes nyelvekre.

Leírás

Az SQL.REQUEST függvény külső adatforráshoz csatlakozva lekérdezést hajt végre a munkalapról. A függvény ezután az eredményeket tömbként adja vissza, és ehhez nincs szükség makró írására. Ha a függvény nem áll rendelkezésre, akkor telepítenie kell a Microsoft Excel ODBC bővítményt (XLODBC.XLA).

Szintaxis

SQL.REQUEST(csatlakozási_karakterlánc; [kimenet]; [párbeszédpanel_megjelenítése]; [lekérdezendő_szöveg]; [oszlopnevek])

Az SQL.REQUEST függvény szintaxisa az alábbi argumentumokat foglalja magában:

  • Csatlakozási_karakterlánc:     Kötelező megadni. Az adatforráshoz való csatlakozásra használt kezelőprogram számára szükséges információkat (például az adatforrás nevét, a felhasználó azonosítóját, a jelszavakat) adja meg az illesztőprogramnak megfelelő formátumban. A következő táblázat három illesztőprogram példáján mutatja be a csatlakozási_karakterlánc argumentum megadását.

Illesztőprogram

Csatlakozási_karakterlánc

dBASE

DSN=NWind;PWD=test

SQL Server

DSN=SajátKiszolgáló;UID=dbayer; PWD=123;Database=Pubs

ORACLE

DNS=SajátOracleAdatforrás;DBQ=MYSER VER;UID=JohnS;PWD=Sesame

  • Az adatforrás nevét (DSN) a csatlakozási_karakterlánc argumentumban való használata előtt definiálni kell.

  • A csatlakozási_karakterlánc argumentumot tömbként kell bevinni, ha 255 karakternél hosszabb.

  • Ha az SQL.REQUEST a megadott információk alapján nem tudja létrehozni az adatforráshoz a csatlakozást, akkor eredménye a #HIÁNYZIK hibaérték lesz.

  • Kimenet:     Nem kötelező megadni. Cellahivatkozás: a befejezett csatlakozási karakterlánc helyét adja meg. Ha az SQL.REQUEST függvényt munkalapon viszi be, az argumentumot figyelmen kívül hagyja.

    • A kimenet argumentumot akkor kell megadnia, ha az SQL.REQUEST függvénytől a létrehozott csatlakozási karakterlánc visszaadását kéri (ilyenkor makrólapon kell bevinni).

    • Ha nem adja meg ezt az argumentumot, akkor a függvény nem ad vissza ilyen szöveget

  • Párbeszédpanel_megjelenítése:     Nem kötelező megadni. Szám, értéke az alábbi táblázat szerint 1 és 4 közötti lehet. A kezelőprogram párbeszédpaneljének megjelenítését és a megjelenített információt határozza meg. Ha nem adja meg a párbeszédpanel_megjelenítése argumentumot, akkor alapértelmezés szerinti értéke 2 lesz.

Párbeszédpanel_megjelenítése

Leírás

1

Mindig megjeleníti az illesztőprogram párbeszédpaneljét.

2

Csak akkor jeleníti meg a párbeszédpanelt, ha a csatlakozás végrehajtásához kevés a megadott információ. A párbeszédpanel valamennyi beállítási lehetősége rendelkezésre áll.

3

Azonos a 2-es értéknél megadottal azzal a különbséggel, hogy a párbeszédpanel információadást nem igénylő mezőit szürkítve jeleníti meg (így ezek nem is adhatók meg).

4

Nem jelenít meg párbeszédpanelt akkor sem ha kevés a csatoláshoz megadott információ (ekkor hibaértéket kap).

  • Lekérdezendő_szöveg:     Nem kötelező megadni. Az adatforrásban végrehajtani kívánt SQL-utasítás.

    • Ha az SQL.REQUEST nem tudja végrehajtani a megadott adatforráson a lekérdezendő_szöveg lekérdezést, akkor eredménye a #HIÁNYZIK hibaérték lesz.

    • Egy lekérdezést a lekérdezendő_szöveg argumentumban összefűzött hivatkozásokkal frissíthet. A következő példában az SQL.REQUEST az új értékekkel frissíteni fogja a lekérdezést, valahányszor az $A$3 módosul:

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

A Microsoft Excelben a karakterláncok 255 karakterből állhatnak. Ha a lekérdezendő_szöveg 255 karakternél hosszabb, akkor ennek függőleges tömbnek vagy függőleges cellatartománynak kell lennie. Ekkor a teljes SQL-utasítás a tömb értékeinek összefűzéséből képződik.

  • Oszlopnevek:     Nem kötelező megadni. Logikai érték. Ha az argumentum értéke IGAZ, akkor az SQL.REQUEST függvény által adott eredmény első sorában szerepelnek az oszlopnevek. Ha az argumentum értéke HAMIS vagy nem adja meg, akkor az oszlopnevek nem lesznek az eredmények között.

Visszatérési érték

  • Ha a függvény az összes műveletet sikeresen végrehajtotta, akkor végeredménye a lekérdezés eredményeinek tömbje vagy a lekérdezésben érintett sorok száma lesz.

  • Ha az SQL.REQUEST nem tudja elérni a csatlakozási_karakterlánc argumentumban leírt adatforrást, akkor #HIÁNYZIK hibaértéket adja vissza.

Megjegyzések

  • Az SQL.REQUEST függvényt tömbként is beviheti. Ekkor az eredmény egy ugyanakkora tömb lesz.

  • Ha a cellatartomány nagyobb az eredményhalmaznál, akkor az SQL.REQUEST üres cellák hozzáadásával növeli a visszaadott tömböt a megfelelő méretre.

  • Ha az eredményhalmaz nagyobb a bevitt tömb méreténél, akkor az SQL.REQUEST a teljes tömböt adja eredményül.

  • Az SQL.REQUEST függvényben és a Visual Basic for Applications SQLRequest függvényében az argumentumok sorrendje eltérő.

Példa

Tegyük fel, hogy a DBASE4 nevű dBASE adatbázisban szeretne lekérdezést végrehajtani. Ha a következő képletet egy cellába viszi be, akkor a visszatérési érték a lekérdezés eredményeinek tömbje lesz, amelyben az első sor az oszlopneveket tartalmazza:

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

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×