Puteți să utilizați Access ca aplicație front-end, apoi să vă legați la tabelele de pe un server back-end, cum ar fi SQL Server. În mod implicit, majoritatea interogărilor rulează local în motorul de baze de date Access ACE. În unele cazuri, Access poate rula o interogare de la distanță pe SQL Server, în funcție de sintaxa SQL și de alți factori. Pentru mai multe informații, consultați "Jet Database Engine Versiunea 3.0: ODBC Connectivity" în cărțile albe JET și ODBC redescoperite.
Adesea însă, doriți să rulați în mod explicit o interogare pe un server de baze de date. Faceți acest lucru pentru a îmbunătăți performanța: serverele de baze de date au o putere de procesare mai mare decât un computer desktop și puteți returna un subset mai mic de date prin conexiunea la rețea. Pentru a rula o interogare pe un server de baze de date, utilizați o interogare directă care este o instrucțiune Transact SQL (TSQL) care se conectează la SQL Server utilizând un șir de conexiune ODBC. De exemplu, puteți să transmiteți o instrucțiune SELECT pentru a returna date într-o foaie de date, un formular, un raport sau un control de listă, pentru a rula echivalentul interogărilor de acțiune (instrucțiuni DML), pentru a apela proceduri stocate și a efectua activități administrative (instrucțiuni DDL).
Notă Rezultatele unei interogări directe sunt doar în citire. Pentru a edita direct datele dintr-o foaie de date sau dintr-un formular, creați un tabel legat la o vizualizare indexată. Pentru mai multe informații, consultați Crearea vizualizărilor indexate.
-
Conectarea la o bază de date server.
Pentru mai multe informații despre legarea la SQL Server, consultați Importul sau legarea la datele dintr-o bază de date SQL Server și Legarea la sau importul datelor dintr-o bază de date Azure SQL Server.
-
Selectați Creare > proiectare interogare.
-
Dacă este necesar, închideți caseta de dialog Adăugare tabele (Afișare tabel în Access.
-
Selectați Proiectare >Directă.
Access ascunde grila de proiectare a interogării și afișează Vizualizarea SQL.
-
Dacă foaia de proprietăți a interogării nu apare, apăsați F4 pentru a o afișa.
-
În foaia de proprietăți, faceți clic pe caseta de proprietăți ODBC Connect Str , apoi alegeți una dintre următoarele variante:
Pentru a obține un șir de conexiune:
-
În panoul de navigare, faceți clic dreapta pe un tabel legat la sursa de date dorită și selectați Manager de tabele legate.
-
În caseta de dialog Manager de tabele legate , bifați caseta de selectare a sursei de date, apoi selectați Editare.
-
În caseta de dialog Editare link , copiați textul din caseta Șir de conexiune .
-
Selectați Generare .
-
Urmați instrucțiunile pentru a crea un fișier DSN care conține informațiile șirului de conexiune. Pentru pași detaliați, consultați Importul sau legarea la datele dintr-o bază de date SQL Server și Legarea la sau importul datelor dintr-o bază de date Azure SQL Server.
După ce creați o conexiune de fișier DSN, șirul de conexiune ODBC este stocat intern în baza de date Access. Iată un truc pentru a obține o copie a șirului:
-
Găsiți un nume de tabel legat în Panoul de navigare utilizând conexiunea ODBC dorită.
-
Apăsați Ctrl+G. pentru a deschide fereastra VBA imediată.
-
Introduceți: următorul cod:
?CurrentDb.TableDefs("<table name>").Connect
Dar înlocuiți numele tabelului <> numele tabelului legat de la pasul a.
-
Copiați șirul returnat în proprietatea ODBC Connect Str .
-
-
Introduceți interogarea în Vizualizarea SQL.
Notă: Există diferențe importante între Access SQL și SQL Server TSQL, mai ales cu sintaxa, numele funcțiilor și argumentele funcției. Pentru mai multe informații, consultați Compararea Access SQL cu SQL Server TSQL.
Sfat Construiți mai întâi interogarea TSQL în SQL Server Management Studio, apoi copiați și lipiți SQL în vizualizarea SQL. Acest lucru asigură sintaxa corectă a interogării. Dacă nu aveți acces convenabil la o bază de date SQL Server, luați în considerare instalarea ediției Microsoft SQL Server Express pe desktop, care acceptă până la 10 GB și este o modalitate gratuită și mai simplă de a parcurge și a verifica migrarea.
-
Luați în considerare setarea proprietăților asociate suplimentare:
-
Returnează înregistrările Unele instrucțiuni SQL returnează înregistrări, cum ar fi SELECT, iar altele nu, cum ar fi UPDATE. Dacă interogarea returnează înregistrări, setați această proprietate la Da; dacă interogarea nu returnează înregistrări, setați această proprietate la Nu.
Notă Interogările directe pot returna mai multe seturi de rezultate, dar într-o foaie de date, un formular, un raport sau o variabilă de set de înregistrări se utilizează numai primul set de rezultate. Pentru a regăsi mai multe seturi de rezultate, utilizați o interogare de creare tabel așa cum se arată în exemplul următor:
SELECT <pass-through query name>.* INTO <local table name> FROM < pass-through query name >
Trebuie să utilizați asteriscul (*) deoarece fiecare set de rezultate poate avea coloane diferite. Fiecare set de rezultate este salvat într-un tabel separat, iar numerele sunt adăugate la numele tabelelor locale în consecință. De exemplu, dacă sunt returnate trei seturi de rezultate, numele tabelului ar fi: <numele tabelului local>, <numele tabelului local>1, <numele tabelului local>2.
-
Mesaje jurnal Specificați dacă se returnează mesaje din baza de date SQL într-un tabel de mesaje Access. Numele tabelului are formatul, numeutilizator – nn, unde numeutilizator este numele de conectare pentru utilizatorul curent, iar nn este un număr care începe de la 00.
-
Expirare ODBC Specificați numărul de secunde de așteptat înainte să apară o eroare de expirare atunci când rulează o interogare. Valoarea implicită este de 60 de secunde. Pot exista întârzieri din cauza traficului în rețea sau utilizării masive a serverului bazei de date.
-
Număr maxim de înregistrări Specificați numărul maxim de înregistrări de returnat. Este posibil să aveți resurse limitate de sistem sau să vă testați rezultatele cu doar o cantitate mică de date.
-
-
Când terminați de introdus interogarea, selectați Proiectare > Rulare. Interogarea este trimisă la serverul bazei de date pentru procesare.