Crearea unei interogări directe
Applies ToAccess pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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.

  1. 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.

  2. Selectați Creare > proiectare interogare.

  3. Dacă este necesar, închideți caseta de dialog Adăugare tabele (Afișare tabel în Access.

  4. Selectați Proiectare >Directă.

    Access ascunde grila de proiectare a interogării și afișează Vizualizarea SQL.

  5. Dacă foaia de proprietăți a interogării nu apare, apăsați F4 pentru a o afișa.

  6. Î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:

    1. În panoul de navigare, faceți clic dreapta pe un tabel legat la sursa de date dorită și selectați Manager de tabele legate.

    2. În caseta de dialog Manager de tabele legate , bifați caseta de selectare a sursei de date, apoi selectați Editare.

    3. În caseta de dialog Editare link , copiați textul din caseta Șir de conexiune .

    1. Selectați Generare Butonul Generator.

    2. 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:

    1. Găsiți un nume de tabel legat în Panoul de navigare utilizând conexiunea ODBC dorită.

    2. Apăsați Ctrl+G. pentru a deschide fereastra VBA imediată.

    3. Introduceți: următorul cod:

      ?CurrentDb.TableDefs("<table name>").Connect

      Dar înlocuiți numele tabelului <> numele tabelului legat de la pasul a.

    4. Copiați șirul returnat în proprietatea ODBC Connect Str .

  7. 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.

  8. 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.

  9. Când terminați de introdus interogarea, selectați Proiectare > Rulare. Interogarea este trimisă la serverul bazei de date pentru procesare.

Consultați și

Referință Transact-SQL

Interogarea cu Transact-SQL

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.