SQL.REQUEST (funkcija SQL.REQUEST)

Ovaj članak opisuje sintaksu formule i upotrebu funkcije SQL.REQUEST u programu Microsoft Excel.

Važno : 

  • Počev od programa Excel 2010, utisak pri radu sa funkcijom „Preuzimanje i transformacija“ (Power Query) pruža poboljšanu funkcionalnost za uvoz podataka iz spoljnih izvora podataka i efikasno zamenjuje funkciju SQL.REQUEST.

  • Funkcija SQL.REQUEST nije podržana u verzijama posle programa Microsoft Excel 2007.

  • Neki sadržaj iz ove teme možda nije moguće primeniti na neke jezike.

Opis

Funkcija SQL.REQUEST se povezuje sa spoljnim izvorom podataka i pokreće upit iz radnog lista. Ona zatim daje rezultat kao niz bez potrebe za makro programiranjem. Ako vam ova funkcija nije na raspolaganju, morate da instalirate programski dodatak Microsoft Excel ODBC (XLODBC.XLA).

Sintaksa

SQL.REQUEST(niska_veze,[izlazna_ref],[upit_za_up_program],[tekst_upita],[logička_imena_kolona])

Sintaksa funkcije SQL.REQUEST ima sledeće argumente:

  • Niska_veze     Obavezno. Dobavlja informacije kao što su ime izvora podataka, ID korisnika i lozinke koje su potrebne za upravljački program koji se koristi za povezivanje sa izvorom podataka i mora da odgovara formatu upravljačkog programa. Sledeće tabele daju tri primera niski za povezivanje za tri upravljačka programa.

Upravljački program

Niska_veze

dBASE

DSN=NWind|PWD=test

SQL Server

DSN=MyServer|UID=dbayer| PWD=123|Database=Pubs

ORACLE

DNS=My Oracle Data Source|DBQ=MYSER VER|UID=JohnS|PWD=Sesame

  • Morate definisati ime izvora podataka (DSN) korišćenog u niski_veze pre nego što pokušate da se povežete sa njim.

  • Nisku_veze možete da unesete kao niz ili nisku. Ako je niska_veze duža od 250 znakova, morate da je unesete kao niz.

  • Ako SQL.REQUEST ne može da dobije pristup izvoru podataka pomoću niske_veze, funkcija daje grešku #N/A.

  • Izlazna_ref     Opcionalno. Ćelijska referenca na željeno mesto za nisku završene veze. Ako unesete SQL.REQUEST na radni list, output_ref se zanemaruje.

    • Koristite izlaznu_ref kada želite da SQL.REQUEST vrati potpunu nisku za povezivanje (u tom slučaju morate uneti SQL.REQUEST na radnom listu sa makroima).

    • Ako izostavite izlaznu_ref, SQL.REQUEST ne daje potpunu nisku za povezivanje.

  • Upit_za_up_program     Opcionalno. Navodi kada se prikazuje dijalog upravljačkog programa i koje opcije su dostupne. Koristite neki od brojeva opisanih u sledećoj tabeli. Ako je upit_za_up_program izostavljen, SQL.REQUEST koristi 2 kao podrazumevanu vrednost.

Upit_za_up_program

Opis

1

Dijalog upravljačkog programa je uvek prikazan.

2

Dijalog upravljačkog programa prikazan je samo ako informacija dobavljena pomoću parametra za povezivanje i specifikacije izvora podataka nije dovoljna da bi se dovršilo povezivanje. Sve opcije dijaloga su dostupne.

3

Dijalog upravljačkog programa prikazan je samo ako informacija dobavljena pomoću parametra za povezivanje i specifikacije izvora podataka nije dovoljna da bi se dovršilo povezivanje. Opcije dijaloga su nedostupne ukoliko nisu zahtevane.

4

Dijalog upravljačkog programa nije prikazan. Ako povezivanje nije uspelo, biće prikazana greška.

  • Tekst_upita     Opcionalno. SQL izjava koju želite da izvršite na izvoru podataka.

    • Ako SQL.REQUEST nije u mogućnosti da izvrši upit nad tekstom u preciziranom izvoru podataka, funkcija daje grešku #N/A.

    • Možete ažurirati upit tako što ćete povezati reference u argument tekst_upita. U sledećem primeru, svaki put kad se $A$3 promeni, SQL.REQUEST koristi novu vrednost za ažuriranje upita.

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

U programu Microsoft Excel niske mogu imati do 255 znakova. Ako tekst_upita prevazilazi tu dužinu, unesite upit u vertikalni opseg ćelija i koristite ceo opseg kao argument tekst_upita. Vrednosti ćelija su povezane kako bi činile potpun SQL izraz.

  • Logička_imena_kolona     Opcionalno. Označava da li se imena kolona dobijaju kao prvi red rezultata. Podesite ovaj argument ima na TRUE ako želite da imena kolona budu data kao prvi red rezultata. Koristite FALSE ako ne želite da dobijete imena kolona. Ako se izostavi argument logička_imena_kolona, SQL.REQUEST ne daje imena kolona.

Povratna vrednost

  • Ako ova funkcija završi sve svoje radnje, ona daje niz rezultata upita ili broj redova koji su provereni u upitu.

  • Ako SQL.REQUEST ne može da pristupi izvoru podataka pomoću niske_veze, funkcija daje grešku #N/A.

Primedbe

  • SQL.REQUEST može biti unet kao niz. Kada unesete SQL.REQUEST kao niz, on daje niz koji se uklapa u taj opseg.

  • Ako je opseg ćelija veći od skupa rezultata, SQL.REQUEST dodaje prazne ćelije vraćenom nizu da bi ga povećao do potrebne veličine.

  • Ako je skup rezultata veći od opsega koji je unet kao niz, SQL.REQUEST daje ceo niz.

  • Argumenti za SQL.REQUEST su u drugačijem poretku nego argumenti za SQLRequest funkciju u programu Visual Basic for Applications.

Primer

Pretpostavimo da želite da napravite upit za dBASE bazu podataka pod nazivom DBASE4. Kada unesete sledeću formulu u ćeliju, dobija se niz rezultata upita sa imenima kolona u prvom redu:

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

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×