SQL.REQUEST

NB! :  See artikkel on masintõlgitud, vaadake lahtiütlust. Selle artikli ingliskeelse versiooni leiate aadressilt (viiteks).

Selles artiklis kirjeldatakse Microsoft Exceli funktsiooni SQL.REQUEST valemisüntaksit ja kasutamist.

NB! : 

  • Alates rakendusest Excel 2010 annab tootmise ja teisendamise funktsioon (Power Query) täiustatud võimalused andmete importimiseks välistest andmeallikatest ja asendab täielikult funktsiooni SQL.REQUEST.

  • Funktsiooni SQL.REQUEST ei toetata Microsoft Excel 2007-st uuemates versioonides.

  • Mõni selle teema osa ei pruugi mõne keele puhul rakendatav olla.

Kirjeldus

Funktsioon SQL.REQUEST loob ühenduse välise andmeallikaga ja käivitab päringu töölehelt. Seejärel tagastatakse tulem massiivina (ilma makro kirjutamise vajaduseta). Kui see funktsioon pole saadaval, tuleb installida Microsoft Exceli lisandmoodul ODBC (XLODBC.XLA).

Süntaks

SQL.REQUEST(ühendusestring;[väljundiviide];[draiveri_viip];[päringu_tekst];[loogilised_veerunimed])

Funktsiooni SQL.REQUEST süntaksil on järgmised argumendid.

  • Ühendusestring     – nõutav. Annab sellist teavet nagu andmeallika nimi, kasutajatunnus ja paroolid, mida draiver nõuab andmeallikaga ühenduse loomiseks ja mis peavad järgima draiveri vormingut. Järgmises tabelis on toodud kolm ühendusestringi näidet kolme draiveri jaoks.

Draiver

Ühendusestring

dBASE

DSN=NWind;PWD=test

SQL Server

DSN=MinuServer;UID=dbayer; PWD=123;Database=Pubs

ORACLE

DNS=Minu Oracle'i andmeallikas;DBQ=MYSER VER;UID=JohnS;PWD=Sesame

  • Enne andmeallikaga ühenduse loomist tuleb määratleda argumendis ühendusestring kasutatav andmeallika nimi (DSN).

  • Ühendusestringi võite sisestada massiivi või stringina. Kui ühendusestringi pikkus ületab 250 märki, tuleb see sisestada massiivina.

  • Kui funktsioon SQL.REQUEST ei saa ühendusestringi abil andmeallikale juurdepääsu, tagastatakse veaväärtus #N/A.

  • Väljundiviide     – valikuline. Viide lahtrile, kuhu soovite paigutada valmis ühendusestringi. Kui sisestate funktsiooni SQL.REQUEST töölehel, ignoreeritakse argumenti väljundiviide.

    • Kasutage argumenti väljundiviide, kui soovite, et funktsioon SQL.REQUEST tagastaks valmis ühendusestringi (sel juhul tuleb SQL.REQUEST sisestada makrolehel).

    • Kui argument väljundiviide puudub, ei tagasta funktsioon SQL.REQUEST valmis ühendusestringi.

  • Draiveri_viip     – valikuline. Määrab, millal kuvatakse draiveri dialoogiboks ja millised suvandid on saadaval. Kasutage ühte järgmises tabelis kirjeldatud arvudest. Kui argument draiveri_viip puudub, kasutab funktsioon SQL.REQUEST selle vaikeväärtusena väärtust 2.

Draiveri_viip

Kirjeldus

1

Draiveri dialoogiboks kuvatakse alati.

2

Draiveri dialoogiboks kuvatakse ainult siis, kui ühendusestringi antav teave ja andmeallika spetsifikatsioon pole ühenduse loomiseks piisavad. Saadaval on kõik dialoogiboksi suvandid.

3

Draiveri dialoogiboks kuvatakse ainult siis, kui ühendusestringi antav teave ja andmeallika spetsifikatsioon pole ühenduse loomiseks piisavad. Dialoogiboksi suvandid on kuvatud tuhmidena ega ole saadaval, kui neid ei nõuta.

4

Draiveri dialoogiboksi ei kuvata. Kui ühenduse saamine ei õnnestu, tagastab funktsioon vea.

  • Päringu_tekst     – valikuline. SQL-lause, mida soovite andmeallikas käivitada.

    • Kui funktsioon SQL.REQUEST ei saa argumenti päringu_tekst määratud andmeallikas käivitada, tagastab see veaväärtuse #N/A.

    • Päringu värskendamiseks ühendage viited argumendiks päringu_tekst. Järgmises näites kasutab funktsioon SQL.REQUEST päringu uuendamiseks iga kord, kui $A$3 muutub, uut väärtust.

"SELECT nimi klientide kui jääk >" & $A$ 3 & "".

Microsoft Excel piirab stringide pikkust 255 märgiga. Kui päringu_tekst ületab selle pikkuse, sisestage päring vertikaalsesse lahtrivahemikku ja kasutage kogu vahemikku argumendina päringu_tekst. Lahtrite väärtused ühendatakse täieliku SQL-lause moodustamiseks.

  • Loogilised_veerunimed     – valikuline. Osutab, kas veergude nimed tagastatakse tulemite esimese reana. Seadke selle argumendi väärtuseks TRUE, kui soovite, et veergude nimed tagastataks tulemite esimese reana. Kasutage väärtust FALSE, kui te ei soovi veerunimede tagastamist. Kui argument loogilised_veerunimed puudub, ei tagasta funktsioon SQL.REQUEST veergude nimesid.

Tagastusväärtus

  • Kui see funktsioon lõpetab kõik oma toimingud, tagastab ta päringutulemite massiivi või päringu poolt mõjutatud ridade arvu.

  • Kui funktsioon SQL.REQUEST ei saa ühendusestringi abil andmeallikale juurdepääsu, tagastatakse veaväärtus #N/A.

Kommentaarid

  • Funktsiooni SQL.REQUEST saab sisestada massiivina. Kui sisestate funktsiooni SQL.REQUEST massiivina, tagastab see massiivi sobitumiseks vahemikuga.

  • Kui lahtrite vahemik on suurem kui tulemite hulk, lisab funktsioon SQL.REQUEST tagastatavale massiivile tühje lahtreid, et viia see vajaliku suuruseni.

  • Kui tulemite hulk on suurem kui massiivina sisestatud vahemik, tagastab funktsioon SQL.REQUEST terve massiivi.

  • Funktsiooni SQL.REQUEST argumentide järjestus erineb funktsiooni SQLRequest argumentide järjestusest programmis Visual Basic for Applications.

Näide

Oletagem, et soovite teha päringu dBASE-andmebaasi nimega DBASE4. Kui sisestate lahtrisse järgmise valemi, tagastatakse päringutulemite massiiv, mille esimene rida koosneb veergude nimedest:

SQL-I. TAOTLEMINE ("DSN = NWind; DBQ = c:\msquery; FIL = dBASE4", c15, 2, "valige Custmr_ID Due_Date tellimustest WHERE order_Amt > 100", TRUE)

Märkus. : Masintõlke lahtiütlus. Selle artikli tõlkis arvutisüsteem ilma inimese sekkumiseta. Microsoft pakub selliseid masintõlkeid, et inglise keelt mittekõnelevad kasutajad saaksid vaadata sisu Microsofti toodete, teenuste ja tehnoloogiate kohta. Kuna artikkel on masintõlgitud, võib see sisaldada sõnavara-, süntaksi- või grammatikavigu.

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×