Használhatja az Accesst előtér-alkalmazásként, majd hivatkozhat egy háttérkiszolgáló tábláira, például az SQL Serverre. Alapértelmezés szerint a legtöbb lekérdezés helyileg fut az Access ACE adatbázismotorban. Bizonyos esetekben az Access az SQL szintaxisától és más tényezőktől függően távolról is futtathat lekérdezéseket az SQL Serveren. További információ: "JET database engine Version 3.0: ODBC Connectivity" (A JET adatbázismotor 3.0-s verziója: ODBC-kapcsolat) az újra felfedezett JET- és ODBC-tanulmányokban.
Gyakran azonban explicit módon szeretne lekérdezést futtatni egy adatbázis-kiszolgálón. Ezt a teljesítmény javítása érdekében teheti meg: az adatbázis-kiszolgálók feldolgozási teljesítménye nagyobb, mint az asztali számítógépek esetében, és az adatok kisebb részhalmazát is visszaadhatja a hálózati kapcsolaton keresztül. Ha lekérdezést szeretne futtatni egy adatbázis-kiszolgálón, használjon egy átadó lekérdezés, amely egy Transact SQL-utasítás (TSQL), amely ODBC kapcsolati sztring használatával csatlakozik az SQL Serverhez. Átadhat például egy SELECT utasítást, amely adatokat ad vissza egy adatlapnak, űrlapnak, jelentésnek vagy listavezérlőnek, futtathatja a műveleti lekérdezések megfelelőit (Adatmanipulációs nyelv (DML) utasítások), meghívhat tárolt eljárásokat, és felügyeleti feladatokat (Adatdefiníciós nyelv (DDL) utasításokat hajthat végre.
Megjegyzés: Az átmenő lekérdezések eredményei csak olvashatók. Adatlap vagy űrlap adatainak közvetlen szerkesztéséhez hozzon létre egy indexelt nézethez csatolt táblát. További információ: Indexelt nézetek létrehozása.
-
Csatlakozás kiszolgálóadatbázishoz.
Az SQL Serverhez való csatolással kapcsolatos további információkért lásd: SQL Server-adatbázis adatainak importálása vagy csatolása és Adatok csatolása vagy importálása Azure SQL Server-adatbázishoz.
-
Válassza a Create > Query Design (Lekérdezéstervezőlétrehozása) lehetőséget.
-
Ha szükséges, zárja be a Táblák hozzáadása párbeszédpanelt (Tábla megjelenítése az Accessben).
-
Válassza a Tervezés >továbbítás lehetőséget.
Az Access elrejti a lekérdezéstervező rácsot, és megjeleníti az SQL-nézetet.
-
Ha a lekérdezés tulajdonságlapja nem jelenik meg, az F4 billentyűt lenyomva jelenítse meg.
-
A tulajdonságlapon kattintson az ODBC Connect Str tulajdonságmezőre, majd tegye a következők egyikét:
Kapcsolati sztring lekérése:
-
A navigációs ablakban kattintson a jobb gombbal egy, a kívánt adatforráshoz csatolt táblára, és válassza a Csatolttábla-kezelő lehetőséget.
-
A Csatolttábla-kezelő párbeszédpanelen jelölje be az adatforrás jelölőnégyzetét, majd válassza a Szerkesztés lehetőséget.
-
A Hivatkozás szerkesztése párbeszédpanelen másolja a Kapcsolati sztring mezőbe a szöveget.
-
Válassza a Build lehetőséget.
-
Az utasításokat követve hozzon létre egy DSN-fájlt, amely tartalmazza a kapcsolati sztring adatait. Részletes lépésekért lásd: SQL Server-adatbázis adatainak importálása vagy csatolása és Adatok csatolása vagy importálása Azure SQL Server-adatbázishoz.
A DSN-fájlkapcsolat létrehozása után az ODBC kapcsolati sztring belsőleg az Access-adatbázisban lesz tárolva. Íme egy trükk a sztring másolatának beszerzéséhez:
-
Keresse meg a csatolt tábla nevét a navigációs ablakban a kívánt ODBC-kapcsolattal.
-
Nyomja le a Ctrl+G billentyűkombinációt. A VBA Immediate ablak megnyitásához.
-
Adja meg a következő kódot:
?CurrentDb.TableDefs("<table name>").Connect
De helyettesítse be <tábla nevét> a csatolt tábla nevét az a lépésben.
-
Másolja a visszaadott sztringet az ODBC Connect Str tulajdonságba.
-
-
Írja be a lekérdezést SQL-nézetben.
Megjegyzés: Az Access SQL és az SQL Server TSQL között fontos különbségek vannak, különösen a szintaxis, a függvénynevek és a függvényargumentumok esetében. További információ: Az Access SQL és az SQL Server TSQL összehasonlítása.
Tipp: Először hozza létre a TSQL-lekérdezést az SQL Server Management Studióban, majd másolja és illessze be az SQL-t az SQL-nézetbe. Ez biztosítja, hogy a lekérdezés szintaxisa helyes. Ha nem fér hozzá kényelmesen egy SQL Server-adatbázishoz, érdemes lehet telepítenie a Microsoft SQL Server Express kiadást az asztali gépére, amely akár 10 GB-ot is támogat, és ingyenes és egyszerűbb módja a migrálás futtatásának és ellenőrzésének.
-
Fontolja meg további kapcsolódó tulajdonságok beállítását:
-
Rekordokat ad vissza Egyes SQL-utasítások olyan rekordokat ad vissza, mint a SELECT, mások pedig nem, például az UPDATE. Ha a lekérdezés rekordokat ad vissza, állítsa ezt a tulajdonságot Igen értékre; ha a lekérdezés nem ad vissza rekordokat, állítsa ezt a tulajdonságot Nem értékre.
Megjegyzés: Az átadó lekérdezések több eredményhalmazt is visszaadhatnak, de adatlap-, űrlap-, jelentés- vagy rekordhalmaz-változókban csak az első eredményhalmazt használja a rendszer. Ha több eredményhalmazt szeretne lekérni, használjon tábla-készítő lekérdezést az alábbi példában látható módon:
SELECT <pass-through query name>.* INTO <local table name> FROM < pass-through query name >
A csillagot (*) kell használnia, mert minden eredményhalmaz különböző oszlopokkal rendelkezhet. A rendszer minden eredményhalmazt külön táblába ment, és ennek megfelelően hozzáfűzi a számokat a helyi táblanevekhez. Ha például három eredményhalmazt ad vissza, a táblanevek a következők: <helyi tábla neve>, <helyi tábla neve>1, <a helyi tábla neve>2.
-
Naplóüzenetek Adja meg, hogy szeretne-e üzeneteket visszaadni az SQL-adatbázisból egy Access-üzenettáblában. A tábla neve formátuma felhasználónév – nn, ahol a felhasználónév az aktuális felhasználó bejelentkezési neve, az nn pedig egy 00-tól kezdődő szám.
-
ODBC időtúllépés Itt adhatja meg, hogy hány másodpercig várjon, amíg időtúllépési hiba lép fel egy lekérdezés futtatásakor. Az alapértelmezett érték 60 másodperc. Előfordulhatnak késések a hálózati forgalom vagy az adatbázis-kiszolgáló nagy használata miatt.
-
Rekordok maximális mérete Adja meg a visszaadni kívánt rekordok maximális számát. Előfordulhat, hogy korlátozott rendszererőforrásokkal rendelkezik, vagy csak kis mennyiségű adattal szeretné tesztelni az eredményeket.
-
-
A lekérdezés beírása után válassza a Tervezés > Futtatás lehetőséget. A rendszer elküldi a lekérdezést az adatbázis-kiszolgálónak feldolgozásra.