# data[].attributes.attachment_link.title
Baze de date in Access - Tutorial Romana

# data[].attributes.attachment_link.readable_text
Microsoft Access este un program pentru crearea și administrarea unei baze de date relaționale, produs de Microsoft, care face parte din suita de programe Microsoft Office.

Conceptul original de Access a fost pentru utilizatorii finali să poată să "acceseze" date din orice sursă. Alte caracteristici includ: importul și exportul de date de mai multe formate, cum ar fi Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC etc. De asemenea, Access are și posibilitatea de a folosi baze de date externe, neînglobate, în formatele: Microsoft Excel, Liste SharePoint, text, XML, Microsoft Outlook, HTML, dBase, Paradox, Lotus 1-2-3, ODBC - conforme cu containerele de date, inclusiv: Microsoft SQL Server, Oracle, MySQL, PostgreSQL, - având aceleași posibilități de utilizare aceasta pentru vizualizare, interogare, editare, și de raportare. Acest lucru permite apelarea datelor existente cele mai recente date. Se pot efectua operații de join SQL între seturile de date de diferite formate, stocate pe diferite platforme.

Access stochează toate tabelele de baze de date, interogări, formulare, rapoarte, macrocomenzi și module în baza de date Jet Access ca un singur fișier. Microsoft Access utilizează atât formatul ACCDB, cât și MDB.

Un fișier MDE / ACCDE este o bază de date Microsoft Access fișier cu toate modulele compilate și tot codul sursă editabil eliminat, care cuprinde toate componentele: tabele, interogări, module, macrocomenzi, formulare și rapoarte.

Utilizatorii pot crea tabele, interogări, formulare și rapoarte și macrocomenzi Utilizatorii avansați pot folosi Visual Basic pentru a scrie soluții bogate cu avansate de manipulare a datelor și de control al utilizatorului.

Există șabloane pentru baze de date, atât în cadrul programului cât și pe site-ul oficial. Acestea permit utilizatorilor să construiască o bază de date cu tabele, interogări , formulare, rapoarte și macrocomenzi predefinite. Șabloanele nu includ cod Visual Basic.

De asemenea, are și modul de lucru în multiutilizator în rețea.

Importul și export datelor din alte aplicații

Access poate importa/exporta tabele în format Excel, CSV, text etc. Comenzile se află în meniul File, submeniul Import sau Export.

Cerințe și limitări

Pentru Access 2010 și celelalte versiuni mai puțin performante, este recomandat ca bazele de date să aibă sub 1 GB (altfel ar putea bloca memoria RAM) și 50 de utilizatori simultani.

Tipuri de date Datele din tabele sunt de următoarele tipuri:

TEXT - secvență simplă de caractere care poate include cifre, litere și simboluri. Un câmp text poate conține până la 255 de caractere.

MEMO - text simplu, obișnuit, exceptând faptul că nu stabilești o lungime maximă de câmp, așa că se poate tasta aproape orice cantitate de text (64 Ki de caractere).

NUMBER - destinat pentru valori întregi sau fracționare.

DATE/TIME - o dată calendaristică sau o oră.

CURRENCY - un număr formatat ca o valoare monetară.

AUTONUMBER - Access îl completează automat cu numere consecutive, pentru fiecare înregistrare.

YES/NO - poate primi valori logice de tipul YES/NO, TRUE/FALSE sau ON/OFF.

OLE OBJECT - câmp capabil a primi ca valoare un obiect (ex. imagine); obiectul poate fi legat sau inserat.

HYPERLINK - o legătură la o locație Web.

LOOKUP WIZARD - îți permite să creezi o listă selectând o valoare din alt tabel sau lista de valori într-o casetă combinată, pentru fiecare înregistrare. Este o caracteristică avansată.

Stabilirea cheii principale Fiecare tabel ar trebui să aibă cel puțin un câmp a cărui valoare este unică pentru fiecare înregistrare (câmp cheie principală). Acest câmp este util pentru a identifica în mod unic fiecare înregistrare. Pentru a stabili o cheie principală trebuie să parcurgi următorii pași:

Deschide tabelul afișând structura acestuia.

Selectează câmpul care vrei să fie cheie principală.

Alege din meniul EDIT opțiunea PRIMARY KEY.

Relațiile dintre tabele Relația între două tabele nu este obligatorie, dar este necesară, în general, pentru construirea interogărilor care acționează asupra acestor table (deși relația s-ar putea construi și când se construiește interogarea). Tipuri de relații:

Relația One-To-Many - Este cea mai frecventă în proiectarea bazelor de date ACCESS și are următoarele caracteristici:

Dacă T1 (Tabela CLIENTI) și T2 (Tabela Operatii) sunt două tabele în care există o relație One-To-Many atunci: Tabela T1 este tabela primară iar T2 este tabela legată. Cheia de legătură din tabela primară trebuie să fie declarată cheie primară. Tabela legătură poate avea cheie primară dar diferită de cea de legătură. Fiecărei înregistrări din tabela One îi corespunde 0, 1 sau mai multe înregistrări din tabela Many; Fiecărei înregistrări din tabela Many îi corespunde cel mult o înregistrare din tabela One.

Relația One-To-One - Este utilizată mai rar în proiectarea bazelor de date ACCESS și are următoarele caracteristici:

Cheile de legătură din ambele tabele sunt chei primare; fiecărei înregistrări din una din tabele îi corespunde cel mult o înregistrare din cealaltă. Una din tabele este primară iar cealaltă legată.

Relația Many-To-Many - Este nerecomandată în baze de date ACCESS dar existentă în realitate.

Doua tabele se află în relația Many-to-Many dacă fiecărei înregistrări din prima tabelă îi corespunde 0,1 sau mai multe înregistrări din a doua și invers. În ACCESS astfel de relații pot fi introduse prin crearea unei a treia tabele, numită de legătura (de joncțiune) cu existența a două relații de tip One-to-Many.

Indexarea tabelelor

Pentru un tabel, se poate preciza o cheie primară și una sau mai multe chei secundare.

O cheie este formată din una sau mai multe coloane.

Valorile unei chei se păstrează într-un index.

Rolul unui index este ca al unui catalog într-o bibliotecă.

Orice operație de actualizare într-un tabel generează și actualizarea indecșilor.

În fereastra Indexes, se pot gestiona informațiile necesare unui index (ordine Ascending/Descending, Unique, Primary, Ignore Nulls).

Interogări

Pentru dezvoltarea de interogări, Access oferă un "Designer de interogare", o interfață grafică de utilizator, care permite utilizatorilor de a construi interogări fără cunoașterea limbajului de programare SQL. În Query Designer, utilizatorii se pot "arăta" sursele de date de interogare (care poate fi tabele sau interogări) și selecta câmpurile pe care le doresc, printr-un simplu clic de mouse. Unul dintre beneficiile Acces din perspectiva unui programator este compatibilitatea relativă cu SQL (structurat Query Language ) - interogări pot fi vizualizate grafic sau editat ca declarații SQL, iar declarațiile SQL pot fi folosite direct în Macrocomenzi și Visual Basic pentru a manipula tabele Access.

Interogările în Access pot fi de următoarele tipuri:

O interogare de selecție este o interogare SQL care are ca efect numai afișarea datelor dintr-un tabel sau mai multe tabele conform unor criterii de selecție (comanda SQL SELECT fără INTO sau comanda din meniu echivalentă).

O interogare de actualizare se folosește pentru actualizarea tabelei prin comanda SQL UPDATE (sau comanda din meniu echivalentă).

O interogare de tip tabel încrucișat aranjează un set de înregistrări pentru a-l face mai simplu de vizualizat, utilizând atât anteturi de rând cât și anteturi de coloane. Datele pot fi văzute în același timp în raport cu două categorii. De exemplu, salariul mediu al fiecărui departament din toată baza angajaților:

TRANSFORM Avg(TOTAL.SALARIU) AS AvgOfSalariu
SELECT TOTAL.APARTINE, TOTAL.NUMEDEP, Avg(TOTAL.SALARIU) AS [Avg Of Salariu]
FROM TOTAL
GROUP BY TOTAL.APARTINE, TOTAL.NUMEDEP
PIVOT TOTAL.SALARIU;

O interogare de acțiune creează un nou tabel sau modifică un tabel existent adăugând date în el, ștergând date din el sau actualizându-l. Deoarece o interogare de acțiune este atât de puternică încât modifică efectiv datele tabelelor, este recomandat să faceți o copie de rezervă a datelor înainte de a executa o interogare de acțiune. De exemplu, crearea unei tabele de joncțiune internă între toate câmpurile angajaților și departamentelor lor:

SELECT
DEP.CODD, DEP.NUMEDEP, DEP.ADRDEP, DEP.TELDEP, DEP.EMAILD,
DEP.PERSCONTACT, DEP.APARTINE, ANGAJAT.NUME, ANGAJAT.ITATA,
ANGAJAT.PRENUME, ANGAJAT.ADRESA, ANGAJAT.TELEFON, ANGAJAT.BULETIN,
ANGAJAT.CNP, ANGAJAT.FUNCTIA, ANGAJAT.LOCNAST, ANGAJAT.JUDNAST,
ANGAJAT.TARANAST, ANGAJAT.SALARIU
INTO TOTAL
FROM ANGAJAT INNER JOIN DEP ON ANGAJAT.CODD = DEP.CODD;

Microsoft Access oferă în plus față de SQL, interogările cu parametri .

O interogare cu parametri afișează o casetă de dialog atunci când se execută, solicitând utilizatorului să introducă informații care se vor utiliza drept criterii pentru interogare. De exemplu, selectarea datelor personalului care lucrează la un anumit departament, unde numele departamentului este dat de la tastatură:

SELECT NUME & " " & ITATA & " " & PRENUME AS NUME_PRENUME,
ANGAJAT.DATANAST, ANGAJAT.SALARIU, DEP.NUMEDEP
FROM ANGAJAT INNER JOIN DEP ON ANGAJAT.CODD = DEP.CODD
WHERE (((DEP.NUMEDEP)=[DATI NUMELE DEPARTAMENTULUI]));

O metodă foarte bună pentru introducerea datelor în tabele este crearea de formulare. Cu ajutorul unui formular, poți aloca exact atât spațiu cât este necesar pentru fiecare câmp și poți introduce informații în mai multe tabele simultan. Formularele pot interoga o bază de date MS Access, regăsirea înregistrărilor și afișarea pe browser.

O aplicație Access este, în general, o formă principală pe care se pot afla controalele.

Atunci când lucrăm cu date relaționale, (unde datele sunt stocate în tabele separate), de obicei este nevoie să vizualizăm datele din mai multe tabele sau interogări în același formular. De exemplu, doriți să vedeți date despre client, dar, în același timp, să vedeți și informații despre comenzile clientului. Subformularele sunt un instrument util pentru acest lucru.

Un subformular este un formular care se inserează în alt formular. Formularul primar se cheamă formular principal, iar formularul din interiorul formularului se numește subformular. O combinație formular/subformular este denumită uneori formular ierarhic, formular coordonator/detaliu sau formular părinte/fiu.

Formularul principal și subformularul din acest tip de formular sunt legate, pentru ca subformularul să afișeze doar înregistrări relaționate cu înregistrarea curentă din formularul principal.

Poți crea un formular în trei moduri:

Autoforms oferă foarte rapid formulare care conțin toate câmpurile într-un singur tabel.

Form Wizard te ajută să creezi un formular furnizându-se o serie de casete de dialog din care poți alege câmpurile și stilul pentru formular.

Creând un formular pornind de la zero, ai la dispoziție o grilă de machetare în care plasezi câmpuri. Este modul cel mai dificil, dar asigură cel mai bun control (Design View). Aceasta este cea mai folosită metodă, și se aplicăinclusiv pentru editarea formularelor care au fost create cu primele două metode.

Adăugarea etichetelor Pentru a putea adăuga formularului titluri, subtitluri, text explicativ și altele trebuie să adaugi în formular un obiect care se numește etichetă. În cazul în care bara de instrumente nu este afișată, alege opțiunea TOOLBOX din meniul VIEW sau execută clic pe butonul TOOLBOX de pe bara de instrumente.

Tot cu metoda Design View se pot edita și

Secțiunile unui formular

DETAIL - conține câmpurile care se repetă în formular, împreună cu informațiile de formatare și alte obiecte auxiliare.

FORM HEADER/FOOTER - reprezintă antetele și subsolurile formularului.

PAGE HEADER și PAGE FOOTER - sunt zone care se repetă în partea de sus sau de jos a fiecărei pagini a formularului atunci când îl tipărești.

GROUP HEADER și GROUP FOOTER - reprezintă antetele și subsolurile unui grup de date, atunci când datele sursei de date ale formularului sunt grupate prin clauza SQL „GROUP BY", sau prin butonul de grupare. De obicei, aici este locul unde se introduc titluri și subsoluri care conțin câmpul după care se face gruparea.

Rapoartele sunt obiecte prin intermediul cărora generezi rezultate profesionale care pot fi afișate pe ecran, tipărite pe hârtie sau afișate pe Internet. Există următoarele metode de generare a rapoartelor:

Autoreport - indicat pentru crearea unui raport simplu, bazat pe un singur tabel sau pe o singură interogare.

Report Wizard asigură un compromis acceptabil între ușurința de utilizare și flexibilitate. Cu Report Wizard, poți utiliza mai multe tabele și interogări și poți alege o machetă și un format pentru raportul tău.

Creând un raport pornind de la zero, ai la dispoziție o grilă de machetare în care plasezi câmpuri. Este modul cel mai dificil, dar asigură cel mai bun control (Design View). Aceasta este cea mai folosită metodă, și se aplică inclusiv pentru editarea rapoartelor care au fost create cu primele două metode.

Adăugarea controalelor Lucrul cu controalele din raport în modul de vizualizare Report Design este similar cu modul de lucru cu controalele în modul Form Design. Selectarea controalelor se face executând un clic pe control. În jurul său apar mânere de selecție. Mutarea obiectelor - se selectează obiectul respectiv, apoi poziționează indicatorul mouse-ului deasupra unei laturi a chenarului astfel încât acesta să se transforme într-o palmă deschisă și neagră. Apoi execută clic și trage controlul în noua poziție. Redimensionarea obiectelor - selectează obiectul, apoi poziționează indicatorul mouse-ului deasupra unui mâner de selecție și trage-l pentru a redimensiona obiectul. Formarea obiectelor de text - utilizează listele derulante Font și Font Size de pe bara cu instrumente pentru a alege fonturi, apoi utilizează butoanele Bold, Italic sau Underline de pe bara cu instrumente pentru a aplica anumite atribute. Poți adăuga, de asemenea, linii și imagini în rapoarte, la fel ca în formulare.

Tot cu metoda Design View se pot edita și

Secțiunile unui raport

DETAIL - conține câmpurile care se repetă în raport, împreună cu informațiile de formatare și alte obiecte auxiliare.

REPORT HEADER/FOOTER - reprezintă antetele și subsolurile raportului.

PAGE HEADER și PAGE FOOTER - sunt zone care se repetă în partea de sus sau de jos a fiecărei pagini a raportului atunci când îl tipărești.

GROUP HEADER și GROUP FOOTER - reprezintă antetele și subsolurile unui grup de date, atunci când datele sursei de date ale raportului sunt grupate prin clauza SQL „GROUP BY", sau prin butonul de grupare. De obicei, aici este locul unde se introduc titluri și subsoluri care conțin câmpul după care se face gruparea, precum și expresii care conțin funcții de agregare SQL (sume, medii, contoare, ...)

Macrocomenzile sau macro-urile permit utilizatorilor cu ușurință înlănțuirea de comenzi ușoare, cum ar fi rularea interogări, importul sau exportul de date, de deschidere și închidere forme, previzualizare și tipărirea de rapoarte, macrocomenzi etc Pot conține logica de bază (IF condiții) și capacitatea de a apela alte macro. Macro-urile pot contine, de asemenea, sub-macro-uri, care sunt similare cu subrutinele.

În Access 2007, au fost introduse macrocomenzile încorporate care sunt, în esență proprietățile de eveniment a unui obiect. Aceasta a eliminat necesitatea de a stoca macrocomenzi ca obiecte individuale. Macro-urile cu toate acestea, sunt limitate în funcționalitatea lor, de lipsa de bucle de programare și de logica avansate de codare. Dezvoltatorii cel mai profesionist de acces utilizează limbajul de programare Visual Basic pentru o mai bogată și mai puternic mediu de dezvoltare.

Limbaj de programare disponibil în Access este, ca și în alte produse ale Microsoft Office Suite, Microsoft Visual Basic for Applications , care este aproape identic cu Visual Basic 6.0 (VB6). Codul Visual Basic pot fi stocate în module și codul din spatelele formularelor și rapoartelor.

Într-un program procedural clasic, execuția începe cu prima instrucțiunedin program și urmează un traseu bine determinat. În programarea dirijată pe evenimente, - așa cum este Access, - un eveniment este o tastare, acționare de maus, modificarea datelor unui form, închiderea unei ferestre etc. - ce duce la execuția unei părți de aplicație (macro, procedură, ...). Ordinea în care se execută instrucțiunile depinde de ordinea în care au apărut evenimentele recunoscute de aplicație.

Într-o bază Access nu există un program principal; textul sursă este organizat în proceduri și funcții, și păstrat în module.

Orice modul conține o singură secțiune de declarații de variabile și constante, folosită în toate procedurile și funcțiile din modul, și una sau mai multe proceduri sau funcții.

Modulele pot fi:

atașate formularelor/rapoartelor (mai bine zis fiecărui formular/raport), - căruia se creează un modul automat; toate declarațiile și procedurile acestora sunt locale/private acestora;

modulele globale, care sunt obiecte separate în baza de date. Variabilele, constantele, procedurile, funcțiile, - se pot folosi în orice parte a aplicației, deci sunt globale.

Un eveniment este un proces care are loc atunci când utilizatorul întreprinde o acțiune asupra unui formular sau unui raport. Evenimentele reprezintă o modalitate de a răspunde la o acțiune, cum ar fi efectuarea unui clic pe un buton.

Principalele evenimente în MsAccess sunt:

On Click - Este procedura sau macrocomanda care se execută atunci când se dă click cu mouse pe un obiect de control

On Current - Este procedura sau macrocomanda care se execută atunci când se trece de la un articol la altul în cadrul formularului sau raportului

On Load - Este procedura sau macrocomanda care se execută atunci când formularul sau raportul este încărcat

After Update - Este procedura sau macrocomanda care se execută după ce se actualizează un câmp sau articol

Before Update - Este procedura sau macrocomanda care se execută înainte de a se actualiza un câmp sau articol

Before Insert - Este procedura sau macrocomanda care se execută atunci când se începe introducerea de date într-un articol nou

After Insert - Este procedura sau macrocomanda care se execută după ce se inserează un articol nou

On Delete - Este procedura sau macrocomanda care se execută atunci când articolul este sters

On Del Confirm - Este procedura sau macrocomanda care se execută înainte de confirmarea ștergerii unui articol

On Del Confirm - Este procedura sau macrocomanda care se execută după confirmarea ștergerii unui articol

On Dirty - Este procedura sau macrocomanda care se execută înainte de modificarea unui articol

On Got Focus - Este procedura sau macrocomanda care se execută atunci când controlul sau formularul este focusat

On Lost Focus - Este procedura sau macrocomanda care se execută atunci când se pierde focusul asupra controlului sau formularul

On Dbl Click - Este procedura sau macrocomanda care se execută atunci când se dă dublu clic pe controlul respectiv

On Mouse Up - Este procedura sau macrocomanda care se execută atunci când este apăsat butonul mausului

On Mouse Move - Este procedura sau macrocomanda care se execută atunci când este eliberat butonul mausului

On Key Up - Este procedura sau macrocomanda care se execută atunci când este eliberată apăsarea unei taste

On Key Down - Este procedura sau macrocomanda care se execută atunci când o tastă este inițial apăsată

On Key Press - Este procedura sau macrocomanda care se execută atunci când o tastă a unui caracter tipăribil este apăsată

On Undo - Este procedura sau macrocomanda care se execută înainte de anularea schimbării unui articol

On Open - Este procedura sau macrocomanda care se execută înainte de deschiderea unui formular sau raport

On Close - Este procedura sau macrocomanda care se execută înainte de închiderea unui formular sau raport

On Resize - Este procedura sau macrocomanda care se execută atunci când un formular este redimensionat

On Activate - Este procedura sau macrocomanda care se execută atunci când un formular sau raport este activat

On Deactivate - Este procedura sau macrocomanda care se execută atunci când un formular sau raport este dezactivat

On Unload - Este procedura sau macrocomanda care se execută atunci când un formular sau raport este închis

On Error - Este procedura sau macrocomanda care se execută atunci când se produce o eroare de execuție în formular sau raport

On Mouse wheel - Este procedura sau macrocomanda care se execută atunci când se rotește butonul din mijloc al mausului

On Filter - Este procedura sau macrocomanda care se execută atunci când filtrul este editat

On Apply Filter - Este procedura sau macrocomanda care se execută atunci când filtrul este aplicat sau șters

1. Eveniment care prin apăsarea unui buton în formularul principal al bazei de date a unei biblioteci deschide subformularul de editare a cărților.

Private Sub Command1_Click()
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "AUTORI"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub

2. Eveniment care prin apăsarea unui buton în formularul principal al bazei de date a unei biblioteci deschide un raport de afișare a cărților.

Private Sub Command7_Click()
    Dim stDocName As String
    stDocName = "BIBLIOTECA"
    DoCmd.OpenReport stDocName, acPreview
End Sub

3. Eveniment care prin apăsarea unui buton într-un formular generează într-o zonă de editare numerele prime mai mici decât un alt număr tastat într-un control de editare prin metoda "Ciurul lui Eratostene".

Private Sub Command2_Click()
Dim ciur(90000) As Boolean
Dim n As Double
Dim i As Double
Dim p As Double
Dim j As Double
Dim k As Double
Dim s As String
Dim t As String
Dim s2 As String
t = Text0.Value
n = Int(Str(t))
If (n > 90000) Then
    n = 90000
End If
For i = 1 To n
    ciur(i) = True
Next
For p = 3 To 300 Step 2
    If ciur(p) = True Then
        k = Int(n / p)
        For j = 2 To k
            ciur(j * p) = False
        Next
    End If
Next
s = "1,2"
For p = 3 To n Step 2
    If ciur(p) = True Then
    t = Str(p)
    s = s + "," + t
    End If
Next
MsgBox (s)
Text5.Value = s
s2 = "Numere prime vecine: (3,5) "
For p = 11 To n Step 2
    If ((ciur(p) = True) And (ciur(p + 2) = True)) Then
    t = Str(p)
    s2 = s2 + "(" + t
    t = Str(p + 2)
    s2 = s2 + "," + t + ") "
    End If
Next
Text7.Value = s2
End Sub

Cea mai simplă formă de protecție este parolarea bazei de date. Aceasta este o formă relativ slabă de protecție care pot fi ușor de spart.

Un nivel mai ridicat de protecție este folosirea unui grup de securitate, care necesită un nume de utilizator și o parolă. Utilizatorii și grupurile pot fi specificate împreună cu drepturile lor la tipul de obiect sau nivel de obiect individual.

Microsoft Access salvează informații în următoarele formate :

Proiect Access protejat . ade

Proiect de acces .adp . adp

Șablon de proiect Blank . ADN

Baza de date Access (2007) .accdb

Bază de date Access Runtime (2007) .accdr

Șablon Access Database (2007) .accdt

Baza de date Access (2003 și mai devreme) MDB

Baza de date de acces, utilizat pentru addins (2,95,97), utilizat anterior pentru grupuri de lucru (2) . MDA

Bază de date Access șablon necompletat (2003 și mai devreme) .mdn

Access Add-in Data (2003 și mai devreme) .MDT

Grup de lucru Access, baza de date de la nivel de utilizator de securitate. .MDW

Access (SQL Server) detached database (2000) De acces (SQL Server) de baze de date detașat (2000) .mdf . MDF

Baza de date Access protejată, cu Visual Basic compilat (2003 și mai devreme) .MDE

Baza de date Access protejată, cu Visual Basic compilat (2007) . ACCDE

Macro Comandă rapidă pentru Windows: .MAM

Comandă rapidă pentru Windows: Query .maq

Comenzile rapide Windows: Raport .mar

Comandă rapidă pentru Windows: tabel .mat

Comandă rapidă pentru Windows: Formular .MAF

1. Anette Marquis, Gini Courter, Windows 95 - Ghidul dumneavoastră pentru Access, traducere de Călin Suciu, Editura All, 1998

2. Ms Access pentru programatori, Leon Țâmbulea, ProMedia Plus, Cluj-Napoca, 1997

3. Microsoft Access 2000 - manualul începătorului, traducere de Sorina Dumitru, Editura Teora, 2001

4. Microsoft Access 2003 - Programare fulger, Editura Teora, 2003

# data[].attributes.attachment_link.description
Microsoft Access este un program pentru crearea și administrarea unei baze de date relaționale, produs de Microsoft, care face parte din suita de programe Microsoft Office. Conceptul original de Access a fost pentru utilizatorii finali să poată să "acceseze" date din orice sursă.