Documente Academic
Documente Profesional
Documente Cultură
Sistemul de Gestiune A Bazelor de Date MS ACCESS
Sistemul de Gestiune A Bazelor de Date MS ACCESS
9.
Interogari active.
Prin termenul "Baza de date" se ntelege un sistem software care gestioneaza stocarea,
regasirea si prelucrarea unor date structurate, incluznd, pe lnga datele n sine, rutine de
prelucrare a lor, sisteme de protectie, securitate etc.
Termenul "Sisteme de gestiune a unei baze de date" (SGBD-DBMS) desemneaza
sistemele de dezvoltare care permit crearea si gestionarea bazelor de date.
Exemple de sisteme de gestiune a bazelor de date relationale considerate de nivel
industrial:
.
Oracle
IBM DB2
Informix
1.2.
Microsoft Access
Microsoft FoxPro
Borland dBase
Sistemul Microsoft Access este un sistem complex care permite att dezvoltarea
aplicatiilor mici ct si al sistemelor software industriale complexe. Avantajul sau nsa este dat de
posibilitatea asimilarii graduale si a unui start facil.
Microsoft Access este un sistem de gestiune a bazelor de date relational.
Ca sistem de gestiune, Microsoft Access cuprinde destul de multe facilitati:
.
un sistem relational care suporta doua limbaje de interogare standard: Structured Query
Language (SQL) si Query By Example (QBE);
Basic;
1.3.
Toate informatiile continute de o baza de date Access sunt reunite ntr-un singur fisier. Pe
lnga tabelele continnd date, el mai contine diverse tipuri de obiecte, cum ar fi:
1.4.
rutine macro si Visual Basic pentru extinderea functionalitatii aplicatiilor. Fisierul baza
de date are extensia standard ".mdb" (ex. "contabilitate.mdb"). Cnd fisierul este
deschis n Access, el va fi automat blocat, evitndu-se pierderea datelor. Prin blocare se
va crea un fisier cu acelasi nume dar cu extesia ".ldb", care nsa nu contine date ci doar
informatiile de blocare.
Access
de pe desktop.
Pentru crearea unei baze de date noi se va apela la meniul File/New din Microsoft Access,
la butonul
de pe bara de unelte (toolbar) sau la optiunea
din fereastra New
File. Suplimentar se va alege directorul n care se face salvarea si se va completa numele bazei
de date nou create, de exemplu "baza1.mdb".
1.5.
Deschiderea unei baze de date existente se poate face prin executia unui dublu click pe
fisierul .mdb aferent sau, dupa pornirea sistemului Access, prin selectarea intrarii de
meniu File/Open. n cazul utilizarii celei de a doua metode se va alege n prealabil directorul n care
este salvata baza de date dorita.
Observatie: Versiunile mai recente de Microsoft Access pot deschide baze de date create
cu versiuni anterioare dar reciproca nu este valabila (compatibilitatea este doar n jos).
1.6.
Gestionarea proiectului.
Pentru a putea gestiona diversele aspecte ale unei baze de date sistemul Access le
organizeaza pe categorii n cadrul unei ferestre speciale prezentate n figura de mai jos.
Macros - rutine continnd comenzi de tip macro pentru implementarea unor secvente
automate de prelucrare a datelor;
Modules - module de cod Visual Basic care permit implementarea unor algoritmi
complecsi de prelucrare.
Pentru deschiderea unui obiect din fereastra de gestiune a bazei de date, se va selecta
obiectul si se va apasa butonul Open.
Pentru stergerea sau redenumirea unui obiect se va selecta din meniul context al obiectului
optiunea Delete respectiv Rename.
Observatie: Meniul context al unui obiect poate fi accesat prin apasarea butonului din
dreapta al mouse-ului deasupra acestuia.
1.7.
Aproape toate aplicatiile dezvoltate recent pun la dispozitia utilizatorului nu doar manuale
de utilizare tiparite ci si un sistem de informare interactiva numita generic "Online Help". si
sistemul Access se nscrie n aceasta categorie. Pentru a accesa aceste informatii este suficient sa
se apese tasta F1 n contextul de interes sau sa se selecteze intrarea Microsoft Access Help din
meniul Help.
Sistemul de informare poate fi utilizat si pentru nvatarea unor secvente de lucru cu
sistemul dar, principala lui menire este aceea de a servi drept referinta rapida n cadrul procesului
de dezvoltare.
1.8.Dezvoltarea unei aplicatii Access.
n general, dezvoltarea unei aplicatii Access poate urma doua cai oarecum divergente:
. "in-depth systems analysis, design, and impiementation" - presupune analiza
amanuntita a sistemului de modelat si crearea n prealabil a unui proiect complet naintea nceperii
fazei de implementare;
. "rapid prototyping" - presupune combinarea iterativa a fazelor de analiza, proiectare si
implementare.
Prima metoda este potrivita pentru bazele de date complexe si a sistemelor de mari
dimensiuni. Pentru sisteme mici si mijlocii cea de a doua metoda da rezultate mai rapide si are
costuri mai scazute. n plus, Microsoft Access pune la dispozitia dezvoltatorilor un mare numar
de facilitati destinate acestei metode, cum ar fi: unelte grafice de proiectare, generatoare si
instructiuni de nivel foarte nalt (macro-comenzi). Secventa de dezvoltare a aplicatiilor va fi
urmatoarea:
1. Modelarea informatiilor de interes n entitati si relatii dintre acestea.
2. Crearea unei tabele pentru fiecare entitate, urmata de normalizarea tabelelor astfel
rezultate.
3. Specificarea relatiilor ntre tabele.
4. Organizarea informatiilor prin intermediul interogarilor.
5. Crearea de formulare si rapoarte pentru tranzactiile de intrare si iesire.
6. Crearea de interogari active, macro si rutine Visual Basic pentru procesarea
informatiilor.
Un operator relational se aplica asupra unor tabele si va avea ca si rezultat tot o tabela.
Potrivit algebrei relationale nu este permis accesul direct asupra nregistrarilor dintr-o tabela.
n continuare se vor da cteva definitii a termenilor folositi de algebra relationala.
Constituantii (cmpuri, atribute, caracteristici) sunt informatiile elementare (atomice) ale unei
relatii.
Domeniul (tipul) este ansamblul valorilor pe care l poate lua un constituant. Domeniul
este un set de valori atomice.
N-upletul este un ansamblu de constituanti (X1, X2, ..., XN) sau de date (a1,
a2, ..., an) cu ai dom(Xi). Un N-uplet de constituanti poate fi considerat ca si un constituant
compus.
O relatie N-ara R(X) se defineste prin trei elemente:
.
de
date (a1,
. Relatia R(X) este formata din ansamblul N-upletilor pentru care predicatul da
propozitii adevarate.
.
Cheia primara (PK - primary key) este o cheie aleasa de administratorul bazei de date
pentru a identifica nregistrarile. De obicei pe acest post se alege o cheie cu un numar minim de
atribute, daca este posibil chiar un singur atribut.
Se numeste cheie externa (FK - foreign key) un grup de atribute care constituie o cheie
primara ntr-o alta relatie. O cheie externa ajuta la legarea datelor din cele doua relatii.
Pentru prelucrarea datelor din tabele teoria relationala defineste doua tipuri de operatori:
operatori din teoria multimilor - UNION, INTERSECT, DIFERENCE, KHARTEZIAN
PRODUCT, respectiv operatori specifici algebrei relationale: SELECT, PROJECT,
UNION. Acesti operatori stau la baza limbajelor de interogare relationale, dintre care cel mai
cunoscut este SQL.
2. Normalizarea unei baze de date relationale. Teoreme de normalizare.
Normalizarea unei baze de date consta n principal n descompunerea modelului bazei de
date n mai multe relatii (tabele) astfel nct sa se reduca la maxim redundanta datelor si implicit
sa elimine anomaliile de actualizare. Operatia de normalizare se bazeaza pe dependentele
functionale care exista ntre datele unei aplicatii.
O dependenta functionala, notata XY, ntre doua seturi de atribute a unei relatii R,
specifica o constrngere asupra N-upletilor posibili. Ea se defineste n felul urmator:
Y => XY
2. Regula de marire:
=> XZY
3. Regula tranzitiva:
=> XZ
4. Regula de decompozitie:
=> XY
5. Regula de reuniune:
=> XYZ
6. Regula pseudotranzitiva:
=> WXZ
orice atribut neprim (care nu face parte din cheia primara) din R sa fie complet
dependent functional de cheia primara a relatiei.
O alta varianta: se cere sa nu existe atribute care sa depinda numai de o parte a cheii
primare.
Forma normala 3 (3NF) cere:
.
nu exista nici un atribut neprim care sa fie dependent tranzitiv de cheia primara a
relatiei
Varianta: nu se permit atribute care nu fac parte din cheile candidat ale relatiei si care
determina alte atribute.
Se poate da si o definitie generalizata pentru forma 3NF. Orice atribut al relatiei
ndeplineste:
.
O varianta mai restrictiva este BCNF - Boyce Codd Normal Form. O relatie este
n BCNF daca, pentru orice dependenta XY din R, X este o cheie candidat a lui R.
Aducerea unei baze de date pe o forma normala superioara presupune extragerea unor
atribute din relatiile existente si crearea pe baza lor a unor noi relatii astfel nct rezultatul sa
respecte forma normala n cauza. Acest lucru duce la fragmentarea bazei de date dar elimina din
anomaliile de actualizare si reduce spatiul pierdut datorita redundantei datelor.
3. Proiectarea unei baze de date.
Concret, pasii care trebuie facuti la proiectarea unei baze de date relationale sunt
urmatorii:
.
Observatie: Daca se opteaza pe o metoda de tip rapid prototyping acesti pasi vor fi
repetati n mod iterativ pe parcursul procesului de dezvoltare.
Cap. 3. Tabele Microsoft Access. Tipuri de date.
1. Crearea unei tabele.
Crearea unei tabele noi se face din gestionarul de proiecte de la intrarea Create table in
Design view.
Lookup - Display Control - specifica tipul elementului de tip control utilizat la afisare
B. Tip MEMO (max. 65.535 caractere). Text lung. Proprietati:
Lookup - Display Control - specifica tipul elementului de tip control utilizat la afisare
D. Tip "Date/Time" (data - an pe 4 pozitii). Data calendaristica, moment orar sau ambele.
b.
J. Tip Lookup wizard (cmp de selctie relationala). Valoare asociata din alta tabela.
Permite alegerea unei valori dintr-o lista de valori fixe sau obtinute din cmpurile altei
tabele. Se aplica pentru tipurile Text, Number si Yes/No.
3. Formate de afisare si introducere.
Proprietatea Format poate contine un sir de caractere cu semnificatia de masca de afisare.
Aceasta poate forta de exemplu afisarea textelor cu o anumita combinatie de litere mari si mici
sau a numerelor cu o anumita dispunere a virgulei zecimale. sirul Format poate contine caractere
de control si caractere obisnuite. Caracterele vor masca caracterele din cmp, pe cnd restul
caracterelor vor fi afisate ca atare (se vor adauga fortat caracterelor din cmp). n acest sens se
pot folosi urmatoarele caractere de control:
.
Formatul poate contine doua siruri despartite prin ";". Primul subsir reprezinta
formatul pentru texte normale. Cel de al doilea reprezinta textul afisat pentru text
vid sau valoare NULL.
Exemple:
@@@@-@@@@@@ - afiseaza numarul 0256444555 sub forma 0256-444555
@;"Date inexistente" - afiseaza sirul nemodificat daca contine cel putin un caracter;
afiseaza mesajul "Date inexistente" daca sirul este vid sau nu a fost introdus.
.
. - separator zecimal
Formatul poate contine patru siruri despartite prin ";". Primul subsir reprezinta
formatul pentru numere pozitive. Cel de al doilea reprezinta formatul pentru
Exemplu:
;"Da";"Nu" va afisa "Da" pentru valoarea Yes si "Nu" pentru valoarea No.
.
Medium Date - data sub forma "3-Apr-93' o Short Date - data sub forma
"4/3/1993'
Caractere de control pentru an (y), luna (m), zi (d), ora (h), minut (n) si secunda
(s).
Exemplu:
ddd", "mmm d", "yyyy va fi afisat sub forma: Mon, Jun 2,1997
"Today is "dddd va afisa Today is Tuesday (limba depinde de setarea Windows - Regional
Settings).
4. Stabilirea cheii primare (PK) si salvarea tabelei.
Pentru stabilirea cheii primare se va da un click dreapta de mouse peste marcajul cmpului
dorit si se alege intrarea
din meniul aferent.
Salvarea tabelei se va face de la intrarea de meniu File/Save as. La salvare se va stabili de
preferinta un nume sugestiv pentru datele retinute, dar nu foarte lung.
Observatie: Pentru a se permite salvarea tabelei trebuie stabilita n prealabil cheia primara
a acesteia.
a)
b)
Relatiile se vor crea prin tragerea cu mouse-ul a cheii primare din tabela secundara peste
cheia externa din tabela principala. Concordanta cmpurilor se va verifica n fereastra de editare
a relatiilor (b).
Pentru a asigura integritatea referentiala a bazei de date, se va marca obligatoriu, la fiecare
relatie creata, optiunea Enforce Referential Integrity. De asemenea, o optiune utila n cele mai
multe situatii este cea de actualizare automata a cmpurilor relationate (Cascade Update Related
Fields).
2. Interogari. QBE.
Interogarile permit filtrarea si ordonarea datelor din tabele precum si reunirea datelor din
mai multe tabele, respectiv calcularea unor noi informatii.
Pentru crearea unei interogari, sistemul Access pune la dispozitie doua limbaje cu
proprietati diferite. Primul, numit QBE - Query by Example - este un limbaj vizual al carui
principal avantaj este simplitatea. Al doilea limbaj, SQL - Structured Query Language - este un
limbaj declarativ care, desi contine relativ putine cuvinte cheie, permite exprimarea unor
interogari mult mai elaborate dect QBE.
Interogarile pot fi clasificate n functie de actiunea realizata n:
.
Interogari de selectie
Interogari de actualizare
Interogari de stergere
n acest capitol vor fi prezentate doar interogarile de selectie. Din punct de vedere al
operatiilor implicate de interogari, putem distinge ntre: proiectie, sortarea, filtrarea (selectia),
reuniunea (JOIN), gruparea si sumarizarea.
2.1. Operatia de proiectie
Operatia de proiectie presupune excluderea din rezultat a coloanelor care nu sunt relevante
n contextul interogarii. Aceasta excludere se realizeaza prin ne-includerea lor n macheta de
proiectie.
Optiunile de sumarizare sunt: Group by, Sum, Avg, Min, Max, Count, StDev, Var, First,
Last, Expression, Where.
n cazul n care sunt mai multe criterii, primul criteriu va fi cel dominant, restul fiind
considerate n mod ierarhic, n ordinea n care apar n lista.
Sintaxa instructiunii SQL care realizeaza ordonarea rezultatului este:
SELECT lista_proiectie
FROM tabela
ORDER BY lista_ordonare;
Lista de ordonare va cuprinde specificarea unor cmpuri din tabela sau expresii n care
acestea intervin, despartite prin virgula.
Implicit sortarea se face n sens crescator (ascendent). Pentru a sorta n mod descrescator
(descendent) se va utiliza marcajul DESC dupa pozitia dorita.
Exemplu:
SELECT *
FROM Studenti
ORDER BY Nume, Medie DESC, DataN
Va ordona studentii crescator dupa nume, la nume egale descrescator dupa medie, iar si la
medii egale crescator dupa data nasterii.
1.3. Operatia de selectie
Operatia de filtrare (selectie) presupune excluderea din rezultat a nregistrarilor care nu
ndeplinesc diverse criterii exprimate prin conditii (expresii) logice.
Sintaxa instructiunii SQL care realizeaza selectia nregistrarilor este:
SELECT lista_proiectie
FROM tabela
WHERE conditie_selectie;
n rezultat vor fi incluse doar nregistrarile pentru care conditie_selectie este adevarata.
Conditia de selectie este o expresie logica care combina operatori, valori si cmpuri. Ca si
elementele de legatura se pot utiliza operatorii AND (sI logic) sau OR (SAU logic).
Prin selectie se pastreaza numarul de coloane dar numarul de nregistrari din rezultat este
de obicei mai mic dect n tabela originala.
Pentru a nlatura duplicatele din rezultat se poate utiliza optiunea DISTINCT:
SELECT DISTINCT lista_proiectie
FROM tabela
WHERE conditie_selectie;
Exemplu:
SELECT cods, nume FROM Student WHERE nume = "Popescu";
"Pop"
Popescu
")
"Popescu"
= 2
Observatii:
.
= 7
= "
-l
Observatii:
.
"yyyy"-n ani
"m" - n luni
"w" - n saptamni
"d" - n zile
2.d. Extragerea anului. Functia "Year".
Exemplu: int(4.6869) = 4
4.c. Conversie unui numar la un sir. Functia "Str".
Sintaxa: str(nr)
Exemplu: Str (4.6869) = " 4.6869" (spatiul este rezervat pt. semnul +)
4.d. Conversie unui sir la un numar. Functia "Val".
Sintaxa: Val (sir)
Exemplu: Val ("-4.6869 de unitati") = -4.6869
4.e. Conversia conditionala. Functia "IIF".
Sintaxa: ii(conditie, valoareAdevarata, valoareFalsa)
Exemplu: iif( [bursa] >0, "Bursier", "Nebursier")
5. Operatori logici
5.a. si logic. Operatorul "And".
Sintaxa: expl And exp2
Exemplu: true And false = false
5.b. Sau logic. Operatorul "Or".
Sintaxa: exp1 Or exp2
Exemplu: true Or false = true
5.c. Nu logic. Operatorul "Not".
Sintaxa: Not exp
Exemplu: Not false = true
6. Operatori relationali
6.a. Operatori relationali pentru testarea inegalitatii.
Sintaxa: expl Op exp2, Op poate fi <, >, <=, >=, <>
Exemplu: 5 < 9 = true
6.b. Operatorul relational pentru testarea egalitatii.
Sintaxa: expl = exp2
Exemplu: (7-5) = 2
= true
= true
Observatii:
Tiparul de comparare poate cuprinde urmatoarele caractere speciale:
LEFT OUTER JOIN - rezultatul va include si nregistrarile din tabela stnga care nu au
corespondent in tabela din partea dreapta a relatiei. Cmpurile care lipsesc din tabela
corespondenta se vor completa automat cu valoarea NULL
RIGHT OUTER JOIN - va include n rezultat si nregistrarile din tabela din dreapta care nu
au corespondent n tabela din partea stnga.
1. INNER JOIN
Pentru operatia de INNER JOIN, limbajul SQL pune la dispozitie doua sintaxe diferite:
A) SELECT lista_proiectie
FROM tabelaL, tabelaR
WHERE (tabelaL.cheiePrimara = tabelaR.cheieExterna)
AND conditii_supilmentare_de_selectie
...
Sintaxa permite specificarea unui produs cartezian explicit urmat de o selectie bazata pe
conditia de JOIN restrictionata eventual cu alte conditii suplimentare impuse de problema.
Atentie: daca se omite conditia de JOIN din clauza WHERE (sau daca aceasta este incorecta),
rezultatul va fi de obicei un produs cartezian.
B) SELECT lista_proiectie
FROM tabelaL INNER JOIN tabelaR
ON tabelaL. cheiePrimara = tabelaR. cheieExterna
WHERE conditii_supilmentare_de_selectie
...
Avg
Count - numara valorile distincte din cmpul respectiv pentru grupul considerat;
Min - ntoarce valoarea minima a unui cmp numeric, text sau de tip data
calendaristica, pentru grupul de nregistrari respectiv;
Max - ntoarce valoarea maxima a unui cmp numeric, text sau de tip data
calendaristica, pentru grupul de nregistrari respectiv;
Sum
Last
StDev - calculeaza deviatia standard a valorilor dintr-un cmp numeric sau data
calendaristica;
Var
- calculeaza
calendaristica;
variatie
valorilor
dintr-un
cmp
numeric
sau
data
GROUP BY expresii_grupare
HAVING conditie_includere_grup;
4. Interogari de grupare si sumarizare n QBE.
n QBE interogarile de sumarizare sunt cunoscute sub numele de interogari de tip
TOTALS. Pentru a creea o astfel de interogare se va marca optiunea Totals din meniul View.
Linia Total va specifica expresia de gruapre sau functia de sumarizare aplicata coloanei
respective.
2. Crearea formularelor.
Pentru crearea unui formular se poate folosi fie o metoda automata (Wizard), fie o
proiectare directa (Design).
j)
Baze de date externe: DBase, Paradox, Ms Access sau orice alt format disponibil
printr-o conexiune ODBC
Datele pot fi importate sau se pot crea legaturi catre acestea. n cazul n care se opteaza
pentru legaturi, datele se pastreaza n fisierele originale si pot fi prelucrate att din Ms Access ct
si din aplicatia originala.
Importul datelor din alta baza de date Ms Access. Tabelele existente n alte baze de date
Access pot fi importate sau legate. Aceste operatii pot fi realizate utiliznd meniul File - Get
Externai Data si optiunile Import respectiv Link Table. Observatie: Optiunea Import permite
importul tabelelor dar si al interogarilor, formularelor, rapoartelor sau modulelor de cod.
Optiunea Link permite doar legarea unei tabele.
Importul datelor din Ms Excel. Pentru un import eficient din Excel intr-o baza de date
Access este de dorit denumirea coloanelor foii din Excel pe prima linie importata din foaie. O
foaie de calcul poate fi importata ntr-o tabela existenta sau ntr-o tabela noua, care se va fi creata
n timpul operatiei de import. Importul efectiv se face tot din meniul File - Get Externai Data.
Importul datelor dintr-un fisier text. Pentru un import corect al datelor stocate ntr-un
fisier text este necesar ca acesta sa respecte o conventie clara cu privire la delimitarea
cmpurilor. De asemenea este de dorit ca informatia de tip text sa fie cuprinsa ntre ghilimele.
Delimitarea cmpurilor se poate face fie printr-un semn special (virgula, tab, spatiu etc.) fie
punnd toate cmpurile de dimensiune egala. La import, numele atributelor se pot lua de pe
prima linie din fisier sau se pot specifica direct n fereastra de import. De asemenea se pot
modifica tipul de date (se detecteaza automat) si daca se face sau nu indexarea dupa acel cmp.
n ncheiere se cere stabilirea unei chei primare (Access poate adauga automat un cmp cu acest
rol).
Importul datelor din Ms Outlook (Address Book). Daca este necesar sa fie importate
adresele stocate n Outlook, se va apela la meniul File - Get Externai Data, optiunea Import.
Importul se va face automat, fara a fi necesari completarea pasilor intermediari prezentati la
celelalte tipuri de importuri
6. Exportul datelor.
Exportul datelor ntr-o alta baza de date Ms Access. Exportul datelor se realizeaza din
meniul File - Export. Baza de date n care se face exportul trebuie sa existe n prealabil. Se poate
opta pentru a exporta doar definitia unei tabele sau si datele continute de aceasta.
Exportul datelor ntr-o foaie de calcul Ms Excel. La exportul unei tabele n format
Excel, se va crea automat un fisier nou. Prima linie din foaia exportata va contine numele
atributelor (coloanelor). Procesul de export decurge complet automatizat.
Exportul n format text. La exportul n format text se va opta pentru formatarea rezultatului. n
acest caz rezultatul este de genul:
CodDep
Denumire
Productie
Management
Exportul n format HTML. Acesta este util pentru a realiza publicarea rezultatelor pe
Web. Pentru un control mai precis al aspectului paginii se poate utiliza salvarea n HTML a unui
raport special creat care sa formateze datele. Atentie: n ambele situatii datele sunt statice (fixate
n momentul exportului).
Rapoartele reprezinta o posibilitate de obtinere a unor situatii tiparite prezentate ntr-o forma
atractiva si accesibila celor interesati. Ele au de obicei un impact semnificativ asupra persoanelor care
vin in contact cu baze de date, fara a avea nsa cunostinte de specialitate n domeniul bazelor de date
(manageri, directori, contabili etc).
Spre deosebire de formulare, rapoartele nu modifica niciodata datele. Ele doar parcurg
secvential nregistrarile pentru a genera eventual sub-totaluri si rezumate.
Rapoartele sunt folosite att pentru liste simple ct si pentru etichete postale tiparite
automat, grafice de analiza sau rezumate si analize financiare complicate.
n toate cazurile se va avea n vedere claritatea raportului si accentuarea elementelor
esentiale pe care le contine. Pentru aceasta pot fi utilizate o serie de trucuri precum: diverse
fonturi, marimi si stiluri de caractere, diverse culori de afisare, diverse elemente grafice de
individualizare sau grupare n genul liniilor, dreptunghiurilor etc.
De o foarte mare importanta este posibilitatea de a grupa vizual datele si de a extrage
informatii sintetice referitoare la fiecare grup n parte.
2. Crearea rapoartelor.
Pentru crearea unui raport se poate folosi, ca si n cazul formularelor, fie o metoda
automata (Wizard), fie o proiectare directa (Design).
n ambele situatii se va alege o tabela sau o interogare care va furniza datele utilizate n
raport. Daca datele provin din mai multe tabele, se va utiliza obligatoriu o interogare.
Antetul si subsolul raportului (report header si report footer) apar doar pe prima, respectiv
ultima pagina a raportului. Antetul afiseaza de obicei titlul raportului, sigla firmei etc.
Subsolul cuprinde de obicei un rezumat al tuturor datelor din raport.
Antetul si subsolul de pagina (page header si pagefooter) cuprinde elementele din partea de
sus si de jos al fiecarei pagini. n mod tipic, antetul de pagina cuprinde numele coloanelor
afisate in sectiunea de detaliere iar subsolul de pagina afiseaza numarul paginii si eventual
data tiparirii raportului.
Antetul si nota de subsol al fiecarui grup {group header si group footer) vor fi afisate
naintea, respectiv imediat dupa fiecare grup. Ele vor cuprinde de obicei informatii despre
grupul care va fi afisat, respectiv informatii de sumarizare despre datele respectivului grup.
Pentru a sorta datele sau a include/exclude un grup se va apela la meniul View->Sorting and
Grouping. Un grup va fi creat automat daca se selecteaza cel putin una din optiunile Group
Header sau Group Footer.
j)
respectiv proceduri si functii. Acestea pot face la rndul lor parte din module de cod si pot
raspunde automat la evenimentele generate de interfata aplicatiei.
Subprogramele VBA pot fi definite in module globale sau pot fi legate de formulare si
rapoarte - CBF (Code Behind Form). n ambele situatii ele pot fi publice sau private.
Variabilele folosite se declara cu Dim si pot fi de tip: byte, boolean, integer, long integer,
single, double, currency, date, object, fixed string,, var string,, variant sau type.
n functie de modul de declarare ele pot fi publice, la nivel de modul sau locale, respectiv
simple sau statice.
Structurile de control din VBA sunt urmatoarele: if ... then ... else, select ... case, do
while ... loop, do ... loop while ..., for ... step ... next. Ele sunt folosite asemanator cu cele din alte
limbaje de nivel nalt precum C, Pascal etc.
Pentru a declara proceduri VBA se va folosi constructia Sub... End Sub.
Sub numeProc(P1 As Type1, ...)
.
End Sub
Spre deosebire de proceduri, functiile pot returna un rezultat. Sintaxa este nsa
asemanatoare cu cea a procedurilor. La final, numele functiei va primi valoarea de returnat.
Function numeFunctie ( PI As Typel, ...)
.
numeFunctie = valoare
End Function
Biblioteca de functii predefinite este foarte importanta n toate sistemele de programare
moderne. De la aceasta regula nu face exceptie nici sistemul Access. Exista o colectie importanta
de functii VBA predefinite precum: Format, InStr, Mid, UCase, DatePart etc.
2. Utilizarea unei baze de date in mediu concurent (retea).
Problema care apare la folosirea unei aplicatii Access ntr-o retea este partajarea datelor
ntre utilizatori.
Rezolvarea acestei probleme se poate face prin blocarea datelor pentru evitarea
conflictelor. Partajarea se poate face la nivelul datelor sau pentru toate obiectele aplicatiei.
Exista trei tehnici de blocare: blocarea paginii, blocarea tabelului si deschiderea unei baze
de date cu acces exclusiv.
Controlul global al blocarii se poate face din meniul Tools - Options -Advanced.