Du kan bruge Access som et front end-program og derefter oprette en kæde til tabeller på en back end-server, f.eks. SQL Server. Som standard kører de fleste forespørgsler lokalt i Access ACE-databaseprogrammet. I nogle tilfælde kan Access køre en forespørgsel eksternt på SQL Server, afhængigt af SQL-syntaksen og andre faktorer. Du kan finde flere oplysninger i "JET databaseprogram Version 3.0: ODBC Connectivity" i Rediscovered JET and ODBC white papers.
Oftest vil du dog eksplicit køre en forespørgsel på en databaseserver. Du gør dette for at forbedre ydeevnen: Databaseservere har større processorkraft end en stationær computer, og du kan returnere et mindre delsæt af data via netværksforbindelsen. Hvis du vil køre en forespørgsel på en databaseserver, skal du bruge en pass-through-forespørgsel, som er en Transact SQL (TSQL)-sætning, der opretter forbindelse til SQL Server ved hjælp af en ODBC-forbindelsesstreng. Du kan f.eks. videregive en SELECT-sætning for at returnere data til et dataark, en formular, en rapport eller et listekontrolelement, køre det, der svarer til handlingsforespørgsler (DML-sætninger (Data Manipulation Language)), kalde gemte procedurer og udføre administrative opgaver (DDL-sætninger (Data Definition Language)).
Bemærk Resultaterne af en gennemførselsforespørgsel er skrivebeskyttet. Hvis du vil redigere data direkte i et dataark eller en formular, skal du oprette en sammenkædet tabel til en indekseret visning. Du kan finde flere oplysninger i Oprette indekserede visninger.
- Opret forbindelse til en serverdatabase.
Du kan finde flere oplysninger om sammenkædning til SQL Server under Importér eller sammenkæd med data i en SQL Server-database og Sammenkæd med eller importér data fra en Azure SQL Server-database. - Vælg Opret>forespørgselsdesign.
- Luk om nødvendigt dialogboksen Tilføj tabeller (Vis tabel i Access.
- VælgDesigngennemgang>.
Access skjuler forespørgselsgitteret og viser SQL-visning. - Hvis egenskabsarket til forespørgslen ikke vises, skal du trykke på F4 for at få det vist.
- Klik på egenskabsfeltet ODBC Connect Str på egenskabsarket, og benyt derefter en af følgende fremgangsmåder:
Sådan får du en forbindelsesstreng:
- Højreklik i navigationsruden på en tabel, der er kædet sammen med den ønskede datakilde, og vælg Styring af sammenkædede tabeller.
- I dialogboksen Styring af sammenkædede tabeller skal du markere afkrydsningsfeltet for datakilden og derefter vælge Rediger.
- I dialogboksen Rediger link skal du kopiere teksten i feltet Forbindelsesstreng .
Skriv din forespørgsel i SQL-visning.
Bemærk: Der er vigtige forskelle mellem Access SQL og SQL Server TSQL, især med syntaks, funktionsnavne og funktionsargumenter. Du kan finde flere oplysninger i Sammenligning af Access SQL og SQL Server TSQL.
Tip Opbyg TSQL-forespørgslen i SQL Server Management Studio først, og kopiér og indsæt derefter SQL'en i SQL-visning. Dette sikrer, at forespørgslen har korrekt syntaks. Hvis du ikke har direkte adgang til en SQL Server-database, kan du overveje at installere Microsoft SQL Server Express Edition på din computer, som understøtter op til 10 GB, hvilket er en gratis og nemmere måde at gennemgå og kontrollere din migrering på.Overvej at angive yderligere relaterede egenskaber:
Returnerer poster Nogle SQL-sætninger returnerer poster, f.eks. SELECT, og andre gør ikke, f.eks. UPDATE. Hvis forespørgslen returnerer poster, skal du angive denne egenskab til Ja. Hvis forespørgslen ikke returnerer poster, skal du angive denne egenskab til Nej.
Bemærk Passeringsforespørgsler kan returnere flere resultatsæt, men i et dataark, en formular, en rapport eller en postsætvariabel bruges kun det første resultatsæt. Hvis du vil hente flere resultatsæt, skal du bruge en tabeloprettelsesforespørgsel som vist i følgende eksempel:SELECT <pass-through query name>.* INTO <local table name> FROM < pass-through query name >Du skal bruge stjernen (*), fordi hvert resultatsæt kan have forskellige kolonner. Hvert resultatsæt gemmes i en separat tabel, og tal føjes til de lokale tabelnavne som svarende. Hvis der f.eks. returneres tre resultatsæt, vil tabelnavnene være: <lokalt tabelnavn>, <lokalt tabelnavn>1, <lokalt tabelnavn>2.
Logmeddelelser Angiv, om meddelelser skal returneres fra SQL-databasen i en tabel med meddelelser i Access. Tabelnavnet har formatet brugernavn – nn, hvor brugernavn er logonnavnet for den aktuelle bruger, og nn er et tal, der starter med 00.
ODBC-timeout Angiv det antal sekunder, der skal ventes, før der opstår en timeoutfejl, når en forespørgsel køres. Standardværdien er 60 sekunder. Der kan være forsinkelser pga. netværkstrafik eller stor brug af databaseserveren.
Maks. antal poster Angiv det maksimale antal poster, der skal returneres. Du har muligvis begrænsede systemressourcer, eller du vil teste dine resultater med kun en lille mængde data.
Når du er færdig med at indtaste forespørgslen, skal du vælge Designkørsel>. Forespørgslen sendes til behandling på databaseserveren.
