Access stochează toate tabelele bazei de date, interogări, formulare, rapoarte, macro-uri și module în baza de date Access Jet ca un singur fișier.pentru dezvoltarea interogărilor, Access oferă un „Query Designer”, o interfață grafică de utilizator care permite utilizatorilor să construiască interogări fără cunoașterea limbajului de interogare structurat. În Query Designer, utilizatorii pot „afișa” sursele de date ale interogării (care pot fi tabele sau interogări) și pot selecta câmpurile pe care doresc să le returneze făcând clic și trăgându-le în grilă., Se poate configura joins făcând clic și trăgând câmpuri în tabele în câmpuri în alte tabele. Access permite utilizatorilor să vizualizeze și să manipuleze codul SQL, dacă se dorește. Orice tabel de acces, inclusiv tabele legate din diferite surse de date, pot fi utilizate într-o interogare.

Access sprijină, de asemenea, crearea de „interogări pass-through”. Aceste fragmente de cod SQL pot adresa surse de date externe prin utilizarea conexiunilor ODBC pe mașina locală. Acest lucru permite utilizatorilor să interacționeze cu datele stocate în afara programului de acces fără a utiliza tabele legate sau Jet.,Utilizatorii construiesc interogările pass-through folosind sintaxa SQL susținută de sursa de date externă.

atunci când se dezvoltă rapoarte (în „Design View”), adăugările sau modificările la controale determină executarea oricăror interogări legate în fundal, iar proiectantul este obligat să aștepte returnarea înregistrărilor înainte de a putea face o altă modificare. Această caracteristică nu poate fi dezactivată.Non-programatorii pot utiliza funcția macro pentru a automatiza sarcini simple printr-o serie de selecții derulante., Macrocomenzile permit utilizatorilor să conecteze cu ușurință comenzile, cum ar fi rularea interogărilor, importul sau exportul de date, deschiderea și închiderea formularelor, previzualizarea și tipărirea rapoartelor etc. Macrocomenzile acceptă logica de bază (IF-condiții) și capacitatea de a apela alte macrocomenzi. Macrocomenzile pot conține, de asemenea, sub-macrocomenzi care sunt similare cu subrutinele. În Access 2007, macrocomenzile îmbunătățite au inclus gestionarea erorilor și suport pentru variabile temporare. Access 2007 a introdus, de asemenea, macro-uri încorporate care sunt în esență proprietăți ale evenimentului unui obiect. Acest lucru a eliminat necesitatea de a stoca macro-uri ca obiecte individuale., Cu toate acestea, macrocomenzile au fost limitate în funcționalitatea lor de lipsa buclelor de programare și a logicii avansate de codificare până la Access 2013. Cu îmbunătățiri suplimentare semnificative introduse în Access 2013, capacitățile macrocomenzilor au devenit pe deplin comparabile cu VBA. Ei au făcut implementările de aplicații bazate pe web bogate în funcții practice, printr-o interfață și instrumente Microsoft SharePoint mult îmbunătățite, precum și pe desktopurile tradiționale Windows.

în comun cu alte produse din suita Microsoft Office, celălalt limbaj de programare utilizat în Access este Microsoft VBA. Este similar cu Visual Basic 6.,0 (VB6) și Codul pot fi stocate în module, clase și cod în spatele formularelor și rapoartelor. Pentru a crea un produs finit mai bogat, mai eficient și mai ușor de întreținut, cu o bună gestionare a erorilor, majoritatea aplicațiilor profesionale de acces sunt dezvoltate folosind limbajul de programare VBA, mai degrabă decât macrocomenzi, cu excepția cazului în care implementarea web este o cerință de afaceri.,pentru a manipula datele din tabele și interogări în VBA sau macrocomenzi, Microsoft oferă două biblioteci de acces la baze de date ale componentelor COM:

  1. obiecte de acces la date (DAO) (doar pe 32 de biți), care este inclus în Access și Windows și a evoluat la ACE în Microsoft Access 2007 pentru formatul bazei de date ACCDE
  2. obiecte de date ActiveX DAO și ADO, dezvoltatorii pot utiliza, de asemenea, OLE DB și ODBC pentru dezvoltarea programelor C/C++ native pentru acces. Pentru ADPs și manipularea directă a datelor SQL Server, este necesară ADO., DAO este cea mai potrivită pentru gestionarea datelor în bazele de date Access/Jet și singura modalitate de a manipula tipurile complexe de câmpuri din tabelele ACCDB.

    în containerul bazei de date sau panoul de navigare din Access 2007 și versiunile ulterioare, sistemul clasifică automat fiecare obiect după tip (de exemplu, tabel, interogare, macro). Mulți dezvoltatori de acces folosesc Convenția de denumire Leszynski, deși aceasta nu este universală; este o convenție de programare, nu o regulă impusă de DBMS. Este deosebit de util în VBA în cazul în care trimiterile la nume de obiecte nu pot indica tipul de date (de exemplu, tbl pentru tabele, qry pentru interogări).,dezvoltatorii implementează Microsoft Access cel mai adesea pentru proiecte individuale și de grup de lucru (caracterizarea vitezei Access 97 a fost făcută pentru 32 de utilizatori). De la Access 97 și cu Access 2003 și 2007, Microsoft Access și hardware au evoluat semnificativ. Bazele de date cu dimensiunea de 1 GB (care se pot încadra acum în întregime în memoria RAM) și 200 de utilizatori simultani se încadrează bine în capacitățile Microsoft Access. Desigur, performanța depinde de proiectarea și sarcinile bazei de date. Munca intensivă pe disc, cum ar fi căutarea complexă și interogarea, durează cel mai mult timp.,deoarece datele dintr-o bază de date Microsoft Access pot fi memorate în cache în memoria RAM, viteza de procesare se poate îmbunătăți substanțial atunci când există un singur utilizator sau dacă datele nu se schimbă. În trecut, efectul latenței pachetelor asupra sistemului de blocare a înregistrărilor a determinat ca bazele de date Access să ruleze lent pe o rețea privată virtuală (VPN) sau o rețea de arie largă (WAN) împotriva unei baze de date Jet. Începând cu 2010, conexiunile în bandă largă au atenuat această problemă., Performanța poate fi, de asemenea, îmbunătățită dacă se menține o conexiune continuă la baza de date back-end pe parcursul sesiunii, mai degrabă decât deschiderea și închiderea acesteia pentru fiecare acces la masă. Dacă performanța bazei de date Access prin VPN sau WAN suferă, atunci un client care utilizează protocolul Desktop la distanță (cum ar fi Microsoft Terminal Services) poate oferi o soluție eficientă. Bazele de date de acces legate de SQL Server sau pentru a accesa proiecte de date funcționează bine peste VPN-uri și Wan-uri.,

    în iulie 2011, Microsoft a recunoscut o problemă intermitentă de performanță a interogării cu toate versiunile de Access și Windows 7 și Windows Server 2008 R2 datorită naturii gestionării resurselor fiind foarte diferită în sistemele de operare mai noi. Această problemă afectează grav performanța interogării atât pe Access 2003, cât și mai devreme cu codul motorului bazei de date Jet, precum și Access 2007 și mai târziu cu Access Database Engine (ACE). Microsoft a emis remedierile rapide KB2553029 pentru Access 2007 și KB2553116 pentru Acces 2010, dar nu va rezolva problema cu Jet 4.0 ca este de suport mainstream.,în versiunile anterioare ale Microsoft Access, posibilitatea de a distribui aplicații a necesitat achiziționarea setului de instrumente pentru dezvoltatori; în Access 2007, 2010 și Access 2013, versiunea „Runtime Only” este oferită ca descărcare gratuită, făcând posibilă distribuirea aplicațiilor fără drepturi de autor pe Windows XP, Vista, 7 și Windows 8.x.

    arhitectura de baze de date Split

    aplicațiile Microsoft Access pot adopta o arhitectură de baze de date divizate., Baza de date unică poate fi împărțită într-un fișier „back-end” separat care conține tabelele de date (partajate pe un server de fișiere) și un „front-end” (care conține obiectele aplicației, cum ar fi interogări, formulare, rapoarte, macrocomenzi și module). Aplicația de acces „front-end” este distribuită pe desktopul fiecărui utilizator și legată de baza de date partajată. Folosind această abordare, fiecare utilizator are o copie a Microsoft Access (sau versiunea runtime) instalată pe mașina lor împreună cu baza de date a aplicațiilor. Acest lucru reduce traficul de rețea, deoarece aplicația nu este recuperată pentru fiecare utilizare., Baza de date „front-end” poate conține în continuare tabele locale pentru stocarea setărilor unui utilizator sau a datelor temporare. Acest design split-baza de date permite, de asemenea, dezvoltarea aplicației independent de date. Un dezavantaj este că utilizatorii pot face diverse modificări la propria copie locală a aplicației și acest lucru face dificilă gestionarea controlului versiunii. Când o nouă versiune este gata, baza de date front-end este înlocuită fără a afecta baza de date de date. Microsoft Access are două utilități încorporate, Splitter de baze de date și linked Table Manager, pentru a facilita această arhitectură.,tabelele legate în Access utilizează căi absolute, mai degrabă decât căi relative, astfel încât mediul de dezvoltare trebuie să aibă aceeași cale ca mediul de producție sau o rutină „dynamic-linker” poate fi scrisă în VBA.

    pentru baze de date de acces foarte mari, acest lucru poate avea probleme de performanță și un backend SQL ar trebui să fie luate în considerare în aceste circumstanțe. Aceasta este mai puțin o problemă dacă întreaga bază de date se poate încadra în memoria RAM a PC-ului, deoarece datele și indexurile de acces cache.,

    Migrarea la SQL ServerEdit

    articol Principal: Migrare (baza de date)

    La scară de Acces la aplicații de întreprindere sau solutii web, un posibil tehnica presupune migrarea la Microsoft SQL Server sau echivalent server de baze de date. Un design client-server reduce semnificativ Întreținerea și crește securitatea, disponibilitatea, stabilitatea și înregistrarea tranzacțiilor.

    Access 2000 prin Access 2010 a inclus o caracteristică numită Upsizing Wizard care a permis utilizatorilor să își actualizeze bazele de date la Microsoft SQL Server, o bază de date client–server ODBC., Această caracteristică a fost eliminată din Access 2013. O soluție suplimentară, SQL Server Migration Assistant for Access (SSMA), continuă să fie disponibilă pentru descărcare gratuită de la Microsoft.

    o varietate de opțiuni de upgrade sunt disponibile. După migrarea datelor și interogărilor către SQL Server, baza de date Access poate fi legată de baza de date SQL. Cu toate acestea, anumite tipuri de date sunt problematice, în special „Da/Nu”. În Microsoft Access există trei stări pentru tipul de date Da/Nu (Adevărat/Fals): gol, nu/fals (zero) și da / adevărat (-1)., Tipul de date SQL Server corespunzător este binar, cu doar două stări, valori admise, zero și 1. Indiferent, SQL Server este încă cea mai ușoară migrare. Recuperarea datelor din tabelele legate este optimizată doar pentru înregistrările necesare, dar acest scenariu poate funcționa mai puțin eficient decât ceea ce altfel ar fi optim pentru SQL Server. De exemplu, în cazurile în care alăturările cu mai multe tabele necesită în continuare copierea întregului tabel în rețea.,

    în versiunile anterioare de Access, inclusiv Access 2010, bazele de date pot fi, de asemenea, convertite în proiecte de date de acces (ADP) care sunt legate direct de o bază de date SQL Server. Această caracteristică a fost eliminată din Access 2013. ADP sprijină abilitatea de a crea și modifica direct obiecte SQL Server, cum ar fi tabele, vizualizări, proceduri stocate și constrângeri SQL Server. Vizualizările și procedurile stocate pot reduce semnificativ traficul de rețea pentru îmbinările cu mai multe tabele. SQL Server acceptă tabele temporare și link-uri către alte surse de date dincolo de baza de date SQL Server unic.,în cele din urmă, unele baze de date Access sunt complet înlocuite de o altă tehnologie, cum ar fi ASP.NET sau Java odată ce datele sunt convertite. Cu toate acestea, orice migrare poate dicta efort major, deoarece limbajul SQL Access este un superset mai puternic al SQL standard. Mai mult, procedurile de aplicare a accesului, indiferent dacă VBA și macro-uri, sunt scrise la un nivel relativ mai ridicat față de alternativele disponibile în prezent, care sunt atât robuste, cât și cuprinzătoare., Rețineți că limbajul macro Access, care permite un nivel și mai ridicat de abstractizare decât VBA, a fost îmbunătățit semnificativ în Access 2010 și din nou în Access 2013.în multe cazuri, dezvoltatorii construiesc interfețe web-to-date directe folosind ASP.NET, păstrând în același timp procesele majore de automatizare a afacerilor, funcțiile administrative și de raportare care nu trebuie distribuite tuturor celor din Access pentru ca lucrătorii de informații să le mențină.deși toate datele de acces pot migra direct la SQL Server, unele interogări nu pot migra cu succes., În unele situații, poate fi necesar să traduceți funcțiile VBA și funcțiile definite de utilizator în funcții / proceduri T–SQL sau.net. Interogările Crosstab pot fi migrate la SQL Server folosind comanda PIVOT.