SQL.REQUEST (funksjon)

Denne artikkelen beskriver formelsyntaks for og bruk av funksjonen SQL.REQUEST i Excel.

Viktig: 

  • Fra Excel 2010, gir opplevelsen for Hent og transformer (Power Query) forbedret funksjonalitet ved importering av data fra eksterne datakilder, og erstatter effektivt funksjonen SQL.REQUEST.

  • SQL.REQUEST-funksjonen støttes ikke utenfor Microsoft Excel 2007.

  • Noe av innholdet i dette emnet kan være uaktuelt for visse språk.

Beskrivelse

SQL.REQUEST-funksjonen kobler til en ekstern datakilde og foretar en spørring fra et regneark. Den returnerer deretter resultatet som en matrise, uten behov for makroprogrammering. Hvis denne funksjonen ikke er tilgjengelig, må du installere tillegget Microsoft Excel ODBC (XLODBC.XLA).

Syntaks

SQL.REQUEST(kobling;[utdatareferanse];[driver_ledetekst];[spørring];[kolonnenavn])

Syntaksen for funksjonen SQL.REQUEST har følgende argumenter:

  • Kobling     Obligatorisk. En koblingsstreng som bidrar med informasjon som driveren trenger for å koble seg opp mot en datakilde. Denne informasjonen kan bestå av datakildenavn, bruker-ID og passord, og den må følge driverens format. Den følgende tabellen gir tre eksempler på koblingsstrenger for tre drivere.

Driver

Kobling

dBASE

DSN=NWind;PWD=test

SQL Server

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

ORACLE

DNS=Min Oracle-datakilde;DBQ=MYSER VER; UID=JohnS;PWD=Sesam

  • Du må definere datakildenavnet (DSN), som blir brukt i kobling, før du prøver å oppnå kontakt.

  • Du kan taste inn kobling som en matrise eller en streng. Hvis kobling er på flere enn 250 tegn, må du taste den inn som en matrise.

  • Hvis SQL.REQUEST ikke klarer å koble seg opp med kobling, returneres feilverdien #I/T.

  • Utdatareferanse     Valgfritt. En referanse til cellen hvor du vil ha den ferdige koblingsstrengen plassert. Hvis du skriver SQL.REQUEST på et regneark, blir Utdatareferanse ignorert.

    • Bruk utdatareferanse når du vil at SQL.REQUEST skal returnere den ferdige koblingsstrengen (i dette tilfellet må du skrive SQL.REQUEST på et makroark).

    • Hvis du utelater utdatareferanse, returnerer ikke SQL.REQUEST kobling.

  • Driver_ledetekst     Valgfritt. Spesifiserer når driverdialogboksen vises, og hvilke alternativer som er tilgjengelige. Bruk ett av tallene i den følgende tabellen. Hvis driver_ledetekst er utelatt, bruker SQL.REQUEST tallet 2.

Stasjonsbokstav

Beskrivelse

1

Driverdialogboksen blir alltid vist.

2

Driverdialogboksen blir bare vist hvis informasjonen fra forbindelsesstrengen og datakildespesifikasjonene ikke er tilstrekkelig til å gjennomføre forbindelsen. Alle dialogboksvalgene er tilgjengelige.

3

Driverdialogboksen blir bare vist hvis informasjonen fra forbindelsesstrengen og datakildespesifikasjonene ikke er tilstrekkelig til å gjennomføre forbindelsen. Dialogboksvalgene er nedtonet og utilgjengelige hvis de ikke er nødvendige.

4

Dialogboksen blir ikke vist. Hvis forbindelsen ikke kommer opp, returneres en feilmelding.

  • Spørring     Valgfritt. SQL-setningen du vil utføre på datakilden.

    • Hvis SQL.REQUEST ikke kan utføre spørring i den angitte datakilden, returneres feilverdien #I/T.

    • Du kan oppdatere en spørring ved å kjede sammen referanser i spørring. I det følgende eksempelet bruker SQL.REQUEST den nye verdien til å oppdatere spørringen hver gang $A$3 endres.

"VELG Navn FRA Kunder DER Balanse > "&$A$3&"".

Microsoft Excel begrenser strengene til maksimum 255 tegn. Hvis spørring overskrider 255 tegn, må du skrive inn spørringen i et loddrett celleområde, og bruke hele området som spørring. Verdiene i cellene blir kjedet sammen til å bli det fullstendige SQL-utsagnet.

  • Kolonnenavn     Valgfritt. Angir hvorvidt kolonnenavn blir returnert som første rad i resultatet. La dette argumentet være SANN hvis du vil at kolonnenavnene skal returneres i den første raden i resultatet. Bruk USANN hvis du ikke vil ha kolonnenavnene returnert. Hvis kolonnenavn er utelatt, returnerer ikke SQL.REQUEST kolonnenavnene.

Returverdi

  • Hvis funksjonen avslutter alle oppgavene, returneres en matrise med spørringsresultater, eller antall rader som ble omfattet av spørringen.

  • Hvis SQL.REQUEST ikke har tilgang til datakilden ved hjelp av kobling, returneres feilverdien #I/T.

Merknader

  • SQL.REQUEST kan tastes inn som en matrise. Når du taster inn SQL.REQUEST som en matrise, returnerer den en matrise som passer inn i området.

  • Hvis celleområdet er større enn resultatsettet, legger SQL.REQUEST tomme celler til resultatmatrisen for å øke den til den nødvendige størrelsen.

  • Hvis resultatsettet er større enn det ønskede området du tastet inn som en matrise, returnerer SQL.REQUEST hele matrisen.

  • Argumentene til SQL.REQUEST kommer i en annen rekkefølge enn argumentene til funksjonen SqlRequest i Visual Basic.

Eksempel

La oss si du vil lage en spørring til en dBASE-database med navnet DBASE4. Når du skriver inn den følgende formelen i en celle, returneres en matrise med spørringsresultater hvor den første raden er kolonnenavn.

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

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×