Opprette en direktespørring

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan bruke Access som et frontprogram og deretter koble til tabeller i en server, for eksempel SQL Server. Som standard kjøres de fleste spørringer lokalt i Access ACE-databasemotoren. I noen tilfeller kan Access kjøre en spørring eksternt på SQL Server, avhengig av SQL-syntaksen og andre faktorer. Hvis du vil ha mer informasjon, kan du se "JET databasemotor Version 3.0: ODBC Connectivity" i gjenoppdagede JET- og ODBC-hvitbøker.

Ofte vil du kjøre en spørring på en databaseserver. Du gjør dette for å forbedre ytelsen: Databaseservere har større prosessorkraft enn en stasjonær datamaskin, og du kan returnere et mindre delsett med data over nettverkstilkoblingen. Hvis du vil kjøre en spørring på en databaseserver, kan du bruke en direktespørring som er en Transact SQL (TSQL)-setning som kobler til SQL Server ved hjelp av en ODBC-tilkoblingsstreng. Du kan for eksempel sende en SELECT-setning for å returnere data til en dataark-, skjema-, rapport- eller listekontroll, kjøre tilsvarende redigeringsspørringer (DML-setninger (Data Manipulation Language)), kalle lagrede prosedyrer og utføre administrative oppgaver (DDL-setninger (Data Definition Language)).

Vær oppmerksom på Resultatene av en direktespørring er skrivebeskyttet. Hvis du vil redigere data direkte i et dataark eller skjema, oppretter du en koblet tabell til en indeksert visning. Hvis du vil ha mer informasjon, kan du se Opprette indekserte visninger.

  1. Koble til en serverdatabase.
    Hvis du vil ha mer informasjon om hvordan du kobler til SQL Server, kan du se Importere eller koble til data i en SQL Server-database og Koble til eller importere data fra en Azure SQL Server-database.
  2. Velg Opprett>spørringsutforming.
  3. Lukk om nødvendig dialogboksen Legg til tabeller (Vis tabell i Access).
  4. Velg Design>Pass-through.
    Access skjuler utformingsrutenettet for spørringen og viser SQL-visning.
  5. Hvis egenskapssiden for spørringen ikke vises, trykker du F4 for å vise den.
  6. Klikk egenskapsboksen ODBC Connect Str på egenskapsarket, og gjør deretter ett av følgende:

Slik får du tak i en tilkoblingsstreng:

  1. Høyreklikk en tabell som er koblet til den ønskede datakilden, i navigasjonsruten, og velg Tabellkoblingsbehandling.
  2. Merk av for datakilden i dialogboksen Tabellkoblingsbehandling , og velg deretter Rediger.
  3. Kopier teksten i boksen Tilkoblingsstreng i dialogboksen Rediger kobling.
  1. Skriv inn spørringen i SQL-visning.
    Obs! Det finnes viktige forskjeller mellom Access SQL og SQL Server TSQL, spesielt når det gjelder syntaks, funksjonsnavn og funksjonsargumenter. Hvis du vil ha mer informasjon, kan du se Sammenligne Access SQL med SQL Server TSQL.
    Tips Bygg TSQL-spørringen i SQL Server Management Studio først, og kopier og lim deretter SQL-koden inn i SQL-visningen. Dette sikrer at syntaksen har riktig syntaks. Hvis du ikke har enkel tilgang til en SQL Server-database, bør du vurdere å installere Microsoft SQL Server Express Edition på skrivebordet som støtter opptil 10 GB og er en gratis og enklere måte å gjennomføre og kontrollere overføringen på.

  2. Vurder å angi flere relaterte egenskaper:

    • Returnerer poster Enkelte SQL-setninger returnerer poster, for eksempel SELECT, og andre gjør det ikke, for eksempel UPDATE. Hvis spørringen returnerer poster, angir du denne egenskapen til Ja; Hvis spørringen ikke returnerer poster, angir du denne egenskapen til Nei.
      Vær oppmerksom på Direktespørringer kan returnere flere resultatsett, men i dataark, skjemaer, rapporter eller postsettvariabler brukes bare det første resultatsettet. Hvis du vil hente flere resultatsett, kan du bruke en lag tabell-spørring som vist i eksemplet nedenfor:

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >
      

      Du må bruke stjernesymbolet (*) fordi hvert resultatsett kan ha ulike kolonner. Hvert resultatsett lagres i en egen tabell, og tallene legges til de lokale tabellnavnene. Hvis for eksempel tre resultatsett returneres, blir tabellnavnene følgende: <Lokalt tabellnavn>, <lokalt tabellnavn>1, <lokalt tabellnavn>2.

    • Loggmeldinger Angi om meldinger fra SQL-databasen i en Access-meldingstabell skal returneres. Tabellnavnet har formatet brukernavn – nn, der brukernavn er påloggingsnavnet for gjeldende bruker, og nn er et tall som starter på 00.

    • ODBC-tidsavbrudd Angi hvor mange sekunder du vil vente før det oppstår en tidsavbruddsfeil når en spørring kjøres. Standardverdien er 60 sekunder. Det kan være forsinkelser på grunn av nettverkstrafikk eller tung bruk av databaseserveren.

    • Maksimalt antall poster Angi maksimalt antall poster som skal returneres. Du kan ha begrensede systemressurser, eller du vil teste resultatene med bare en liten mengde data.

  3. Når du er ferdig med å skrive inn spørringen, velger du Kjør utforming>. Spørringen sendes til databaseserveren for behandling.

Se også

Transact-SQL-referanse

Spørring med Transact-SQL