SQL.REQUEST, funktionen

I denne artikel beskrives formelsyntaksen for og brugen af funktionen SQL.REQUEST i Excel.

Vigtigt: 

  • Fra og med Excel 2010 giver oplevelsen Hent og Transformér (Power-forespørgsel) forbedrede funktioner til import af data fra eksterne datakilder. Dette erstatter effektivt funktionen SQL.ANMOD.

  • Funktionen SQL.ANMOD understøttes ikke i versioner efter Microsoft Excel 2007.

  • Noget af det, der står i dette emne, gælder ikke for alle sprog.

Beskrivelse

Funktionen SQL.ANMOD opretter forbindelse til en ekstern datakilde og kører en forespørgsel fra et regneark. Derefter returneres resultatet som en matrix uden brug af makroprogrammering. Hvis denne funktion ikke er tilgængelig, skal du installere Microsoft Excel ODBC-tilføjelsesprogrammet (XLODBC.XLA).

Syntaks

SQL.REQUEST(forbindelsesstreng;[output_reference];[driver_prompt];[query_tekst];[kolonnenavne_logisk])

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

  • Forbindelsesstreng     Påkrævet. Angiver oplysninger, f.eks. datakildens navn, bruger-id og adgangskoder, som kræves af den driver, der bruges til at oprette forbindelse til en datakilde. Strengen skal være i overensstemmelse med driverens format. I nedenstående tabel vises tre eksempler på en forbindelsesstreng til tre drivere.

Driver

Forbindelsesstreng

dBASE

DSN=NWind;PWD=test

SQL Server

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

ORACLE

DNS=Min Oracle Datakilde;DBQ=MINSER VER;UID=JohnS;PWD=Finans

  • Du skal definere datakildenavnet (DSN), som bruges i forbindelsesstreng, før du forsøger at tilslutte dig det.

  • Du kan indtaste forbindelsesstreng som en matrix eller som en streng. Hvis forbindelsesstreng er på mere end 250 tegn, skal du indtaste den som en matrix.

  • Hvis SQL.REQUEST ikke kan få adgang til datakilden ved brug af forbindelsesstreng, returnerer den fejlværdien #I/T.

  • Output_reference     Valgfrit. En reference til den celle, hvor den fulde forbindelsesstreng skal placeres. Hvis du skriver SQL.REQUEST i et regneark, ignoreres output_reference.

    • Brug output_reference, når SQL.REQUEST skal returnere den fulde forbindelsesstreng. (Du skal i så fald indtaste SQL.REQUEST i et makroark).

    • Hvis du udelader output_reference, returnerer SQL.REQUEST ikke en fuld forbindelsesstreng.

  • Driver_prompt     Valgfrit. Angiver, hvornår driverens dialogboks vises, og hvilke indstillinger der er tilgængelige. Brug et af de tal, som er angivet i nedenstående tabel. Hvis driver_prompt er udeladt, bruger SQL.REQUEST som standard 2.

Driver_prompt

Beskrivelse

1

Driverens dialogboks vises altid.

2

Driverens dialogboks vises kun, hvis de oplysninger, som er tilvejebragt med forbindelsesstreng, og datakildeangivelsen ikke er tilstrækkelige til at oprette forbindelse. Alle dialogboksindstillinger er tilgængelige.

3

Driverens dialogboks vises kun, hvis de oplysninger, som er tilvejebragt med forbindelsesstreng, og datakildeangivelsen ikke er tilstrækkelige til at oprette forbindelse. Dialogboksens indstillinger er nedtonet og ikke tilgængelige, hvis de ikke kræves.

4

Driverens dialogboks vises ikke. Hvis der ikke kan oprettes forbindelse, returneres en fejl.

  • Query_tekst     Valgfrit. Den SQL-sætning, du vil køre på datakilden.

    • Hvis SQL.REQUEST ikke kan udføre query_tekst for den angivne datakilde, returneres fejlværdien #I/T.

    • Du kan opdatere en forespørgsel ved at sammenkæde referencer i query_tekst. I nedenstående eksempel bruger SQL.REQUEST den nye værdi til at opdatere forespørgslen, hver gang $A$3 ændres.

"VÆLG navnet FRA kunder HVOR balancen >"&$A$3&"".

Strenge kan højst være på 255 tegn. Hvis query_tekst er længere, skal du indtaste forespørgslen i et lodret celleområde og bruge hele området som query_tekst. Celleværdierne sammenkædes, så de udgør den fuldstændige SQL-sætning.

  • Kolonnenavne_logisk     Valgfrit. Angiver, om kolonnenavne skal returneres som den første række af resultaterne. Angiv dette argument til SAND, hvis kolonnenavnene skal returneres som den første række af resultaterne. Brug FALSK, hvis kolonnenavnene ikke skal returneres. Hvis kolonnenavne_logisk udelades, returnerer SQL.REQUEST ikke kolonnenavne.

Returværdi

  • Hvis denne funktion afslutter alle sine handlinger, returneres en matrix med forespørgselsresultater eller antallet af rækker, som er blevet påvirket af forespørgslen.

  • Hvis SQL.REQUEST ikke kan få adgang til datakilden ved hjælp af forbindelsesstreng, returneres fejlværdien #I/T.

Bemærkninger

  • SQL.REQUEST kan indtastes som en matrix. Når du indtaster SQL.REQUEST som en matrix, returneres en matrix, som passer til området.

  • Hvis celleområdet er større end resultatsættet, tilføjer SQL.REQUEST tomme celler til den returnerede matrix, så matrixen får til den nødvendige størrelse.

  • Hvis resultatsættet er større end det område, der er indtastet som en matrix, returnerer SQL.REQUEST hele matrixen.

  • Argumenterne for SQL.REQUEST forekommer i en anden rækkefølge end argumenterne for funktionen SQLRequest i Visual Basic for Applications.

Eksempel

Antag, at du foretager en forespørgsel i en dBASE-database med navnet DBASE4. Når du indtaster nedenstående formel i en celle, returneres en matrix med forespørgselsresultater, hvor den første række er kolonnenavnene.

SQL.ANMOD("DSN=NWind;DBQ=c:\msquery;FIL=dBASE4", c15, 2, "Vælg Kunde_ID, Forfaldsdato for bestillinger HVOR ordremængde>100", SAND)

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×