Crearea unei interogări directe

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puteți să utilizați Access ca aplicație front-end, apoi să creați legături la tabele 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 Version 3.0: ODBC Connectivity" în cărțile albe JET și ODBC redescoperite.

Totuși, adesea doriți să executați în mod explicit o interogare pe un server de bază 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 bază 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ă transferați o instrucțiune SELECT pentru a returna date într-o foaie de date, formular, raport sau control de listă, pentru a rula echivalentul interogărilor de acțiune (instrucțiuni DML), pentru a apela proceduri stocate și pentru 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 formular, creați un tabel legat la o vizualizare indexată. Pentru mai multe informații, consultați Crearea de vizualizări indexate.

  1. Conectați-vă 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 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 efectuați una dintre următoarele acțiuni:

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. Introduceți interogarea în Vizualizarea SQL.
    Notă: Există diferențe importante între Access SQL și SQL Server TSQL, mai ales în ceea ce privește sintaxa, numele și argumentele funcțiilor. Pentru mai multe informații, consultați Compararea Access SQL cu SQL Server TSQL.
    Sfat Creaț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.

  2. Luați în considerare setarea de proprietăți suplimentare corelate:

    • Returnează înregistrări 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 variabilă foaie de date, formular, raport sau set de înregistrări se utilizează doar 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 și numerele sunt adăugate în consecință la numele tabelelor locale. De exemplu, dacă sunt returnate trei seturi de rezultate, numele de tabel ar fi: <nume> tabel local, <nume>tabel local 1, <nume>tabel local 2.

    • Înregistrare mesaje în jurnal Specificați dacă să se returneze mesajele din baza de date SQL într-un tabel de mesaje Access. Numele tabelului are formatul: nume de utilizator - nn, unde nume de utilizator este numele de conectare pentru utilizatorul curent și nn este un număr care începe de la 00.

    • Timp de expirare ODBC Specificați numărul de secunde de așteptat înainte ca o eroare de expirare să apară atunci când se execută o interogare. Valoarea implicită este de 60 de secunde. Pot exista întârzieri din cauza traficului de rețea sau a utilizării masive a serverului de bază de date.

    • Numărul maxim de înregistrări Specificați numărul maxim de înregistrări de returnat. Este posibil să aveți resurse de sistem limitate sau să doriți să testați rezultatele doar cu o cantitate mică de date.

  3. Când terminați de introdus interogarea, selectați Proiectare>rulare. Interogarea este trimisă la serverul de baze de date pentru procesare.

Consultați și

Referință Transact-SQL

Interogarea cu Transact-SQL