Date post: | 19-Dec-2015 |
Category: |
Documents |
Upload: | marianpopa |
View: | 37 times |
Download: | 0 times |
CAPITOLUL 2. INTERFAŢA SGBD ACCESS 2007
Interfaţă oferită de Access 2007, este o “interfaţă orientată spre rezultate”. Ea a fost
proiectată cu scopul de a-i permite utilizatorului să găsească şi să folosească mult mai uşor toate
caracteristicile avansate oferite de Access 2007. În figura 3.1. este prezentă structura generală a
ferestrei Access 2007.
Figura 3.1 Structura generală a ferestrei Access 2007
Elementele principale ale interfeţei Access 2007 sunt:
Introducere în Microsoft Office Access, este pagina de debut care oferă utilizatorului
opţiunea de creare a unei baze de date de tip Blank Database sau a unor baze de date
predefinite (Assets, Contacts, Events, Tasks, etc).
Butonul Office are asociat un meniu propriu care include comenzi frecvent utilizate
precum New, Open, Save, Save As, Print, Close.
Bara cu comezi de acces rapid este o zonă ce conţine un set de comenzi particulare.
Panoul de comandă este o structură de meniuri şi submeniuri specifice Microsoft Access
2007.
Panoul de navigare include obiectele Access (tabele, formulare, interogări, rapoarte,
macrouri) create de utilizator.
Bara de stare permite afişarea unor informaţii de stare şi include butoane care permit
modificarea vizualizării.
Minibara de instrumente este un element transparent ataşat obiectelor, care apare
deasupra textului selectat, astfel încât să permită formatarea cu uşurinţă a textului.
Bara de instrumente cu acces rapid (Quick Access Toolbar) este o arie
a interfeţei care oferă comenzi de acces rapid. Implicit în această bară de instrumente se regăsesc
trei comenzi (Save, Undo, Redo), dar utilizatorul poate să o personalizeze prin inserare de noi
comenzi astfel: fie prin selecţia Butonului Office - Access Options – Customize, fie prin comanda
Customize the Quick Access Toolbar (figura 3.2) activată din meniul contextual. In cadrul
ferestrei Customize the Quick Access Toolbar, se va alege comanda de adăugat din caseta
Choose commands from şi cu ajutorul butonului Add se transferă noua comandă în această bară.
Figura 3. 2. Personalizarea Quick Access Toolbar
Butonul Office activează un meniu cu cele mai utilizate comenzi Access:
New Permite crearea unei
noi baze de date
(Blank database).
Open Deschide un fişier
Access existent pe
disc.
Save Permite salvarea pe
disc a informaţiei
introduse sau
prelucrate în baza de
date.
Figura 3. 3. Meniul butonului Office
Save As Permite salvarea în
diferite formate a
informaţiilor din
baza de date
Print Permite
previzualizarea şi
imprimarea
informaţiilor din
baza de date.
Manage Pregăteşte baza de
date pentru
distribuţie (poate
asocia diferite
proprietăţi, o cheie
de criptare, restricţii
de acces, o
semnătură
electronică
invizibilă, verifică
compatibilitatea cu
alte versiuni Access)
E-mail Permite expedierea
bazei de date prin
Bluetooth sau
Internet fax.
Publish Permite distribuţia
documentului către
alţi utilizatori.
Close
Database
Închide baza de date
curentă.
Panoul de comandă (Ribbon) este o structură de meniuri principale care include mai multe
submeniuri de comenzi, fiecare dintre acestea grupând o varietate de comenzi după funcţia lor.
Figura 3. 4. Panoul de comandă
În mod implicit, panoul de comandă conţine patru meniuri de comenzi:
Home - include comenzile de bază Clipboard, comenzile de formatare caractere, alegere
stiluri, comenzi de inserare, comenzi de căutare, sortare, filtrare date.
Create - include comenzi ce vor permite crearea tuturor obiectelor Access: tabele,
formulare, rapoarte, interogări şi macrouri.
External Data - conţine comenzi ce au ca efect importul datelor din alte fişiere de tip
Access, Excel, Text, XML, Paradox, Lotus 1-2-3 etc, exportul datelor către Excel, Word,
WordPad, Access, XML, Paradox, etc,
Database Tools - permite prin comenzile din structura sa crearea relaţiilor dintre tabele
(Relationships), programarea în limbajul Visual Basic, definirea unui meniu cu
SwitchBoard Manager, encriptarea bazei de date.
Observaţie:
Dacă se deschide un obiect Access, de exemplu un tabel, în modul de proiectare (Design View)
panoul de comandă se extinde prin meniul Design cu comenzi specifice de vizualizare, definirea
unei chei primare, inserarea de noi înregistrări, ştergere de înregistrări, vizualizare proprietăţilor
tabelului şi afişarea indexurilor tabelului (figura 3.5). În mod similar, dacă un obiect de tip
formular sau raport se deschide în modul de proiectare, panoul de comandă se va extinde cu
meniurile Arrange şi Page Setup.
Figura 3. 5. Panoul de comandă extins
Panoul de navigare
Panoul de navigare reprezintă elementul
de interfaţă care-i va permite
utilizatorului vizualizarea obiectelor create în
Access 2007 după diferite criterii:
Tipul obiectelor (Object Type),
data când au fost create (Created Date),
Data când au fost modificate (Modified Date),
Obiecte de tip tabel (Tables),
obiecte de tip interogare (Queries),
Obiecte de tip formular (Forms),
Obiecte de tip raport (Reports).
Figura 3. 6 Panoul de navigare
Observaţie.
Ascunderea sau vizualizarea Panoului de navigare se realizează prin selecţia tastei F11 sau a
butonului .
Interfaţa prezentată anterior apare pe ecran în mod automat la apelarea SGBD Access 2007, ea
reprezentând elementul esenţial cu care utilizatorii iau contact atunci când doresc sa-şi creeze sau
consulte aplicaţiile practice.
În capitolele 4-10 este oferite o mulţime de exemple de proiectare şi realizare pas cu pas a unor
aplicaţii practice, care permit utilizatorilor să-şi construiască apoi propriile aplicaţii.
CAPITOLUL 4. OBIECTE DE TIP TABEL
O bază de date ACCESS 2007 conţine un ansamblu de colecţii de obiecte tip: tabel (Table);
interogare (Query); formular (Form); raport (Report); macro (Macro); modul (Module).
Tabelul (Table) este un obiect al bazei de date definit de către utilizator, în care se stochează
datele primare despre un anumit subiect.
Tabelele au în structura lor câmpuri de date. Mai multe câmpuri de date formează o
înregistrare unde se memorează date despre subiectul descris în câmpurile de date.
Tabelele de date reprezintă elementele fundamentale din cadrul unei bazei de date, ele oferind
informaţiile necesare pentru crearea altor obiecte Access 2007.
Un tabel trebuie privit sub 2 aspecte:
Structura tabelului definită prin câmpurile de date (atribute, caracteristici);
Înregistrările tabelului reprezentate de valorile asociate câmpurilor din structura sa.
Figura 4. 1 Viziunea asupra tabelului
Tabelele de date pot fi create în mai multe moduri, vezi figura 4.2:
a) în modul tabel (Table);
b) cu ajutorul asistenţilor de modele (Table Templates);
c) prin includerea cu ataşare (legare) dintr-o altă bază de date (SharePoint Lists);
d) în modul de descriere (Table Design).
Figura 4. 2. Alegerea modalitaţii de creare a tabelelor
4.1. Crearea tabelelor în modul Table
Modalitatea de crearea tabelelor în modul Table asimilează relaţiei conceptul de tabel
bidimensional: pe coloană sunt trecute atributele relaţiei, iar pe linie tuplurile (înregistrările)
(figura 4.3).
Modul de creare Table presupune parcurgerea următorilor paşi:
1. Se alege opţiunea Create din meniul principal;
2. Din grupul Tables se alege Table;
1
2
Figura 4. 3. Fereastra de creare a unui tabel în modul Table - paşii 1-2
3. Se introduc datele în tabel, iar cu tasta Tab se trece de la un câmp la altul;
4. Se salvează tabelul cu un nume nou, validându-se cu OK şi precizându-se cheia primară, iar
în final se alege Close.
Figura 4. 4. Fereastra de creare a unui tabel în modul Table - paşii 3-4
Observaţie: Pentru a modifica un nume predefinit de câmp (Fieldn) se execută dublu clic pe
coloana respectivă şi se introduce numele nou, validându-se cu tasta ENTER.
4.2. Crearea tabelelor cu ajutorul şabloanelor (Table Templates)
SGBD Access 2007 dispune de modele predefinite pe categorii de aplicaţii (de exemplu:
contacte, sarcini de lucru, contabilitate, evenimente etc., figura 4.5.).
Figura 4. 5 Modele de tabele pe tipuri de aplicaţii
Crearea tabelelor prin modele este modalitatea cea mai rapidă de creare, însă are dezavantajul
că denumirile câmpurilor sunt în engleză şi nu prezintă o varietate de tipuri de date (majoritatea
sunt text) iar, utilizatorul trebuie ulterior să modifice structura şi tipul câmpurilor conform
cerinţelor de proiectare.
Pentru crearea unui tabel cu ajutorul şablonului se parcurg următorii paşi:
1. Se alege opţiunea Create din meniul principal;
2. Din grupul Tables se alege Table Templates;
3. Se selectează un şablon: Contracts, Tasks, Issues, Events sau Assets;
4. Se completează datele şi se salvează tabelul cu un nume nou, validându-se cu OK şi
precizându-se cheia primară.
Figura 4. 6. Fereastra de creare a unui tabel în mod Table Templates - paşii 1-4
1
2
3
4
4.3. Crearea tabelelor prin includerea dintr-o altă bază de date (SharePoint Lists)
Crearea tabelelor prin includerea dintr-o altă bază de date este modalitatea prin care se
realizează conectarea tabelelor din baze de date diferite urmărind aceleaşi categorii de modele
(de exemplu: contacte, sarcini, evenimente etc. figura 4.7).
Figura 4. 7 Modele de tabele conectate din alte baze de date
Conectarea presupune existenţa unei baze de date la care să se aibă acces la distanţă, cu care
să se poată realiza schimbul de informaţii, completându-se de exemplu pentru modelul Contacts
adresa de site, numele şi eventual o scurtă descriere (figura 4.8):
Figura 4. 8 Fereastră de descriere pentru noi contacte cu baze de date
4.4. Crearea tabelelor în modul Design
Table Design este tehnica de realizare a tabelelor prin care utilizatorul stabileşte toţi
parametrii necesari pentru descrierea structurii unui tabel (de exemplu: numele câmpurilor,
tipurile de date ale acestora, regulile de validare, etc.) având controlul asupra lor şi realizând
descrierea conform cerinţelor impuse de aplicaţia proiectată. (figura 4.9 şi 4.10).
Pentru crearea unui tabel prin metoda de descriere (Table Design) se parcurg următorii paşi:
1. Se alege opţiunea Create din meniul principal;
2. Din grupul Tables se alege Table Design;
1
2
Figura 4. 9. Fereastra de creare a unui tabel în modul Table Design - paşii 1-2
3. În zona de descriere a structurii tabelului se procedează astfel:
o se introduc numele câmpurilor (Field Name);
o se alege tipul de dată (DataType) pentru fiecare câmp;
o se introduc, opţional, descrieri ale câmpurilor de date (Description)
4. Se stabileşte cheia primară;
5. Se salvează tabelul cu un nume specificat de utilizator, aşa cum rezultă din figura
următoare.
Figura 4. 10 Descrierea structurii unei înregistrări-paşii 3-5
Observaţie.
Dacă se doreşte inserarea unui rând nou se execută clic dreapta pe selectorul de rând aflat sub
locul unde se doreşte inserarea rândului şi apoi se poate alege INSERT ROWS. Pentru şterge se
selectează rândul, se alege din meniul contextual DELETE ROWS.
Fereastra Access 2007 pentru descrierea structurii unui tabel de date este formată din două zone
principale: zona I - în care se definesc câmpurile din structura tabelului şi zona II - în care sunt
precizate proprietăţile acestora (figura 4.11).
Figura 4. 11 Zonele de descriere a structurii unui tabel de date
Zona I - conţine:
a) Field Name (numele câmpului) – este un şir de caractere alfanumerice, în lungime de la 1
până la maximum 64 caractere, este unic în cadrul tabelului.
Numele unui câmp trebuie să respecte următoarele reguli:
3
4
5
Poate să conţină litere mari, litere mici, sau ambele tipuri, cifre şi caractere speciale;
Este interzisă utilizarea caracterelor: punct (.), semnul exclamării (!), parantezele drepte
([]);
Numele câmpului nu poate să înceapă cu un spaţiu.
b) Data Type (tipul câmpului) – se stabileşte în funcţie de caracteristica subiectului descris prin
câmpul respectiv. Pentru aceasta utilizatorul are la dispoziţie o serie de tipuri de date de bază,
iar pentru unele dintre ele sunt disponibile subtipuri de date, în funcţie de necesităţi.
Subtipurile se afişează în zona II a ferestrei (secţiunea General).
SGBD Access 2007 admite tipurile de date şi subtipurile, prezentate în tabelul 4.1.
Tabelul 4.1-Tipuri şi subtipuri de date
Tip de date Subtip de
date
Descriere
Text Tip de date alfanumeric, de lungime maximă
255. Un câmp de tip text poate să conţină orice
caracter.
Memo Tip de date alfanumeric (poate conţine orice
caractere), în lungime maximă de 2GB. Cu
acest tip de date, baza de date lucrează mai
încet însă poate suporta şi modalităţi de
formatare.
Number
(tip de date
numeric)
Byte Tip de date întreg cu o plajă de valori admisă
între 0 şi 255. Ocupă un spaţiu de 1 byte.
Integer Tipul de date întreg cu o plajă de valori
admisă între -32768 şi +32767. Ocupă 2 bytes.
Long
Integer
Tipul de date întreg de dimensiuni mari cu
plaja de valori admisă între -2147483648 şi
+2147483647. Ocupă 4 bytes.
Single Tipul de date reprezentat în simplă precizie, cu
plaja de valori admisă între -3,40x1038 până la
-3,40x1038. Ocupă 4 bytes şi are precizie de 7
zecimale.
Double Tipul de date reprezentat în dublă precizie, de
dimensiuni foarte mari cu plaja de valori
admisă între –1,797x10308 până la 1,797x10308.
Ocupă 8 bytes şi are precizie de 15 zecimale.
Replication
ID
Tipul de date GUID (Global unique identifier).
Ocupă 16 bytes. Este util pentru câmpurile care
sunt (sau fac parte dintr-o) cheie externă, ale
căror chei primare sunt de tipul AutoNumber,
Tip de date Subtip de
date
Descriere
ReplicationID.
Decimal Tipul de date cu o plajă de valori admisă între
-1028 şi +1028. Ocupă 12 bytes, iar scara de
precizie implicită este de 18 zecimale, putând
ajunge până la 28 zecimale (proprietatea
Precision implicit este 0).
Date/Time Tip de dată care se utilizează pentru
memorarea datei calendaristice, inclusiv ora, în
formate predefinite. Datele calendaristice
admise sunt între anul 100 şi 9999. Formatele
de afişare se stabilesc în proprietatea Format.
Ocupă 8 bytes şi sunt în dublă precizie.
Currency Memorează valori valutare şi date numerice,
care ocupă 8 bytes, cu o precizie de 4 zecimale.
Acest tip de date se foloseşte pentru
informaţiile financiare când nu se doreşte
rotunjirea valorilor.
AutoNumber Tipul de date care îşi atribuie automat valori
secvenţiale unice la crearea unei noi
înregistrări. Este utilizat pentru chei primare.
Câmpurile de tip AutoNumber nu pot fi
modificate. Ocupă 4 bytes.
Yes/No Tipul de date logic (boolean), care poate lua
doar două valori: adevărat (valoarea 1) sau fals
(valoarea 0). Ocupă 1 byte.
OLE Object Tipul de date care poate să includă imagini,
grafice, documente, etc. Dimensiunea maximă
este de 2 GB, cu condiţia să existe acest spaţiu
pe disc, însă baza de date lucrează încet.
Hyperlink Şir de caractere, care poate memora o adresă
WEB (adresa de site WEB, fişiere din reţeaua
locală), ce va fi utilizat sub formă de hyperlink.
Este format din trei părţi: textul de afişat,
adresa şi subadresa. Dimensiunea este de 1
GB.
Attachment Tipul de dată care măreşte flexibilitatea prin
tehnica OLE cu condiţia ca să existe suficient
spaţiu pe disc. Se pot ataşa orice fel de fişiere:
imagimi, foi de calcul, documente, grafice şi
alte tipuri de fişiere ca înregistrari în baza de
Tip de date Subtip de
date
Descriere
date, mai mult se pot ataşa fişiere din e-mail.
Lookup
Wizard
Se utilizează pentru câmpuri de date ale căror
valori vor fi completate automat prin selecţia
dintr-o listă simplă de valori (List Box) sau
dintr-o listă derulantă de valori (Combo Box).
c) Description (Comentarii) - este o rubrică opţională care permite specificarea unei descrieri
a câmpului de date respectiv (are maxim 255 caractere).
Zona II - conţine descriere proprietăţilor câmpurilor de date descrise în zona I având la rândul ei
două părţi:
General;
Lookup.
În zona II se pot stabili valori pentru două categorii de proprietăţi:
- proprietăţi pe care le au toate câmpurile dintr-o înregistrare;
- proprietăţi specifice numai anumitor câmpuri, în funcţie de tipul de date specificat.
Proprietăţi din categoria General:
Field Size – se
utilizează
pentru a stabili
dimensiunea
maximă admisă
pentru tipurile
de date
precizate în
tabel.
De exemplu
unitatea de
măsură din
tabelul Mărfuri
să aibă maxim
3 caractere.
(figura 4.12).
Figura 4. 12 Descrierea dimensiunii unui câmp
Decimal Places – permite specificarea numărului de zecimale utilizat pentru afişarea unui
număr. Valorile posibile sunt Auto (numărul este afişat cu atâtea zecimale cu câte au fost
calculate, nu sunt afişate mai mult de 15 zecimale) sau un număr între 0 şi 15. Numărul de
zecimale afişat poate fi influenţat şi din proprietatea Format.
Format – se utilizează pentru
precizarea formatului de afişare al
unui câmp. Aceste formate se pot
defini de utilizator cu ajutorul
unor secvenţe speciale de
caractere admise de Access 2007,
care se introduc în caseta din
dreapta cuvântului Format (figura
4.13).
Pentru unele tipuri de date există
formate predefinite, cum sunt:
Figura 4. 13 Descrierea formatului
1. Pentru tipul numeric
(Long Integer) există
formatul din tabelul
alăturat (figura 4.14).
Figura 4. 14 Tipuri de formate de date
numerice
2. Pentru tipul Date/Time
există formatul din tabelul
alăturat (figura 4.15).
Figura 4. 15 Tipuri de formate de dată
calendaristică
3. Pentru tipul logic
(Yes/No) există formatul
prezentat în figura 4.16.
Figura 4.16 Tipuri de format logic
Pe lângă aceste formate predefinite se mai pot utiliza şi formate personalizate pe baza unor
combinaţii speciale de caractere, astfel:
a) Pentru câmpurile numerice formatul de afişare se împarte în patru zone separate prin
caracterul „ ; ” :
– zona I se referă la modul de afişare al numerelor pozitive;
– zona II se referă la modul de afişare al numerelor negative;
– zona III se referă la modul de afişare al numărului zero;
– zona IV se referă la modul de afişare al valorii Null;
Caracterele speciale ce se pot utiliza într-un format de afişare al unui câmp numeric sunt
prezentate în tabelul 4.2.
Tabel 4. 2 - Caractere utilizate într-un format de afişare a câmpurilor numerice
Caracterul Semnificaţia
0 pentru a afişa cifre sau zero
# pentru a afişa cifre sau spaţiu
. sau , pot să fie separator zecimal sau separatorul miilor în funcţie de
opțiunile din cadrul setărilor regionale din Windows (Regional
Settings)
$ este afişat şi caracterul $
% numărul este înmulţit cu 100 şi alături este afişat caracterul
procent (%)
E+, E-, e+, e- stabileşte modul de afişare în format ştiinţific
Exemple
1) În cazul în care în cadrul setărilor regionale caracterul virgulă (,) este separatorul zecimal iar
caracterul punct (.) este separatorul miilor, formatul următor:
afişează :
numerele pozitive cu trei zecimale, având ataşat caracterul $; în cazul în care partea
întreagă este 0 aceasta nu va mai fi afişată (caracterul # permiţând afişarea spaţiului);
numerele negative între paranteze şi cu trei zecimale; în cazul în care partea întreagă este
0 aceasta nu va mai fi afişată ;
pentru valorile 0 textul „Zero”;
pentru valorile care nu au fost introduse numărul 0,00;
$#,000 ; (#,000) ; "Zero" ; 0,00
Formatul pentru valori pozitive
Formatul pentru valori ce nu au
fost introduse (nuluri)
Formatul pentru valori egale cu zero
Formatul pentru valori negative
2) În cazul în care în cadrul setărilor regionale caracterul virgulă (,) este separatorul zecimal iar
caracterul punct (.) este separatorul miilor, formatul următor:
afişează :
numerele pozitive cu trei zecimale, având ataşat caracterul $;
numerele negative între paranteze şi cu două zecimale;
pentru valorile 0 textul „Zero”;
pentru valorile care nu au fost introduse textul „Număr null”;
3) În cazul în care în cadrul setărilor regionale caracterul virgulă (,) este separatorul zecimal iar
caracterul punct (.) este separatorul miilor, formatul următor:
afişează
numerele pozitive în format ştiinţific;
numerele negative sub formă procentuală;
0 pentru valorile egale cu 0;
pentru valorile care nu au fost introduse nefiind definit nici un format se va păstra
formatul iniţial neafişându-se nimic.
$0,000 ; -0,00 ; "Zero" ;"Număr null"
Formatul pentru valori pozitive
Formatul pentru valori ce nu au
fost introduse (nuluri)
Formatul pentru valori egale cu zero
Formatul pentru valori negative
0E- ; 0% ; 0
Formatul pentru valori pozitive
Formatul pentru valori egale cu zero
Formatul pentru valori negative
$#,000;(#,000);"Zero";0,00
$0,000;-0,00;"Zero";"Număr null"
0E-;0%;0
b) Pentru câmpuri de tip Date/Time caracterele care se pot utiliza sunt prezentate în tabelul 4.3.
Tabel 4. 3 – Caracterele utilizate la formatarea datelor de tip Date/Time
Caracterul Semnificaţia
„ : ” separator pentru timp;
„ / ” separator pentru data calendaristică;
d se afişează ziua sub formă de valori de la 1 la 31;
dd se afişează ziua sub formă de valori de la 01 la 31;
ddd se afişează numai primele trei caractere din numele unei
zile;
dddd se afişează numele complet al unei zile;
w se afişează ziua ca valoare din săptămână, de la 1 la 7;
ww se afişează numărul săptămânii în an, de la 1 la 53;
m se afişează numărul lunii din an, de la 1 la 12;
mm se afişează numărul lunii din an de la 01 la 12;
mmm se afişează numai primele trei caractere din numele unei
luni;
mmmm se afişează numele complet al lunii;
y se afişează numărul zilei din an;
yy se afişează ultimele două caractere din an de la 01 la 99;
yyy se afişează anul complet de la 100 la 9999;
q se afişează data ca numărul trimestrului din an, de la 1 la 4;
Caracterul Semnificaţia
h se afişează ora prin numere de la 0 la 23;
hh se afişează ora prin numere de la 00 la 23;
n se afişează minutele prin numere de la 0 la 59;
nn se afişează minutele prin numere de la 00 la 59;
s se afişează secundele prin numere de la 0 la 59;
ss se afişează secundele prin numere de la 00 la 59;
AM/PM sau am/pm sau A/P sau a/p – este afişat AM, am, A sau a pentru primele 12 ore ale zilei
şi PM, pm, P sau p pentru ultimele 12 ore din zi.
Exemple:
"Data: "dd/mm/yy" săptămâna: "ww
afişează Data: 20/03/09 săptămâna: 12
dddd/mmmm/yyyy afişează vineri/martie/2009
"ORA:"hh:nn:ssAM/PM afişează ORA:12:00:00AM.
c) Pentru câmpurile de tip text formatul de afişare personalizat utilizează următoarele
caracterele specificate în tabelul 4.4.
Tabel 4. 4 - Caractere utilizate la formatul de afişare personalizat
pentru câmpuri de tip text
Caracterul Semnificaţia Exemple de
text
Formatul Mod de
afişare
! Câmp
numeric
566 ! 566
< Litere mici Albert < albert
> Litere mari albert > ALBERT
„ABC” Şir de text
care apare
exact cum e
specificat în
format
„MOUSE”
„MOUSE”
„MOUSE”
@ Numere pe
grupe
0723667788 @@@@-@@-
@@-@@
0723-66-77-
88
Input Mask – se utilizează pentru specificarea unui format special (mască sau şablon) de
introducere a datelor pentru un anumit câmp (de exemplu pentru introducerea numerelor de
telefon în format suedez ori adresei în formatul din Franţa). La fel ca şi în cazul proprietăţii
Format, există o serie de caractere prin care se stabileşte acest format de introducere a datelor.
La crearea măştilor de introducere a datelor se utilizează caracterele din tabelul 4.5.
Tabelul 4.5. – Caractere utilizate pentru specificarea şabloanelor
de introducere a datelor
Carac-
terul
Semnificaţia Exemple de
text
Masca de
intrare
Modul de
afişare
0 Se admit obligatoriu
cifre de la 0 la 9
1111 0000 1111
9 Se admit opţional cifre
de la 0 la 9
2222 9999 2222
A Se admit obligatoriu
litere sau cifre
Albu10 AAAAAA Albu10
a Se admit opţional litere
sau cifre
Albu10 aaaaaa Albu10
# Se pot introduce cifre
sau spaţii
0123 #### 123
& Se admite orice
caracter sau spaţiu
0123(88) &&&&&&
&&
0123(88)
C Orice caracter sau
spaţiu opţional
ROUTER CCCCCCC ROUTER
L Se admit litere de la A
la Z obligatoriu
POPESCU LLLLLLL POPESCU
? Se admit litere de la A
la Z opţional
POPESCU ??????? POPESCU
> Literele se transformă
în majuscule
popescu > POPESCU
< Literele se transformă
în minuscule
POPESCU < popescu
În situaţia în care se descriu ambele proprietăţi, proprietatea Format are prioritate faţă de
proprietatea Input Mask.
Caption – permite definirea unei etichete asociate câmpului de date sub forma unui şir de maxim
2048 caractere, care va fi afişat în titlul unei coloane în momentul introducerii datelor. Dacă
această proprietate nu are nici o valoare, şirul afişat în titlul unei coloane este numele câmpului
respectiv. Valoarea acestei proprietăţi nu are nici o influenţă asupra numelui câmpului la
utilizarea sa în interogări, VBA, etc.
Default Value – se utilizează pentru precizarea unei valori implicite care este propusă în
momentul în care se introduc date într-un tabel. Această proprietate se recomandă atunci când
există o valoare preponderentă a conţinutului unui câmp.
Validation Rule – permite introducerea unei reguli de validare pentru un câmp de date. Regula
de validare este o expresie ce se va testa pentru conţinutul introdus într-un câmp. Aceste regulile
se testează după introducerea unei valori într-un câmp sau în momentul în care se încearcă
salvarea unei înregistrări. Dacă o regulă de validare a unui câmp nu se verifică, înregistrarea nu
se poate fi salvată decât în situaţia în care se corectează conţinutul câmpului în aşa fel încât să se
verifice regula de validare stabilită. Expresia pentru această proprietate se poate scrie şi în mod
asistat cu ajutorul ferestrei Expression Builder, ce poate fi apelată cu butonul .
Observaţii
Numele câmpurilor dintr-o expresie Validation Rule trebuie scris între caracterele [ ].
Se pot utiliza reguli de validare pentru toate tipurile de date, excepţie făcând: AutoNumber,
OLE Object, Attachment, Number cu subtipul ReplicationID.
Se pot utiliza şi funcţii Access (figura 4.17), constante, operatori, etc.
Figura 4.17 Fereastra de construire a unei funcţii
Exemple:
a) Exemple de reguli de validare pentru un câmp de tip Number, Integer:
>200 and <=400 - valorile admise sunt între 201 şi 400;
<>Null sau Is Not Null – câmpul respectiv trebuie să conţină în mod obligatoriu o
valoare(nu este null ).
b) Exemple de reguli de validare pentru un câmp de tip Text:
“Cluj” Or “Slobozia” Or “Iaşi” sau In("Cluj"; "Slobozia"; "Iaşi") valoarea câmpului
respectiv nu poate fi decât una din cele trei valori specificate.
c) Exemple de reguli de validare pentru un câmp de tip Date/Time:
>=#03/03/2010# - data-factura trebuie să fie în momentul introducerii mai mare decât 3
martie 2010.
>=Date() – data introdusă trebuie să fie mai mare sau egală cu data sistemului.
Year([data factura])=Year(Date()) – anul din câmpul data factura trebuie să fie în
momentul introducerii, acelaşi cu cel din data sistemului.
[data scadentei]<=data facturii+30 – data scadenţei până în 30 de zile de la data facturării.
În figura 4.18 se prezintă un exemplu de regulă de validare care implică mai multe atribute ale
unui tabel (restricţii pe tabel) şi anume: valoarea unei mărfi facturate (adică produsul dintre
cantitatea facturată şi preţul de facturare) să nu depășească 2000.
Figura 4.18 Exemplu de regulă de validare
Validation Text – se utilizează pentru definirea unui mesaj de atenţionare pentru utilizator, de
exemplu „valoare facturată<=2000”, care va fi afişat în momentul în care regula de validare
definită în proprietatea Validation Rule nu se verifică. Se foloseşte împreună cu Validation Rule.
Required – poate lua valoarea Yes sau No, corespunzătoare valorilor logice adevărat (True) sau
fals (False). Prin acesta se stabileşte dacă valoarea unui câmp este obligatoriu (Yes) de introdus
în tabel sau nu este obligatorie (No). Pentru
câmpurile de tip Text, Memo, Hyperlink se recomandă să se utilizeze această proprietate în
strânsă legătură cu proprietatea Allow Zero Length.
Allow Zero Length – se utilizează pentru a stabili dacă într-un câmp sunt permise şiruri de text
de lungime zero. Valoarea lui poate fi Yes sau No.
Indexed – permite specificarea unui câmp drept index. Utilizarea indexurilor are drept scop
creşterea vitezei de realizare a interogărilor prin localizarea rapidă a datelor. În general, se poate
indexa orice câmp (sau grup de câmpuri) al unui tabel din baza de date, dar se recomandă cu
precădere indexarea câmpurilor individuale sau grupurilor de câmpuri care se folosesc frecvent
în condiţii sau prin intermediul cărora se fac legături între tabele.
Cheia primară a unui tabel este automat indexată de către ACCESS. Dacă utilizatorul nu
stabileşte o cheie primară, ACCESS oferă posibilitatea alegerii unei chei primare surogat creând
implicit un câmp de tip AutoNumber, care va conţine un număr unic pentru fiecare înregistrare.
Se recomandă utilizatorilor să definească pentru fiecare tabel o cheie primară deoarece:
Microsoft Access 2007 afişează datele în ordinea cheii primare;
Cheia primară este în mod obligatoriu un index;
La fiecare adăugare a unei noi înregistrări într-un tabel, nu se acceptă înregistrări duble
pentru câmpul cheie primară;
Indexurile realizează o ordonare a datelor după valorile unuia sau a mai multor câmpuri,
ceea ce are drept efect creşterea vitezei de interogare a bazei de date.
În cazul în care se doreşte ca valorile unui grup de atribute să fie unice în cadrul unui tabel, se
recomandă realizarea unui index pentru acest grup, cu proprietatea de unicitate.
Definirea unui index se poate face la nivel de câmp prin intermediul proprietăţii Indexed (figura
4.19) sau la nivel de tabel prin intermediul ferestrei Indexes (figura 4.20).
Valorile posibile pentru
proprietatea Indexed specifică
unui câmp sunt:
No – neindexat (implicit);
Yes (Duplicates OK) - sunt admise valori
duplicate în câmpul index;
Yes (No Duplicates) – nu
sunt admise valori
duplicate în acest câmp.
Figura 4. 19 Definirea unui câmp indexat
Indexurile se pot defini sau modifica prin intermediul ferestrei Indexes. (figura 4.20).
Deschiderea acestei ferestre se poate realiza doar dacă tabelul este deschis în modul de
vizualizare Design View. Fereastra cu indexurile unui tabel (Indexes) se activează din meniul
Design, opţiunea Indexes. Se vor adăuga indexurile şi se vor stabili proprietăţile acestora (figura
4.20.
Figura 4. 20. Definirea indexurilor
În coloana Index Name se defineşte numele indexului, iar în coloana Field Name se aleg
câmpurile care formează indexul sau cheia primară. Coloana Sort Order indică modul de
ordonare al datelor în index. În cazul indexurilor ce includ mai multe câmpuri, valoarea
proprietăţii Indexed, pentru fiecare câmp în parte este No.
Proprietăţile din fereastra Indexes:
Primary – dacă are valoarea Yes specifică faptul că indexul este cheie primară;
Unique – dacă are valoarea Yes indică faptul că indexul are valori unice, nu sunt premise
valori duplicate, iar pentru o cheie primară această proprietate are obligatoriu valoarea
Yes.
Ignore Nulls – dacă are valoarea Yes atunci indică faptul că sunt permise valorile Null
într-un index. Pentru o cheie primară, această proprietate are obligatoriu valoarea No.
Exemplu: În cadrul tabelului Furnizor, care are cheie primară câmpul CodFz, se va stabili un
index numit Furnizor, care este format din câmpurile Localitate şi Telefon. Un alt index s-a
definit pentru câmpul ContBancar (figura 4.21).
Figura 4. 21 Exemplu de creare a indexurilor de diverse tipuri
Pe lângă modalitatea descrisă anterior, cheia primară a unui tabel se mai poate defini astfel:
1. Se deschide tabelul în modul Design View.
2. Dacă este o cheie formată dintr-un singur câmp, se poziţionează cursorul în câmpul
respectiv şi se acţionează butonul din bara de instrumente Design (figura
4.22).
3. Pentru chei primare formate din mai multe câmpuri, se selectează câmpurile şi se
acţionează butonul menţionat anterior (Primary Key).
Figura 4. 22 Definirea cheii primare a unui tabel
NOTĂ:
În Access 2007 o cheie externă nu se defineşte explicit, ea fiind stabilită prin definirea relaţiilor
dintre tabele. Pentru creşterea performanţelor se recomandă definirea de indexuri pentru fiecare
cheie externă.
Unicode Compression – este utilizat pentru reprezentarea datelor de tip Text, Memo şi
Hyperlink şi foloseşte 2 bytes pentru un caracter. Access 2007 utilizează valoarea implicită Yes
pentru tipurile de câmp Text, Memo şi Hyperlink. Când proprietatea este YES, orice caracter
care are primul byte 0 este compresat atunci când este memorat şi decompresat când este
transmis.
IME Mode – specifică modul Input Method Editor care foloseşte instrumente din versiunea în
engleză şi are valoarea implicită No Control.
IME Sentence Mode – specifică tipul de dată folosind metoda Input Method Editor.
Smart Tags – specifică una sau mai multe indicatoare şi controale de câmpuri.
Text Align – permite stabilirea modului de aliniere a datelor de tip Text şi se poate fi:
General - alinierea textului este la stânga.
Left - alinierea întregului textului este la stânga.
Center - centrează tot textul.
Right - alinierea textului este la dreapta.
Distribute - alinierea textului proporţional şi la stânga şi la dreapta (justificat).
Proprietăţile din categoria Lookup realizează integritatea referenţială şi permit introducerea
datelor în atributul declarat cheie externă, prin preluarea dintr-o listă derulantă a valorilor
atributului cheie primară dintr-un alt tabel legat.
De exemplu, în tabelul Facturi, pentru atributul CodFz se va defini o listă derulantă care va
include codurile furnizorilor din tabelul Furnizor. În acest fel, utilizatorul va respecta restricţia de
integritate referenţială selectând doar valorile cheii primare corespondente.
Paşii de realizare a listei derulante pentru câmpul CodFz din tabelul Facturi sunt:
1. Introducerea numelui câmpului de date în coloana Field Name.
2. Alegerea tipului de dată Lookup Wizard.
1
2
Figura 4. 23. Crearea unei liste derulante pentru un câmp cu rol
de cheie externă-paşii 1-2
3. Parcurgerea paşilor indicaţi de asistentul Lookup Wizard:
a) Alegerea primei opţiuni, pentru a prelua datele dintr-un tabel sau o interogare
b) Specificarea tabelului din care vor fi preluate datele în lista derulantă.
Figura 4. 24 Crearea unei liste derulante pentru un câmp
cu rol de cheie externă - pasul 3(a,b)
c) Selectarea câmpului sau a câmpurilor ale căror valori vor fi afişate în listă.
(Selecţia se va face prin intermediul butonului )
d) Stabilirea lăţimii câmpului afişat.
Figura 4. 25 Crearea unei liste derulante pentru un câmp cu rol
de cheie externă – pasul 3(c,d)
e) Precizarea numelui de câmp sau a etichetei pe care câmpul o va afişa.
f) Selectarea butonului Finish, care indică finalizarea listei derulante.
Figura 4.26 Crearea unei liste derulante pentru un câmp cu rol
de cheie externă – pasul 3(e,f)
4. Salvarea modificărilor realizate.
O altă variantă de utilizare a proprietăţilor Lookup este întâlnită la definirea listelor derulante
cu valori proprii. Spre exemplu în tabelul Mărfuri unitatea de măsură se preia dintr-o listă
derulantă în care valorile posibile sunt: Kg, Buc şi Litri. Pentru aceasta proprietăţile Display
Control, Row Source Type şi Row Source vor fi cele prezentate în Figura 4.27.
Figura 4. 27 Exemplu de utilizare a proprietăţilor Lookup
4.5 Operaţii asupra înregistrărilor dintr-un tabel de date
După ce a fost creată structura unui tabel, acesta este supus următoarelor operaţii:
a) introducerea de înregistrări noi;
b) sortarea înregistrărilor;
c) căutarea înregistrărilor;
d) ştergerea uneia sau a mai multor înregistrări.
a) Introducerea de înregistrări noi se realizează la o acţionare dublu clic pe numele tabelului de
date sau din meniul contextual (acţionare butonului dreapta de mouse pe tabelul selectat) se alege
OPEN (figura 4.28).
Figura 4.28 Fereastra de introducere a noi înregistrări în tabel
b) Sortarea înregistărilor se realizează având tabelul deschis în modul Datasheet View şi apoi
se alege una din variantele de mai jos:
1. Se selectează opţiunea Home din meniul principal, apoi din fereastra Sort&Filter se va
alege modalitatea de sortare ascendentă sau descendentă
executând clic pe numele câmpului după care se face sortarea şi se alegând ordinea de
sortare sau ;
2. Sau din meniul contextual se alege Sort A to Z ori Sort Z to A.
Figura 4.29 Modalităţi de realizare a sortării
c) Căutarea înregistrărilor se poate efectua în următoarele variante:
Răsfoirea înregistrărilor secvenţial cu ajutorul butoanelor de răsfoire
, sau direct cu butonul Search prin
introducerea de la tastatură a textului căutat;
Cu opţiunea Find din meniul Home, în următorii paşi:
1. Se deschide tabelul în modul Datasheet View;
2. Se execută clic pe câmpul unde vrem să căutăm un anumit text;
3. Se acţionează butonul HOME;
4. Se acţionează butonul FIND din caseta FIND;
5. În rubrica Find What se tastează textul pe care dorim să-l căutăm în tabelul curent, de
exemplu „RODII”;
6. Se execută clic pe săgeata listei Look In pentru a se preciza că se caută în câmpul curent,
apoi se execută clic pe săgeata listei Match pentru a specifica dacă se caută în tot câmpul -
Whole Field, la începutul câmpului - Start of Field sau în orice parte a câmpului - Any Part
of Field, iar la final se alege sensul căutării în rubrica Search (Up, Down, All);
7. Se bifează în caseta Match case sau Search Fields As Formatted pentru a căuta
înregistrarea care corespunde mărimii şi tipului literelor introduse(figura4.30);
8. După găsirea înregistării căutate se specifică un alt text de căutare şi se acţionează butonul
Find Next pentru o altă operaţie de căutare, sau se închide fereastra Find and Replace.
Figura 4.30 Căutarea înregistrărilor după un text specificat de utilizator
d) Ştergere înregistrărilor presupune eliminarea acestora dintr-un tabel de date şi se realizează
în următorii paşi:
1. Selectarea înregistrărilor de şters;
2. Acţionarea butonului Home din meniul principal;
3. Selectarea opţiunii Delete din grupul Records (figura 4.28);
4. Acţionarea butonului Delete sau Delete Record, după caz, are efectul că afişează pe ecran
mesajul din figura 4.31.
Figura 4. 31. Paşii de parcurs la ştergerea înregistrărilor
5. Se răspunde cu Yes sau No, şi operaţia este terminată.
4.6. Definirea relaţiilor între tabelele de date
În vederea proiectării aplicaţiilor diverse prin consultarea tabelelor de date memorate într-o bază
de date Access 2007 este necesar să se creeze legături între tabelele respective. Aceste legături
permit ca datele dintr-un tabel să se lege cu datele din alt tabel pe baza unui câmp comun,
având acelaşi conţinut.
Relaţiile dintre tabele sunt de tipul 1-1, 1-n şi m-n. Astfel, dacă avem două tabele de date putem
defini:
Relaţia de tipul 1-1 (unu la unu) atunci când fiecărei înregistrări dintr-un tabel îi
corespunde o singură înregistrare în alt tabel şi invers.
Relaţia de tipul 1-n (unu la mai mulţi) atunci când fiecărei înregistrări dintr-un tabel îi
corespund una sau mai multe înregistrări în alt tabel.
Relaţia de tipul m-n (mai mulţi la mai mulţi) nu poate fi exprimată ca o simplă relaţie
între 2 tabele. Ea va fi realizată practic, prin intermediul unui al treilea tabel care are
relaţii de tip 1-n cu celelalte două tabele.
Pentru a avea acces simultan la datele din mai multe tabele într-o bază de date este necesar să se
definească legăturile dintre acestea. Cel mai indicat ar fi ca această operaţie să se efectueze
înainte de a se introduce datele în tabele şi înainte de efectuarea interogărilor în cadrul
aplicaţiilor.
Definirea relaţiilor între tabele se efectuează parcurgând următorii paşi:
1. Selectarea opţiunii DATABASE TOOLS din meniul principal;
2. Acţionarea butonului RELATIONSHIPS (figura 4.34);
Figura 4.32 Crearea relaţiilor între tabele – paşii 1-2
3. Selectare SHOW TABLE (figura 4.33);
3
Figura 4.33 Crearea relaţiilor între tabele – pasul 3
4. Din fereastra SHOW TABLE se selectează opţiunea TABLES;
5. Apare în fereastra afişată o listă cu tabelele bazei de date de unde se selectează primul table de
date pentru stabilirea relaţiilor şi se acţionează butonul ADD;
6. Se selectează următorul tabel şi se acţionează butonul ADD, ş.a.m.d. pentru alte tabele pe care
dorim să le introducem în procesul de creare a relaţiilor;
7. Se acţionează butonul CLOSE din fereastra SHOW TABLES, la terminarea selectării
tabelelor (figura4.34).
1
2
Figura 4.34 Crearea relaţiilor între tabele – paşii 4-7
8. Legătura propriu-zisă între două tabele se va realiza astfel: se selectează cheia primară din
tabelul principal şi ţinând apăsat butonul stâng al mouse-ului se glisează spre cheia externă
corespondentă din al doilea tabel. După eliberarea butonului mouse-ului se activează caseta Edit
Relationships, în cadrul căreia utilizatorul poate stabili diferite proprietăţi ale acestei
legături(figura4.35).
Figura 4.35 Caseta Edit Relationships
9. Pentru definirea unor tipuri de asocieri particulare LEFT JOIN sau RIGHT JOIN, se va
selecta butonul Join Type. Acest tip de asocieri presupun luarea în considerare a tuturor
înregistrărilor dintr-un tabel, indiferent dacă au sau nu înregistrări corespondente după câmpul de
legătură în celelalte tabele.
Fereastra Join Properties afişează 3 opţiuni cu următoarea semnificaţie:
1 – asociere de tip INNER JOIN – opţiune implicită propusă de Access, specifică modul în
care fiecare înregistrare dintr-o tabel are corespondent în cealaltă tabel.
8
2 – asociere de tip LEFT JOIN – oferă posibilitatea să se includă toate înregistrările din
tabelul din partea stângă şi numai a celor care au corespondent în tabelul din partea dreaptă.
3 – asociere de tip RIGHT JOIN - oferă posibilitatea să se includă toate înregistrările din
tabelul din partea dreaptă şi numai a celor care au corespondent în tabelul din partea stangă.
Figura 4.36 Caseta Join PROPERTIES
10. În caseta EDIT RELATIONSHIPS:
Se bifează opţiunea ENFORCE REFERENTIAL INTEGRITY;
Se bifează CASCADE UPDATE RELATED FIELD dacă dorim ca modificările
câmpului cheie primară din primul tabel să fie copiate automat în tabelele cu care
acesta se leagă;
Se bifează CASCADE DELETE RELATED RECORDS dacă dorim să ştergem
automat înregistrările din tabelele conexe atunci când ştergem înregistrări din tabelul
primar;
Se acţionează butonul CREATE pentru crearea legăturilor şi asigurarea integrităţii
referenţiale.
8. În caseta Relationship Type sunt prezentate tipurile de legături care pot exista practic
între 2 tabele: 1-1 şi 1-n. Dacă în casetă apare mesajul INDETERMINATE, înseamnă că
tipul de relaţie nu poate fi definit, iar cea mai probabilă eroare este incompatibilitatea
între tipul de dată al cheii primare şi cel al cheii externe.
Figura 4.37 Crearea relaţiilor între tabele – paşii 9-11
Remarcă:
SGBD Access 2007 impune existenţa aceluiaşi tip de dată pentru câmpurile care participă la
crearea unei relaţii.
De exemplu:
În cazul unui câmp de tip Number, proprietatea Field Size a celor două câmpuri trebuie să
fie identică.
În cazul câmpurilor de tip Text - se folosesc câmpuri de aceeaşi lungime.
După crearea relaţiilor între toate tabelele bazei de date, acestea apar reprezentate aşa cum
rezultă din figura 4.38.
Figura 4.38 Crearea relaţiilor între toate tabelele bazei de date
CAPITOLUL 5. OBIECTE DE TIP INTEROGARE
9
10
11
5.1. Definirea obiectelor de tip interogare
Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor din una sau mai
multe tabele (sau interogări) pe baza unor criterii de selecţie şi/sau de prelucrare specificate de
utilizator. Rezultatul unei interogări se prezintă sub forma unei foi de răspuns dinamic ce poartă
numele de Dynaset, foaie care nu va exista din punct de vedere fizic pe calculatorul
utilizatorului, după închiderea interogării.
O interogare poate fi folosită pentru:
• regăsirea şi ordonarea datelor după anumite criterii
• efectuarea de calcule folosind datele din tabelele bazei de date.
• actualizarea bazei de date prin operaţii de adăugare noi înregistrări, modificarea sau
ştergerea înregistrărilor.
• pregătirea datelor în vederea afişării lor în formulare sau rapoarte.
Tipuri de interogări:
1. de selecţie (SELECT)- permit extragerea de date din una sau mai multe tabele, precum
şi efectuarea de calcule;
2. de sintetizare a datelor (TOTAL) – permit calcularea mediei, valorii totale, minimul
sau maximul unor atribute care aparţin unor tupluri ce au fost grupate anterior după
anumite criterii.
3. de analiza încrucişată (CROSSTAB).
4. de acţiune (MAKE TABLE, APPEND, UPDATE, DELETE)
5. speciale (UNION, PASS THROUGH, DATA DEFINITION)
Figura 5. 1 Tipuri de interogări
5.2. Crearea interogărilor
Crearea unei interogări se poate realiza în două moduri: în mod grafic, folosind fereastra QBE
(Query by Example) sau prin comenzile limbajului SQL (Structured Query Language). În acest
capitol, se va prezenta modul grafic de proiectare a unei interogări, folosind interfaţa Access
2007.
Modalităţile de creare a interogărilor sunt menţionate în meniul CREATE :
Modul manual de proiectare – Query Design (utilizand interfaţa QBE)
Modul asistat de proiectare – Query Wizard
o Simple Query Wizard – creare în mod asistat a unei interogări de selecţie;
o Crosstab Query Wizard – creare în mod asistat a unei interogări încrucişate;
o Find Duplicates Query Wizard – asistare în crearea unei interogări ce va selecta
numai înregistrări duplicate;
o Find Unmatched Query Wizard – crearea asistată a unei interogări ce va selecta
numai înregistrările unui tabel ce nu au corespondenţe în alt tabel.
5.3. Interogări de selecţie
Interogarea de selecţie permite extragerea datelor, după unul sau mai multe criterii impuse
de utilizator precum, şi efectuarea de calcule. Sursa interogării poate fi reprezentată prin una sau
mai multe tabele şi/sau interogări. Dacă utilizatorul va modifica datele afişate printr-o cerere,
modificările vor fi operate în tabelul sau tabelele sursă.
Paşi de creare a unei interogări de selecţie a datelor:
1. Activarea meniului CREATE.
2. Alegerea opţiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE. După cum se poate observa în
figura 5.2, la nivelul casetei Show Table, sursa de date pentru un obiect de tip interogare
poate fi reprezentată de:
a. una sau mai multe tabele aparţinând bazei de date
b. una sau mai multe interogări Access
c. atât tabele cât şi interogări Access.
Figura 5. 2 Crearea interogărilor de selecţie
Utilizatorul va selecta obiectul sursă şi prin intermediul butonului ADD îl va adăuga în
fereastra Select Query. După ce s-a precizat sursa de date, caseta Show Table se va închide prin
butonul CLOSE.
4. Proiectarea grilei QBE prin:
alegerea câmpurilor care vor forma interogarea. Numele acestor câmpuri se vor preciza în
grila QBE, pe linia FIELD, fie prin alegerea lor din cadrul listei asociate butonului de
extensie, fie prin selectarea şi glisarea cu mouse-ul a câmpului dorit din zona superioară ce
include tabelele sursă ale interogării.
stabilirea modului de ordonare (sortare) a datelor din interogare, în linia SORT.
definirea criteriilor de selecţie a datelor pe linia CRITERIA, prin utilizarea unor funcţii,
operatori specifici ACCESS 2007.
Grila QBE, din punct de vedere structural, este caracterizată prin mai multe linii:
FIELD: precizează numele atributului selectat;
TABLE: precizează tabelul participant la interogare (sursa de date);
SORT: precizează sensul sortării pentru atributul în cauză;
SHOW: permite sau inhibă afişarea valorilor câmpului respectiv;
CRITERIA: permite precizarea criteriilor pe care se construieşte interogarea;
OR: permite precizarea criteriilor de selecţie utilizând operatorul logic OR.
Pentru definirea criteriilor de selecţie, în zona CRITERIA, utilizatorii pot utiliza o serie de
operatori, constante, funcţii specifice ACCESS 2007.
5.4. Expresii şi funcţii utilizate în interogări
Expresiile sunt elemente utilizate pentru definirea criteriilor de selecţie, regulilor de validare
sau câmpurilor calculate, formate dintr-o combinaţie de operatori, constante, variabile şi funcţii
ce au ca rezultat o anumită valoare.
Elementele unei expresii Access sunt:
Operatorii – simboluri matematice;
Funcţiile – proceduri ce returnează o valoare.
Constantele – valori numerice sau şiruri de caractere care nu-şi schimbă valoarea;
OPERATORII
Operatorii utilizaţi în construirea expresiilor Access 2007 se pot clasifica astfel:
Aritmetici
^ Ridică un număr la o putere (Exemplu: 3^5=35)
* Înmulţeste două numere
/ Împarte două numere
MOD Returnează restul împărţirii a două numere
+ Adună două numere
- Scade două numere
De concatenare a două şiruri de caractere
& Concatenează două şiruri de caractere
+ Adună valorile a două câmpuri numerice, dar poate fi utilizat
şi pentru concatenarea a două siruri de caractere
De comparaţie
= Verifică egalitatea a două valori
<> Verifică dacă două valori sunt diferite.
Exemplu: pentru atributul Adresa criteriul de selecţie
<> “Bucureşti”, va determina afişarea înregistrărilor
din provincie.
< Verifică dacă o valoare este mai mică decât alta
> Verifică dacă o valoare este mai mare decât alta
<= Verifică dacă o valoare este mai mică sau egală decât
alta
>= Verifică dacă o valoare este mai mare sau egală decât
alta
LIKE Verifică dacă valoarea unui câmp corespunde unui
tipar.
Exemplu: pentru atributul NumeFz criteriul de
selecţie LIKE ”SC *” va determina
afişarea tuturor furnizorilor al căror nume
începe cu SC. Simbolul * înlocuieşte un
şir de caractere de orice dimensiune.
BETWEEN
val1 AND val2
Verifică dacă valoarea unui câmp se află în intervalul
val1 şi val2.
Exemplu: pentru atributul Pret criteriul de selecţie
BETWEEN 100 AND 700 va determina
afişarea mărfurilor ce au pretul cuprins
între 100 şi 700.
Logici
NOT Introduce o negaţie.
Exemplu: pentru atributul DenMarfa criteriul de selecţie
NOT “portocale” afişează toate mărfurile mai puţin
portocalele.
AND Efectuează conjuncţia a două valori.
OR Efectuează disjuncţia a două valori.
IMP Operatorul “implică”.
EQV Verifică echivalenţa a două valori.
Alţi operatori
IN precizează mulţimea de valori admise pentru un atribut;
Exemplu: pentru atributul Localitate se poate impune
criteriul de selecţie IN (“Bucureşti”, “Ploieşti”, “Arad”)
IS NULL selectează înregistrările care nu au introduse valori;
Exemplu: pentru atributul DataScad criteriul de selecţie IS
NULL va determina afişarea înregistrărilor pentru
care data scadenţei nu este completată.
FUNCŢIILE
Funcţiile utilizate în construirea expresiilor Access 2007 pot fi de natură:
Dată calendaristică
DATE() returnează data curentă;
NOW() returnează data şi ora curentă;
MONTH(dată
calendaristică)
extrage numărul lunii dintr-o dată calendaristică,
specificată ca argument.
YEAR(data
calendaristica)
extrage anul dintr-o data calendaristică, specificată ca
argument.
FORMAT afişează într-un anumit format o expresie de tip dată
calendaristică, numerică, memo sau text.
DATEPART extrage o informaţie calendaristică (zi, luna, trimestru,
an) dintr-o dată calendaristică.
WEEKDAY extrage numărul zilei din săptămână aferent unei date
calendaristice
FORMAT - afişează într-un anumit format o expresie de tip dată calendaristica, numerică,
memo sau text.
Sintaxa:
FORMAT(expresie [, format] [, prima-zi-a-sapt] [, prima-sapt-din-an])
unde:
prima-zi-a-sapt este un argument opţional ce poate lua valorile:
1 atunci când se consideră prima zi a săptămânii Duminica (valoare implicită)
2 atunci când se consideră prima zi a săptămânii Luni.
3 atunci când se consideră prima zi a săptămânii Marţi.
…
7 atunci când se consideră prima zi a săptămânii Sâmbăta.
prima-sapt-din-an este un argument opţional ce poate lua valorile:
1 atunci prima săptămână este considerată cea care include ziua de 1 Ianuarie, (valoare
implicită)
2 atunci prima săptămână este considerată, cea care include cel puţin 4 zile calendaristice.
3 atunci prima săptămână este considerată, cea care include 7 zile calendaristice.
Exemple: Format(data calendaristica, „mmm”) – afişează primele 3 caractere ale lunii, din data
calendaristică specificată în argument.
Format(Datafact, „q”) –afişează trimestrul asociat datei de factură.
DATEPART - extrage o informaţie calendaristică (ziua, saptămâna, luna, trimestrul, anul) dintr-
o dată calendaristică.
Sintaxa:
Datepart(interval, datacalendaristică [, prima-zi-a-sapt] [, prima-sapt-din-an]) unde:
interval poate lua valorile
yyyy – specificarea anului
q – trimestrul
m - luna
w - ziua din săptămână
ww - săptămâna din an
prima-zi-a-sapt, prima-sapt-din-an – sunt argumente opţionale care au aceeaşi semnificaţie cu
cele prezentate în funcţia Format.
Exemple: Datepart(„q”,Datafact)=1 extrage primul trimestru din valorile asociate câmpului
Datafact..
WEEKDAY - returnează un număr ce reprezintă ziua din săptămână asociată datei
calendaristice specificate în argumentul său.
Sintaxa:
WEEKDAY(data calendaristica [, prima-zi-a-sapt])
unde:
prima-zi-a-sapt este un argument opţional ce poate lua valorile:
1 atunci când se consideră prima zi a săptămânii Duminica (valoare implicită)
2 atunci când se consideră prima zi a săptămânii Luni.
3 atunci când se consideră prima zi a săptămânii Marţi.
…
7 atunci când se consideră prima zi a săptămânii Sâmbăta.
Exemple: Weekday(Datafact,2)=6, această condiţie a fost impusă la nivelul câmpului Criteria şi
va determina selecţia facturilor care au fost emise Sâmbăta.
Text
LEN (X) returneză lungimea unui şir.
TRIM (X) elimina spaţiile de la începutul şi sfarşitul unui şir.
LEFT (X,n) returnează primele n caractere extrase din stanga unui
şir
RIGHT(X,n) returnează primele n caractere extrase din dreapta
unui şir
MID(X, start, n) returnează n caractere, începand de la un punct de
start, dintr-un şir
STR(X) converteşte numărul specificat în argument într-un şir
de caractere
Matematice
ABS (X) returneză valoarea absolută a valorii numerice
specificate
INT (X) returnează partea întreagă dintr-un număr
ROUND(X, n) rotunjeşte o valoare specificată la un număr precizat de
zecimale.
Financiare
PV() returneză valoarea actuală a unei anuităţi plătite în rate
periodice egale
RATE() calculează rata dobanzii lunare pentru un împrumut
PMT() Calculează plata lunară pentru un împrumut bazat pe
plăţi constante şi o rată constantă a dobânzii
SLN() Returnează amortizarea liniară a unui mijloc fix pe o
anumită perioadă.
Alte funcţii
IIF(condiţie, Valoare-adevar,Valoare-fals) – returnează Valoare-adevăr dacă condiţia este
adevărată, altfel Valoare-fals.
Exemplu: ADAOS: IIF(PRET >100, PRET*10/100, PRET*5%) defineşte un câmp calculat
ADAOS cu valori de 10% din preţ, pentru mărfurile ce au preţul mai mare de 100 şi valori de
5% din preţ, pentru mărfurile ce au preţul mai mic sau egal cu 100.
CONSTANTELE
Numerice (ex: 200,0)
Text (ex: „Bucureşti”,”SC ALFA SRL”)
Dată calendaristice(ex: #01/03/2009#)
5.5. Crearea expresiilor cu Expression Builder
Expression Builder permite crearea de expresii de calcul simple sau complicate doar cu ajutorul
mouse-ului. El poate fi lansat în execuţie oriunde se poate introduce o expresie, fie alegând din
meniul contextual comanda Build, fie selectând din meniul Design comanda Builder -
.
Expression Builder se prezintă sub forma unei cutii de dialog structurată în două părţi. Zona
superioară include un câmp de editare în care va fi scrisă expresia de calcul, precum şi butoane
pentru introducerea rapidă a operatorilor aritmetici, logici, de comparaţie şi de concatenare.
Zona inferioară este organizată la rândul ei pe 3 coloane, care includ obiectele ce ar putea
intra în structura unei expresii: tabele, interogări, formulare, rapoarte, funcţii, constante,
operatori.
Figura 5. 3 Definirea expresiilor de calcul prin caseta de dialog
Expression Builder
5.6. Proprietăţile unei interogări
Orice interogare Access este caracterizată de o serie de proprietăţi, descrise într-o formă
sumară mai jos:
Description: utilizatorul poate realiza o descriere a interogării de maximum 255 caractere.
Output All Fields: această proprietate asociată cu valoarea “Yes” va introduce în rezultatele
interogării toate câmpurile tabelelor/interogărilor din grila QBE.
Top Values: returnează numai primele n sau n% înregistrări.
Unique Values: această proprietate asociată cu valoarea “Yes” returnează numai valorile unice
pentru câmpurile din grila QBE.
Unique records: valoarea “Yes”, impusă acestei proprietăţi, va determina afişarea doar a
înregistrărilor unice din cadrul sursei de date.
Source Database: permite specificarea unei baze de date externe care conţine tabelele şi
interogările sursă. Valoarea implicită este baza de date curentă.
Source Connect String: numele şi versiunea aplicatiei în care a fost creată baza de date
externă.
Record Locks: proprietatea este utilă pentru sistemele multiuser şi specifică modul în care
sunt blocate datele în timpul execuţiei interogării.
ODBC Timeout: timpul, în secunde, în care se întrerupe execuţia interogării dacă serverul
ODBC nu răspunde.
Filter: stabileşte un criteriu în funcţie de care vor fi afişate înregistrările în fereastra Datasheet
View.
Filter on Load: setată cu “Yes” activează filtrul definit în proprietatea Filter.
Order By: stabileşte un criteriu în funcţie de care vor fi ordonate înregistrările.
Order By On Load: setată cu “Yes” activează criteriul de ordonare definit în proprietatea
Order By.
Alături de proprietăţile specificate, pentru fiecare obiect ce compune o interogare / tabele,
interogări sau câmpuri, pot fi stabilite proprietăţile:
Alias: permite stabilirea unui nume alternativ, temporar pentru un tabel.
Source:este asemănătoare opţiunilor Source Database şi Source Connect String. Dacă
interogarea utilizează tabele din baze de date externe, se stabileşte această proprietate pentru
fiecare tabel în parte.
De asemenea, fiecare câmp din grila QBE dispune
de o serie de proprietăţi, descrise în paginile
General şi Lookup:
Description: conţine o descriere a
câmpului, de maximum 255 caractere.
Format: permite definirea formatului folosit la afişarea şi tipărirea datelor din câmpul
respectiv.
Input Mask: permite definirea unui format pentru introducerea datelor.
Caption: eticheta sub care va apărea câmpul în modul Datasheet View sau pe un formular.
Observaţie: Pentru acelaşi câmp, se pot stabili proprietăţi diferite atunci când este folosit în
interogări diferite.
5.7. Operaţii asupra unei interogări
Operaţiile care se pot efectua asupra interogărilor pot fi de utilizare (executarea interogării),
salvare şi modificare a acestora.
Executarea unei interogări se poate realiza în unul din următoarele moduri:
selectând butonul RUN din
meniul Design.
prin selectarea butonului
VIEW din meniul Design.
prin selectarea opţiunii
DATASHEET VIEW din
meniul Design-View.
Salvarea interogării se poate realiza astfel:
prin opţiunea SAVE a meniului butonului Office
apelarea butonului , din bara de comenzi rapide.
închizând fereastra Select Query, utilizatorul este întrebat dacă doreşte salvarea
obiectului creat, specificând numele acestuia.
Modificarea unei interogări.
Realizarea acestei operaţii este permisă după ce interogarea a fost deschisă în modul DESIGN.
Modificarea interogării poate presupune ştergerea unor câmpuri din linia Field, modificarea unor
condiţii specificate în linia Criteria, extinderea sursei de date prin utilizarea opţiunii Show
Table, etc. Pentru verificarea corectitudinii modificărilor realizate se va executa interogarea.
5.8. Exemple de interogări de selecţie
Exemplu: Să se afişeze în ordine cronologică facturile emise în ultimele 30 de zile de furnizorii
din Bucureşti.
Figura 5. 4 Proiectarea unei interogări de selecţie
Pentru a răspunde cerinţelor exemplului propus, figura 5.4 prezintă modul de proiectare a
interogării de selecţie:
pe linia SORT, pentru câmpul Datafact se stabileşte clauza Ascending pentru a realiza
afişarea în ordine cronologică a facturilor,
pe linia CRITERIA condiţiile impuse sunt pentru atributele:
o Localitate - utilizând constanta „Bucureşti”
o Datafact – folosind operatorul BETWEEN pentru ca valorile sale să fie cuprinse
între cea de-a 30 zi faţă de data curentă şi data curentă.
Executarea interogării:
Figura 5. 5 Rezultatul unei interogări de selecţie
Exemplu: Să se afişeze furnizorii (doar o singură dată) care au emis facturi în zilele de week-end
ale anului 2009.
Figura 5. 6. Exemplu de interogare de selecţie
Observaţie.
Pentru identificarea zilelor de week-end s-a folosit funcţia WEEKDAY care returnează numărul
corespunzător fiecărei zile a săptămânii. Condiţia impusă pe linia Criteria:
Weekday([Datafact;2)=6 or Weekday([Datafact;2)=7 identifică zilele de Sâmbăta şi Duminică
(a 6a sau a 7a zi din săptămană, atunci când prima zi a săptămânii este Luni – argumentul 2 al
funcţiei Weekday).
Numele furnizorilor pot apărea de mai multe ori în lista de afişare, deoarece un furnizor emite, la
date calendaristice diferite, mai multe facturi. Pentru eliminarea duplicatelor se impune setarea
proprietăţii Unique Values: Yes din caseta Property Sheet.
5.9. Câmpuri calculate în interogări de selecţie
Interogările de selecţie pot include şi câmpuri calculate. Pentru a defini un câmp calculat într-
o interogare se tastează numele acestuia într-o nouă coloană din grila QBE, se adaugă două
puncte: şi apoi se completează expresia dorită.
Exemplu: Să se afişeze pentru mărfurile facturate, valoarea, TVA-ul şi adaosul comercial, ştiind
că acesta se acordă în procent de 10% pentru valori mai mari de 1000 şi de 5% pentru celelalte
valori.
Figura 5. 7 Exemplu de interogare de selecţie cu câmpuri calculate
Observaţie.
Exemplul din figura 5.7 impune utilizatorului definirea a trei câmpuri calculabile: valoare, TVA
şi adaos comercial. Dintre acestea, primele două câmpuri, se bazează pe o expresie de calcul de
forma - Câmp_calculat:[atribut1]* [atribut2].
Valoare:[cantitatefact]*[pretfact]; TVA:[Valoare]*[COTATVA]
Pentru cel de-al treilea câmp, adaosul comercial, s-a utilizat funcţia IIF: Adaos_comercial:
IIF([Valoare]>1000;[valoare]*10/100;[valoare]*5/100)
care va permite pentru valori mai mari de 1000, adaosul să reprezinte un procent de 10% din
valoare, iar pentru celelalte situaţii un procent de 5%.
5.10. Interogări de selecţie parametrizate
Interogările de selecţie exemplificate până în acest moment au fost construite pe baza unor
condiţii clar specificate astfel încât rezultatul acestora a fost acelaşi în orice moment al execuţiei
lor. Adesea, însă utilizatorii au nevoie de interogări al căror criteriu de selecţie să fie specificat la
nivel general, pentru a-l particulariza în funcţie de necesităţi, ori de câte ori execută interogarea.
O astfel de interogare se caracterizează prin definirea unui parametru, altfel spus un mesaj
încadrat între paranteze drepte, ce poate fi integrat în cadrul formulelor pentru câmpurile
calculate sau în cadrul criteriilor de selecţie, pe linia Criteria pentru câmpurile dorite. La
momentul execuţiei interogării, într-o fereastră de dialog se afişează mesajul definit drept
parametru.
Exemplu: Să se afişeze facturile emise de un furnizor specificat de utilizator.
Figura 5. 8 Exemplu de interogare de selecţie parametrizată
Figura 5. 9 Rezultatul interogării de selecţie parametrizată
Observaţie: Exemplul enunţat impune definirea unui parametru asociat numelui furnizorului,
reprezentat de un mesaj încadrat între paranteze drepte - [Introduceţi numele furnizorului:] - pe
linia Criteria. În momentul execuţiei acestei interogări, Access 2007 afişează caseta de dialog
Enter Parameter Value, în care utilizatorul va introduce numele furnizorului a căror facturi
doreşte să le vizualizeze. Ori de câte ori se va executa această interogare, utilizatorul trebuie să
introducă, în funcţie de necesităţi, numele furnizorului şi, ulterior, se vor afişa facturile asociate
acestuia.
5.11. Interogări de sintetizare a datelor
Access permite realizarea unor interogări prin intermediul cărora se pot aplica funcţii
totalizatoare (SUM, COUNT, AVG, MIN, MAX, etc) unor înregistrări grupate după criterii
prestabilite. Pentru a realiza o interogare de sintetizare a datelor se va proiecta o interogare de
selecţie aducându-se în grila QBE câmpurile necesare şi eventualele câmpuri calculate, după care
se va apăsa butonul TOTALS - din bara cu instrumente. Ca rezultat al acestei operaţii, în grila
QBE apare un nou rând Total la nivelul căruia utilizatorul va specifica câmpurile de grupare,
prin clauza Group By şi funcţiile agregat ce vor putea returna totalul, media, minimul sau
maximul unor grupuri de tupluri.
Paşii de creare a unei interogări de sintetizare a datelor:
1. Activarea meniului CREATE.
2. Alegerea opţiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE (tabele+interogări). Utilizatorul va
selecta obiectul sursă şi prin intermediul butonului Add îl va adăuga în fereastra Select
Query. După ce s-a precizat sursa de date, caseta Show Table se va închide prin butonul
Close.
4. Proiectarea grilei QBE prin:
alegerea câmpurilor care vor forma interogarea.
Selectarea butonului TOTALS - care va determina apariţia unui noi linii
TOTAL în grila QBE. La nivelul acestei linii, utilizatorul va stabili câmpurile de
grupare (prin clauza GROUP BY) şi funcțiile totalizatoare (SUM, MIN, MAX,
AVG, COUNT, etc). Fiecare câmp selectat în grila ferestrei QBE trebuie să aibă
specificată o opţiune pe linia TOTAL, iar aceste opţiuni pot fi:
o Group By – folosită pentru a defini grupurile de înregistrări asupra cărora se vor
aplica funcţiile agregat (totalizatoare).
o Count – funcţie agregat folosită pentru a număra înregistrările dintr-un grup ale
căror valori sunt nenule.
o Sum – funcţie agregat folosită pentru a calcula suma valorilor unui câmp, la
nivelul fiecărui grup.
o Min - funcţie agregat folosită pentru a calcula valoarea minimă a unui câmp, la
nivelul fiecărui grup.
o Max - funcţie agregat folosită pentru a calcula valoarea maximă a unui câmp, la
nivelul fiecărui grup.
o First - funcţie agregat folosită pentru a afla prima valoare a unui câmp, la nivelul
fiecărui grup.
o Last- funcţie agregat folosită pentru a afla ultima valoare a unui câmp, la nivelul
fiecărui grup.
o Avg - funcţie agregat folosită pentru a calcula valoarea medie a unui câmp, la
nivelul fiecărui grup.
o StDev - funcţie agregat ce calculează deviaţia standard a valorilor unui câmp, la
nivelul fiecărui grup. Deviaţia standard este unestimator statistic al dispersiei
distribuţiei valorilor unui câmp.
o Var - funcţie agregat ce calculează dispersia valorilor unui câmp, la nivelul
fiecărui grup.
o Expression – este folosită pentru a calcula alte totaluri decât cele oferite de
funcţiile agregat prezentate mai sus, prin intermediul unor expresii introduse de
utilizator.
o Where – clauză utilizată pentru a defini criterii de selecţie pe linia CRITERIA.
definirea criteriilor de selecţie a datelor pe linia CRITERIA, prin utilizarea unor funcţii,
operatori specifici ACCESS 2007.
Exemplu: Să se afişeze valoarea totală a facturilor emise în fiecare lună a anului 2009, de
furnizorii din Bucureşti şi Arad.
Figura 5. 10 Exemplu de interogare de sintetizare a datelor
Observaţie: Valorile asociate câmpurilor An şi Localitate pentru care s-au impus criterii de
selecţie, nu vor putea fi vizualizate (casete devalidate pe linia Show).
Exemplu: Să se afişeze în ordine alfabetica furnizorii care au emis mai mult de 2 facturi în primul
trimestru al anului 2009.
Figura 5. 11 Exemplu interogare de sintetizare a datelor
5.12. Interogări de analiză încrucisată (crosstab)
Interogările de tip tabel încrucişat sunt extrem de utile în scopul analizei multidimensionale a
datelor permiţând obţinerea unor situaţii sintetice asemănătoare tabelelor pivot specifice
procesoarelor de tabele (Microsoft EXCEL, LOTUS 123).
Paşi de creare a unei interogări de analiză încrucişată:
1. Activarea meniului CREATE.
2. Alegerea opţiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE (tabele, interogări). Utilizatorul va
selecta obiectul sursă şi prin intermediul butonului Add îl va adăuga în fereastra Select
Query. După ce s-a precizat sursa de date, caseta Show Table se va închide prin butonul
CLOSE.
4. Proiectarea grilei QBE prin selectarea câmpurile dorite pentru afişare şi a câmpurilor pentru
care se vor impune restricţii.
5. Din meniul DESIGN se va selecta opţiunea CROSSTAB, ce va avea ca efect afişarea
liniilor Total şi Crosstab.
6. Se va specifica modul de grupare a datelor (prin clauza GROUP BY), respectiv funcţia
totalizatoare în linia TOTAL.
7. În linia CROSSTAB se va opta pt Row Heading în cazul câmpurilor ce vor fi afişate pe
liniile tabelului, Column Heading pentru câmpul ce va fi afişat pe verticală şi VALUE
pentru valorile ce vor fi afişate la intersecţia liniilor cu coloanele. Este permisă existenţa mai
multor câmpuri ordonate pe orizontală (Row Heading), dar a unui singur câmp Column
Heading şi a unui singur câmp Value.
Exemplu: Să se afişeze aprovizionările realizate de firmă de la începutul anului 2009 pentru
fiecare furnizor, în fiecare localitate.
Figura 5. 12 Exemplu de interogare de analiză încrucişată
Exemplu: Să se afişeze valoarea vânzărilor realizate de firmă în anul 2009, din fiecare marfă, în
fiecare trimestru.
Figura 5. 13 Exemplu de interogare de analiză încrucişată
Figura 5. 14 Rezultatul interogării de analiză încrucişată
Observaţie.
Interogarea nu afişează coloanele aferente trimestrelor anului 2009 în care nu s-a emis nici o
factură. Acest aspect conduce la inconveniente în cazul în care se doreşte elaborarea unui raport
având ca sursă interogarea. Pentru afişarea tuturor valorilor asociate trimestrelor în proprietatea
Column Headings a casetei Query Propreties se specifică valorile „TRIMESTRUL1”,
„TRIMESTRUL2”, „TRIMESTRUL3”, „TRIMESTRUL4”.
5.13. Interogări de acţiune
Access pune la dispoziţia utilizatorilor o categorie distinctă de interogări care permit manipularea
şi actualizarea înregistrărilor.
5.13.1. Interogări pentru crearea de noi tabele (Make Table Query)
Acest tip de interogare permite crea de noi tabele pe baza înregistrărilor din tabelele deja
existente şi presupune realizarea următorilor PAŞI:
1. Activarea meniului CREATE.
2. Alegerea opţiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE (tabele+interogări).
4. Proiectarea grilei QBE prin selectarea câmpurile ce se doresc a fi incluse în structura
noului tabel şi definirea restricţiilor, în linia Criteria, ce se impun din contextul
problemei.
5. Alegerea opţiunii Make Table, din meniul DESIGN, iar în caseta de dialog Make Table
se va specifica numele noului tabel.
6. Lansarea în execuţie a interogării prin selecţia comenzii RUN sau (!).
Observaţie.
Trebuie menţionat că tabelul rezultant va moşteni toate tipurile de date şi dimensiunile
câmpurilor din tabelul sursă.
Exemplu: Să se creeze un nou tabel „Marfuri Cal I”, care va conţine mărfurile de calitatea 1.
Figura 5. 15 Exemplu interogare de acţiune – de tip Make Table
5.13.2. Interogări pentru actualizarea datelor (Update Query)
Acest tip de interogare permite modificarea valorilor datelor din unul sau mai multe câmpuri
ce satisfac restricţiile impuse de utilizator.
Paşi de realizare a interogării de acţiune de tip UPDATE:
1. Activarea meniului CREATE.
2. Alegerea optiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE (tabele+interogări).
4. Proiectarea grilei QBE prin selectarea câmpurilor care vor fi actualizate şi eventual a celor
care fac obiectul restricţiilor.
5. Selectia comenzii UPDATE, din meniul DESIGN, ce are ca efect apariţia unei noi linii
UPDATE TO în care utilizatorul va preciza formula de calcul sau valoarea dorită pentru
actualizare.
Exemplu: Să se micşoreze cu 10% preţul tuturor mărfurilor facturate.
Figura 5. 16 Exemplu interogare de acţiune – de tip Update
5.13.3. Interogări pentru adăugarea de noi înregistrări (Append Query)
Oferă utilizatorilor posibilitatea inserării de noi înregistrări în tabele pornind de la
înregistrările curente.
Paşi de realizare a interogării de acţiune de tip APPEND:
1. Activarea meniului CREATE.
2. Alegerea opţiunii QUERY DESIGN.
3. Selectarea sursei de date din fereastra SHOW TABLE (tabele+interogări).
4. Proiectarea grilei QBE prin selectarea câmpurilor ce fac parte din structura tabelului ce
se doreşte a fi actualizat şi definirea restricţiilor, în linia CRITERIA, ce se impun din
contextul problemei.
5. Alegerea comenzii APPEND, din meniul DESIGN, în care se va selecta numele
tabelului în care dorim adăugarea.
Figura 5. 17 Exemplu interogare de acţiune – de tip Append
5.13.4. Interogări pentru ştergerea înregistrărilor (Delete Query)
Acest tip de interogare oferă posibilitatea eliminării mai multor înregistrări pe baza unor
condiţii impuse de utilizator. Se vor urma aceeaşi paşii descrişi în interogările precedente cu
observaţia că din meniul Design se va selecta opţiunea DELETE.
Exemplu: Să se şteargă toţi furnizorii din provincie.
Figura 5. 18 Exemplu interogare de acţiune – de tip Delete
CAPITOLUL 6. OBIECTE DE TIP FORMULAR
6.1. Definirea şi clasificarea formularelor
Formularul (Form) este un obiect din cadrul unei baze de date ce permite introducerea
datelor în tabelele de date, afişarea acestora, controlul actualizării datelor introduse în tabele sau
dirijarea prelucrărilor la nivelul unei aplicaţii.
Proiectarea şi utilizarea formularelor permite:
Crearea unei interfeţe prietenoase pentru utilizatori, realizată prin intermediul diferitelor
controale (butoane, casete text etc.) sau altor elemente grafice încorporate;
Vizualizarea datelor din tabelele de date sau din interogări;
Actualizarea concomitentă a mai multor tabele prin intermediul subformularelor;
Introducerea unor reguli de validare suplimentare în afara celor definite la nivelul tabelelor.
În funcţie de sursa de date formularele se clasifică în:
Formulare legate (bound) - permit afişarea sau actualizarea datelor din tabele;
Formulare nelegate (unbound) - destinate afişării sau editării unor date care nu sunt
stocate în tabele (mesaje, informaţii despre sistem, date necesare unui raport etc.).
În funcţie de modul de afişare formularele se clasifică în:
Single Form –afişează o singură înregistrare la un moment dat.
Continuous Form - permit afişarea concomitentă a mai multor înregistrări.
Datasheet From - afişează mai multe înregistrări în format tabelar.
Chart Form – permit afişarea datelor sub formă de grafice.
6.2. Vizualizarea formularelor
Vizualizarea formularelor se realizează prin selectarea butonului VIEW şi apoi a uneia din
opţiunile afişate aşa cum rezultă din figura 6.1.
Figura 6. 1
Opţiuni de afişare
a unui formular
Modul Form
View permite
afişarea
tabelară.
Modul
Datasheet
View permite
afişare sub
forma unei foi
de date,
asemănător cu
Excel.
Modul PivotTable View
permite afişare sub forma unei
tabele pivot.
Modul PivotChart View
permite afişare sub forma unui
grafic pivot.
Layout View permite
afişare sub forma unei machete
Design View permite afişare în
format de proiectare.
6.3. Controalele formularelor
Controalele sunt obiecte grafice (elemente vizuale) ce sunt incluse în formulare sau rapoarte,
în scopul editării/afişării datelor sau executării unor acţiuni (de exemplu.: etichete, casete text,
butoane etc.). Adăugarea controalelor se poate face numai în etapele de creare sau modificare a
formularelor, astfel:
a) Din meniul Design – Controls se selectează controlul dorit;
b) Se descrie, cu ajutorul mouse-lui, o zonă dreptunghiulară pe suprafaţa formularului, definind
astfel poziţia şi dimensiunea noului control.
Figura 6. 2. Principalele controale disponibile în meniul Controls
În cadrul unui formular pot fi inserate trei tipuri de controale:
nelegate;
legate;
calculate.
a. Controale nelegate
Un control nelegat este utilizat pentru a furniza informaţii care nu sunt stocate în baza de date.
Exemple de astfel de controale pot fi: o etichetă, un buton de comandă, o imagine inserată pe
fundalul formularului.
b. Controale legate
Controalele legate sunt folosite pentru a afişa sau edita informaţii din baza de date şi în
general acestora le corespunde câte un câmp dintr-un tabel sau dintr-o interogare. Aceste
controale vor moşteni multe dintre proprietăţile câmpului corespunzător, dar acestea pot fi
ulterior modificate prin intermediul paginii de proprietăţi ale controlului.
Inserarea unui control legat pe un formular presupune parcurgerea următorilor paşi:
1. Afişarea câmpurilor sursei de date, selectând din meniul Design – Add Existing Fields.
2. Selectarea câmpului sau grupului de câmpuri din această listă şi glisarea acestora în
formular.
c. Controale calculate
Controalele calculate folosesc expresii de calcul pentru generarea rezultatelor. Aceste expresii
de calcul se introduc în proprietatea Control Source a oricărui control. Spre exemplu, dacă în
formularul Factura se doreşte afişarea unui câmp Total factura, expresia folosită poate fi: =
Sum([Valoare])
Această expresie poate fi introdusă direct în proprietatea Control Source sau poate fi construită
cu Expression Builder, selectând butonul (…).
Principalele controalele disponibile în meniul Controls sunt prezentate în tabelul 6.1.
Tabel 6. 1. Tipuri de controale
Buton Control Descriere
Selector
(Select Objects)
Instrument folosit la proiectarea controalelor
(selecţie, repoziţionare, redimensionare etc.)
Asistenţi
(Control Wizards)
Activează/dezactivează utilitarele Wizards
folosite la generarea unor controale mai
complexe (casete combinate, casete listă,
grupuri de opţiune etc.)
Eticheta
(Label)
Control cu conţinut fix, folosit pentru
afişarea unor mesaje. În general, Access
generează câte o etichetă pentru majoritatea
controalelor definite de utilizator.
Caseta text
(Text Box)
Control utilizat pentru afişarea şi editarea
datelor.
Buton Control Descriere
Butonul de comandă
(Command Button)
Serveşte la declanşarea unor acţiuni
predefinite (închidere formular, salvare
înregistrare etc) sau a unor acţiuni definite de
utilizator prin proceduri VBA.
Caseta listă
(List Box)
Permite selectarea unei valori dintr-o listă.
Caseta combinată
(Combo Box)
Îmbină proprietăţile unei casete text cu cele
ale unei casete de tip listă (permite atât
editarea unei valori, cât şi selectarea acesteia
dintr-o listă derulantă).
Butonul-comutator (Toggle Button),
Butonul de opţiune
(Option Button),
Caseta de validare
(Check Box)
Sunt controale folosite pentru editarea unor
valori de tip logic (Yes/No, On/Off,
True/False).
Grupul de opţiune
(Option Group)
Este un control container folosit pentru
afişarea unui set de alternative şi poate grupa
mai multe tipuri de controale (buton de
opţiune, casetă de validare etc.).
Delimitator de
pagină
(Page Break)
Controlul Page Break împarte formularul în
mai multe pagini care pot fi vizualizate cu
ajutorul tastelor <PageUp> şi <PageDown>.
Poate fi, de asemenea, folosit pentru salt la
pagină nouă, în cazul tipăririi formularului.
Buton Control Descriere
Control cu pagini
(Control Tab)
Controlul de tip Tab este un control
container ce permite gruparea altor controale
în mai multe pagini, atunci când formularul
conţine un număr prea mare de controale. Un
exemplu de utilizare a acestui control este
reprezentat mai jos:
Dreptunghi
(Rectangle)
Linie (Line)
Controalele servesc la trasarea diverselor
figuri geometrice.
Imagine
(Image)
Permite afişarea conţinutului unor fişiere
grafice (.bmp, .gif, .wmf, .pcx, etc.) pe
fundalul formularului.
Cadru pentru
obiecte neataşate
(Unbound Object
Frame)
Control ce va conţine un obiect (grafic,
multimedia, document etc.), importat dintr-o
altă aplicaţie Windows (Word, Excel, Paint,
Sound Recorder etc.) prin tehnologia OLE
(Object Linking and Embedding).
Cadru pentru
obiecte legate
(Bound Object
Frame)
Conţine un obiect stocat într-un câmp de tip
OLE din tabelul sursă.
Subformular/Subra
port
(Subform)
Control care permite definirea unui
subformular/subraport în cadrul
formularului/raportului curent.
Alte controale
(More Controls)
Afişează alte controale înregistrate, ce pot fi
ataşate formularului (controale ActiveX etc.)
Grafic Control de tip grafic utilizat pentru afişarea
datele într-o formă grafică.
Hiperlink Control care creează o legatură către o pagina
WEB, o imagine, o adresa e-mail sau un
Buton Control Descriere
program.
Attachement Control care gestionează fişierele ataşate
pentru datele de tip attachment (din structura
unei tabele)
Un control selectat poate fi mutat, redimensionat şi/sau şters. Poziţionarea unui control selectat
se poate face fie folosind combinaţiile de taste <CTRL> + / / / , fie cu ajutorul
mouse-lui. În acest ultim caz, pointer-ul mouse-lui trebuie deplasat pe marginea controlului până
când va lua forma , după care, folosind tehnica drag and drop, obiectul poate fi mutat. În
mod similar, pentru a muta un singur control dintr-un grup de controale selectate, trebuie
poziţionat mouse-ul pe punctul de mutare, până când pointer-ul va lua forma , după care
controlul poate fi mutat folosind aceeaşi tehnică drag-drop.
Modificarea dimensiunii unui control selectat poate fi realizată fie prin folosirea tastei <SHIFT>
în combinaţie cu una din tastele de direcţionare (, , , ), fie cu ajutorul mouse-lui.
Ştergerea controlului selectat se face cu ajutorul tastei <Delete> .
Din cadrul tabelului anterior, prezentăm şi exemplificăm următoarele tipuri de controale: butonul
de comandă, caseta combinată şi grupul de opţiuni.
Butonul de comandă este un control căruia utilizatorul îi poate asocia una din acţiunile
predefinite descrise în tabelul 6.2.
Tabel 6. 2 Acţiuni predefinite asociate butoanelor de comandă
Categoria de
acţiuni predefinite
Acţiuni predefinite
Navigarea între
înregistrări (Record
Navigation)
căutarea următoarei înregistrări (Find Next)
căutarea unei anumite înregistrări specificată de
utilizator (Find record)
poziţionarea pe prima înregistrare (Go To First
Record)
poziţionarea pe ultima înregistrare (GoTo Last
Record)
poziţionarea pe următoarea înregistrare (Go To
Next Record)
poziţionarea pe înregistrarea anterioară (Go To
Preview Record)
Categoria de
acţiuni predefinite
Acţiuni predefinite
Operaţii asupra
înregistrărilor
(Record
Operations)
adaugă noi înregistrări (Add New Record)
şterge înregistrarea curentă (Delete Record)
imprimă înregistrarea curentă (Print Record)
salvează înregistrarea curentă (Save Record)
Operaţii asupra
formularelor
(Form
Operations)
închide formular (Close Form)
deschide formular (Open Form)
imprimă formular (Print Form)
Operaţii asupra
rapoartelor
(Report
Operations)
deschide raport (Open Report)
previzualizare raport (Preview Report)
imprimă raport (Print Report)
Exemplul de definire a unui buton de comandă care are asociată acţiunea de închidere a unui
formular, presupune parcurgerea următorilor paşi:
1. Alegerea controlului buton de comandă din meniul Design-Controls şi inserarea
lui într-o zonă a formularului.
2. Alegerea acţiunii de închidere formular (Close Form), din categoria Form Operations.
Figura 6. 3 Fereastra Command Button - alegerea unei acţiuni
predefinte pentru butonul de comandă
3. Selectarea unui text (Text) sau a unei imagini (Picture) pe fundalul butonului.
FFigura 6. 4
Fereastra Command Button – selectarea unui text sau
a unei imagini pe fundalul butonului
4. Precizarea unui nume pentru controlul de tip buton de comandă.
Figura 6. 5 Fereastra Command Button – specificarea unui nume
pentru butonul de comandă
Caseta combinată (Combo Box)
O casetă combinată este un obiect proiectat cu scopul:
1. De a defini o listă derulantă cu valori ce provin dintr-o sursă de date (tabelele sau
interogările bazei de date).
2. De a defini o listă derulantă cu valori specificate de utilizator.
3. De a căuta o înregistrare în sursa formularului în care se regăseşte acest control după
valoarea aleasă de utilizator dintr-o listă derulantă.
Figura 6. 6
Fereastra Combo Box Wizard
Exemplu de definire a unei casete combinată care are drept scop căutarea unei înregistrări în
sursa formularului Mărfuri şi presupune parcurgerea următorilor paşi:
1. Alegerea controlului casetă combinată din meniul Design-Controls şi inserarea lui
într-o zonă a formularului.
2. Alegerea celei de-a 3 opţiuni „Find a record on my form base on the value I selected in
my combo box” pentru scopul ales: căutarea unei înregistrări.
Figura 6. 7 Crearea unei casete combinate – paşii 2-3
3. Alegerea câmpurilor care vor da valorile în lista derulantă.
4. Ajustarea lăţimii listei derulante şi selectarea opţiunii Hide key column, astfel încât
căutarea să se realizeze doar după valorile care vor apărea în lista derulantă (Denumire
Marfa).
5. Specificarea unei etichete pentru controlul proiectat.
Figura 6. 8 Crearea unei casete combinate – paşii 4-5
Rezultatul final este redat în figura 6.9, în care se poate observa caseta combinată definită, cu
ajutorul căreia utilizatorul va putea căuta o înregistrare în sursa formularului Marfuri, după
valoarea aleasă din lista derulantă.
Figura 6. 9 Definirea unei casete combinate
Grupul de opţiuni (Option Group)
Grupul de opţiuni este un control container folosit pentru afişarea unui set de alternative şi
poate grupa mai multe tipuri de controale (buton de opţiune, casetă de validare etc.)
Exemplu de definire a unui grup de opţiuni „Rapoarte Finale” care va conţine două butoane de
opţiune, Balanţa cantitativă şi Balanţa valorică, presupune parcurgerea următorilor paşi:
1. Alegerea controlului grup de opţiuni din meniul Design-Controls şi inserarea lui
într-o zonă a formularului.
2. Specificarea etichetelor „Balanţa cantitativă” şi „Balanţa valorică” pentru fiecare buton
de opţiune.
3. Se alege opţiunea implicită – în cazul nostru, Balanţa cantitativă.
Figura 6. 10 Crearea grupului de opţiuni – paşii 2-3
4. Se alege opţiunea implicită – în cazul nostru, Balanţa cantitativă.
5. Pentru fiecare buton de opţiune se alege o valoare: 1 pentru Balanţa cantitativă şi 2 pentru
Balanţa valorică.
Figura 6. 11 Crearea grupului de opţiuni – paşii 4-5
6. Se solicită de către sistem dacă valorile vor fi salvate şi utilizate mai tarziu sau dacă vor fi
memorate într-un tabel şi dacă da, în care anume câmp.
7. Specificarea tipurilor de controale care vor fi incluse în grupul de opţiuni.
Figura 6. 12 Crearea grupului de opţiuni – paşii 6-7
8. Specificarea unui nume pentru controlul proiectat.
Rezultatul final este redat în figura 6.13, în care se poate observă grupul de opţiuni definit
„Rapoarte Finale”, care include două butoane de opţiuni, cu ajutorul căruia utilizatorul va putea
afişa prin intermediul unui buton de comandă, un raport în funcţie de opţiunea selectată.
Figura 6. 13 Definirea unui grup de opţiuni
6.4. Proprietăţile controalelor
Proprietăţile unui control sunt afişate prin intermediul comenzii Properties apelabilă din
meniul contextual, atunci când controlul respectiv este selectat. Metodele aferente controalelor
sunt grupate în patru categorii (Format, Data, Events, Other) şi sunt disponibile numai prin
intermediul macro-urilor sau modulelor VBA.
Cele mai uzuale proprietăţi sunt:
1. Proprietăţi din categoria Format:
Caption - conţine textul afişat de control;
Visible - determină afişarea sau nu a controlului în timpul execuţiei formularului;
Fore Color - culoarea textului afişat de control;
Font Name - tipul fontului aferent textului din control;
Font Size - dimensiunea fontului;
Picture - specifică numele şi calea fişierului grafic ce va fi afişat în interiorul
controlului (numai pentru butoane şi controale de tip imagine);
Text Align – stabileşte modul de aliniere a textului în interiorul controlului.
2. Proprietăţi din categoria Data:
Control Source - conţine sursa de date a controlului şi poate fi:
Numele unui câmp (pentru controale legate);
O expresie de calcul precedată de semnul "=" (pentru casete text nelegate).
Exemplu: O casetă text ce va afişa valoarea pentru o marfă facturată, pe baza preţului din factură
şi a cantităţii facturate, va conţine în proprietatea CONTROL SOURCE expresia: =[CantFact]
*[Preţfact], unde [CantFact] şi [PreţFact] sunt denumirile a două câmpuri (sau controale) din
formular;
Input Mask - indică formatul folosit la introducerea datelor (numai pentru casete text);
Default value, Validation Rule, Validation Text, au aceeaşi semnificaţie ca şi în cazul
tabelelor;
Enabled - activează sau dezactivează controlul. Un control dezactivat va fi inaccesibil
la execuţia formularului;
Locked - serveşte la protejarea datelor afişate de control (controlul va deveni read-only).
3. Proprietăţi din categoria Event - conţin denumirile funcţiilor, procedurilor eveniment sau
macro-urilor, ce vor fi executate la declanşarea evenimentelor ataşate.
4. Alte (Other) proprietăţi:
Name - conţine numele controlului. La creare, fiecare control primeşte un nume unic, format din
tipul său plus un număr de ordine (exemplu: TextBox5). Utilizatorul poate modifica acest nume,
schimbându-l cu unul mai sugestiv. Controalele legate, generate automat de Wizards, au numele
identice cu denumirile câmpurilor ataşate;
Status Bar Text - specifică mesajul afişat în bara de stare, în momentul selectării controlului;
6.5. Crearea formularelor
SGBD ACCESS 2007 oferă diverse posibilităţi de creare a formularelor, aşa cum rezultă din
panoul Forms prezentat în figura 6.14.
Figura 6. 14 Meniul Forms - Opţiuni de creare a formularelor
O primă variantă de utilizare este realizată prin parcurgerea următorilor paşi:
1. Selectare tabel/interogare utilizat pentru crearea formularului;
2. Acţionarea butonului Create din fereastra bazei de date;
3. Se optează pentru una din variantele de realizare a formularului: Form, Split Form, Multiple
Items, Pivot Chart, Blank Form, More Forms, Form Design;
4. Save;
5. Lansarea în execuţie;
Variantele de creare a formularelor, specificate anterior se execută astfel:
a) Crearearea formularelor în modul FORM
1. Selectarea unui tabel sau interogare (ca sursă a formularului ) din Panoul de navigare
2. Se activează opţiunea CREATE şi apoi butonul Form din grupul Forms
Se crează un formular simplu, tip coloană, ce conţine toate câmpurile de date ale unei
înregistrări, aşa cum rezultă din figura 6.15.
Figura 6. 15 Formular creat cu opţiunea FORM
b) Crearearea formularelor cu SPLIT FORM
1. Selectarea unui tabel sau interogare (ca sursă a formularului ) din Panoul de navigare;
2. Se activează opţiunea CREATE şi apoi butonul Split Form din grupul Forms.
Se crează un formular divizat, ce conţine în partea superioară toate câmpurile de date ale unei
înregistrări, iar în partea inferioară un tabel cu înregistările selectate.
Figura 6. 16 Formular creat cu opţiunea SPLIT FORM
c) Crearearea formularelor cu MULTIPLE ITEMS
1. Selectarea unui tabel sau interogare (ca sursă a formularului) din Panoul de navigare;
2. Se activează opţiunea CREATE şi apoi butonul Multiple Items din grupul Forms.
Se crează un formular cu înregistrări multiple, sub forma unui tabel, aşa cum rezultă din figura
6.17.
Figura 6. 17 Formular creat cu opţiunea MULTIPLE ITEMS
d) Crearearea formularelor cu BLANK FORM
1. Selectarea unui tabel sau interogare (ca sursă a formularului) din Panoul de navigare;
2. Se activează opţiunea CREATE şi apoi butonul Blank Form din grupul Forms.
Se crează un formular vid, ce va conţine numai câmpurile de date selectate de utilizator din
fereastra Field List.
Figura 6. 18 Formular creat cu opţiunea BLANK FORM
e) Crearearea formularelor cu PIVOTCHART
1. Selectarea unui tabel sau interogare (ca sursă a formularului) din Panoul de navigare;
2. Se activează opţiunea CREATE şi apoi butonul PIVOTCHART din grupul Forms.
Se crează un formular de tip grafic, ce va conţine o reprezentare a datelor selectate de utilizator
din fereastra Chart Field List.
Figura 6. 19 Formular creat cu opţiunea PIVOTCHART
f) Crearearea formularelor cu MORE FORMS
Această opţiune oferă patru variante de creare a unui formular aşa cum rezultă din figura 6.21
prin selectarea opţiunilor: Create şi apoi butonul More Form după care una din variantele:
Form Wizard, Datasheet, Modal Dialog, PivotTable.
În activitatea practică se utilizează frecvent varianta FORM WIZARD, deoarece este rapidă
şi eficientă. Ca urmare vom prezenta în continuare paşii de parcurs pentru a creea un formular
utilizând această variantă.
6.5.1. Crearea formularelor în varianta FORM WIZARD
Pentru realizarea unui formular în modul FORM WIZARD se vor parcurge următorii paşi:
1. Se activează opţiunea CREATE din meniul principal;
2. Se alege opţiunea MORE FORMS şi apoi FORM WIZARD;
Figura 6. 20 Crearea formularelor cu opţiunea FORM WIZARD - paşii 1-2
3. Se selectează tabelul sau interogarea (obiect de tip Query) sursă a formularului.
4. Se specifică câmpurile care vor fi incluse în formular şi se activează NEXT.
Figura 6. 21 Crearea formularelor cu opţiunea FORM WIZARD - paşii 3-4
5. Se specifică modalitatea dispunerii informaţiilor (coloană, tabel, foaie de date, aliniate) şi se
activează NEXT.
6. Se alege stilul formularului şi se activează NEXT.
1
2
Figura 6. 22 Crearea formularelor cu opţiunea FORM WIZARD - paşii 5-6
7. Se atribuie un nume formularului.
8. Se specifică modul de vizualizare, acesta putând fi modul de proiectare (Design View) sau
modul în care se pot vizualiza sau actualiza informaţiile şi apoi acţionare FINISH.
Figura 6. 23 Crearea formularelor cu opţiunea FORM WIZARD - paşii 7-8
6.5.2. Crearea formularealor în varianta FORM DESIGN
În această variantă proiectarea formularului este în totalitate în sarcina utilizatorului. Pentru
realizarea unui formular în acest mod se vor parcurge următorii paşi:
1. Se activează opţiunea CREATE din meniul principal;
2. Se alege opţiunea FORM DESIGN;
Figura 6. 24 Crearea formularelor cu opţiunea FORM DESIGN - paşii 1-2
3. Se selectează meniul DESIGN;
4. Se selectează opţiunea ADD EXISTING FIELDS pentru a se afişa lista tuturor surselor
posibile (obiecte de tip tabel sau query) pentru formular. Din acea listă se va alege o anumită
sursă.
Figura 6. 25 Crearea formularelor cu opţiunea FORM DESIGN - paşii 3-4
5. Se selectează câmpurile care vor fi introduse în formular şi glisarea acestora în formular în
locul dorit.
1
2
3
4
Figura 6. 26 Crearea formularelor cu opţiunea FORM DESIGN – pasul 5
6. Se adaugă controalele noi în formular şi se formatează controalelor din formular.
7. Se salvează prin activarea opţiunii SAVE ( ) şi apoi se lansează în execuţie prin
deschiderea formularului în modul de vizualizare Form View.
Figura 6. 27 Formular creat cu opţiunea FORM DESIGN
Un obiect de tip formular are următoarea structură (se poate observa în cadrul figurii
precedente):
Secţiunea Form Header unde se introduc informaţii cu privire la: titlul formularului,
numărul paginii, data întocmirii etc.
Secţiunea Detail în care sunt amplasate câmpurile de date din tabelul/interogarea care stă
la baza creării formularului.
Secţiunea Form Footer unde se introduc comentarii, semnături, numărul paginii, data
întocmirii etc.
5
6
Afişarea secţiunilor se realizează selectând opţiunea Form Header/Footer din meniul
contextual al formularului deschis în modul de vizualizare DESIGN VIEW (figura 6.29)
Figura 6. 28 Structura unui formular
În procesul de culegere a unor date pentru actualizarea bazei de date este recomandat ca
acestea să fie corecte şi complete. În acest sens este bine să se realizeze verificări ale unor
informaţii de legătură între tabele, în sensul că valoarea unui câmp cheie externă dintr-un tabel
trebuie să se regăsească în tabelul unde acest câmp este cheie principală.
Pentru rezolvarea acestei situaţii se pot utiliza casetele cu liste de valori (List Box) sau
casetele combinate (Combo Box). Deoarece se doreşte întocmirea facturilor doar pentru
furnizorii care sunt memoraţi în tabelul FURNIZORI, în cadrul formularului de actualizare a
facturilor (formular FACTURĂ) se va crearea o listă (Combo Box) ce conţine codul furnizorilor,
parcurgându-se următorii paşi:
1. Se afişează formularul FACTURA în modul Design View;
2. Se activează meniul DESIGN;
3. Din cadrul categoriei de opţiuni Control Wizard se selectează un control de tip Combo Box
sau List Box;
4. Se adaugă în formular controlul prin desenarea unui dreptunghi în locaţia aleasă;
Figura 6. 29
Exemplu de creare a unui combo-box - paşii 1-4
5. Se specifică sursa de date pentru control, care poate fi:
a) Tabel;
b) Interogare;
c) Date introduse de utilizator in casetă sau listă.
şi se trece la pasul următor prin apăsarea butonului NEXT;
6. Dacă este cazul se selectează tabelul/interogarea ce conţine valorile din listă sau casetă;
Figura 6. 30 Exemplu de creare a unui combo-box- paşii 5-6
7. Se selectează câmpul (câmpurile) ce conţine valorile pe care le dorim afişate în cadrul
controlului;
8. Se poate defini ordinea de sortare;
1
2
3
4
5
6
Figura 6. 31
Exemplu de creare a unui combo-box - paşii 7-8
9. Se pote realiza redimensionarea lăţimii coloanelor, dacă este cazul;
10. Se precizează dacă:
- se vor afişa valorile coloanei;
- sau se vor stoca într-un câmp al unui tabel şi se specifică acesta.
Figura 6. 32 Exemplu de creare a unui combo-box - paşii 9-10
11. Se va defini eticheta controlului şi se acţionează butonul Finish.
7
8
910
Figura 6. 33 Exemplu de creare a unui combo-box – pasul 11
Proprietăţile controlului Combo Box:
Column Widths – conţine dimensiunea fiecărei coloane din listă - (valorile sunt separate de
caracterul “;”)
List Width - conţine lăţimea totală a listei derulante.
Row Source Type- specifică tipul sursei de date pentru valorile din listă (tabel/interogare, valori
definite de utilizator, realizările unui câmp).
Row Source- conţine denumirea tabelului, a interogării (sunt admise şi fraze SQL Select) sau
valorile predefinte de utilizator (separate de caracterul “;”).
Bound Column – conţine numărul de ordine al coloanei care va actualiza câmpul ataşat
controlului (coloana respectivă poate fi ascunsă).
Pentru exemplu anterior proprietăţile sunt cele specificate în figura 6.34:
Figura 6. 34 Exemplu de setări asociate proprietăţilor unui Combo Box
11
6.6. Formulare cu subformulare
Subformularele sunt create în general pentru anumite tabele dependente (tabele care prezintă
un câmp comun), din cadrul unei relaţii de tip 1-n. Formularul principal are ca sursă tabelul
reprezentând partea „unu” a relaţiei, iar subformularul are ca sursă tabelul ce reprezintă partea
„mai mulţi” a relaţiei.
Crearea unui formular cu subformular permite actualizarea mai multor tabele prin intermediul
unei singure machete (ferestre). Definirea unui subformular presupune înglobarea (includerea)
unui formular în cadrul altui formular, primul devenind subformular, iar al doilea formular
principal.
Spre exemplu pentru o factură care poate conţine mai multe mărfuri, se poate crea un
formular cu subformular pentru a actualiza atât tabelul Factura cât şi tabelul MarfuriFacturate.
Formularul principal şi subformularul sunt legate astfel încât subformularul afişează doar
înregistrările care sunt în corespondenţă cu înregistrarea curentă din formularul principal, în
cazul exemplului nostru doar mărfurile facturate de pe o anumită factură.
Figura 6. 35 Exemplu de formular cu subformular
Există mai multe modalităţi de realizare a unui formular cu subformular, cea mai utilizată
fiind cea de proiectare a formularului principal ca un formular individual şi adăugarea ulterioră a
subformularului.
Realizarea formularului cu subformular impune parcurgerea următorilor paşi:
Formular principal
Subformular
1. Se deschide formularul principal în modul DESIGN VIEW.
2. În secţiunea DETAIL a acestuia se adaugă suformularul. Adăugarea poate să fie făcută prin
tehnica drag&drop (glisare cu mouse-ul) sau cu ajutorul unui control de tip subform/subreport.
3. Se realizează legătura dintre formular şi subformular în cadrul proprietăţilor suformularului în
categoria DATA proprietatea Link Master Fields şi Link Child Fields (în general cu numele
câmpului cheie primară respectiv cheie externă).
Figura 6. 36 Proiectarea formularului cu subformular
6.7. Proprietăţile obiectelor de tip formular
Proprietăţile unui formular pot fi definite de utilizator în momentul proiectării acestui obiect
(deschis în modul Design View) prin selectarea opţiunii PROPERTY SHEET, din meniul
DESIGN. In cadrul ferestrei Property Sheet, proprietăţile formularului sunt structurate în patru
categorii principale:
Format – conţine proprietăţi care vor stabili aspectul formularului: dimensiune, culoare,
imagine pe fundalul formularului etc.
Data – grupează proprietăţile ce acţionează asupra sursei de date determinând filtrarea
înregistrărilor, ordonarea acestora etc.
Event – conţine evenimentele formularului cărora utilizatorul le poate asocia un macro, o
procedură VBA generând anumite acţiuni (spre exemplu: afişarea unui mesaj sau emiterea unui
sunet).
Other – alte proprietăţi ce nu au putut fi încadrate în categoriile amintite (unele dintre ele
având un control asupra ferestrei de afişare a formularului).
1
2
3
Figura 6. 37 Stabilirea proprietăţilor unui formular
Categoria de proprietăţi Format
Categoria de proprietăţi Format conţine elemente de formatare. Printre acestea cele mai folosite
sunt:
Caption este utilizată pentru stabilirea unui titlu afişat pe bara de titlu a ferestrei;
Default View pentru care se poate selecta modul de vizualizare a formularului.
Modurile posibile sunt :
Single Form în care se afişează o singură înregistrare pe pagină;
Continuous Form în care se afişează mai multe înregistrări pe pagină;
Datasheet în care informaţiile din formular se afişează sub formă tabelară.
Record Selectors permite afişarea marcatorului specific fiecărei înregistrări.
Acesta este util în special în modul de afişare Continuous Form.
Picture permite specificarea fişierului afişat pe fundalul formularului;
Navigation Buttons permite afişarea barei de navigare a formularului (dacă
valoarea este YES);
Border Style – specifică tipul bordurii. Opţiunile acestei proprietăţi vor avea
diferite efecte asupra aspectului formularului:
None – formular fără bordură (formularul nu va putea fi redimensionat la
execuţie);
Thin – bordură subţire (formularul nu va putea fi redimensionat);
Sizable– bordura implicită (formularul poate fi redimensionat);
Dialog – bordura subţire (formularul nu poate fi redimensionat, iar bara de titlu va
conţine doar butonul Close).
Categoria de proprietăţi Data
Categoria de proprietăţi Data conţine elemente specifice sursei de date a formularului. Printre
acestea cele mai folosite sunt:
Record Source precizează un tabel, o interogare, ori o frază SQL care va fi sursa
de date a formularului;
1
2
Filter se foloseşte pentru stabilirea unei condiţii-filtru pe care trebuie s-o
îndeplinească datele ce vor fi afişate în formular;
Filter on permite selectarea a două valori: Yes, ceea ce presupune activarea
criteriului specificat în Filter (se aplică datelor) şi No, care anulează acţiunea filtrului;
Order By, care precizează criterii de sortare, în ordinea gradului de generalitate,
cu virgulă între ele;
Figura 6. 38 Fereastra Property Sheet – Proprietăţi din categoria Data
Categoria de proprietăţi Event
Categoria de proprietăţi Event conţine proprietăţi de tip eveniment. În cadrul acestor
proprietăţi se vor specifica denumirile funcţiilor, procedurilor eveniment sau macro-urilor, ce
vor fi executate la declanşarea evenimentelor ataşate. Cele mai uzuale evenimente sunt:
On Current – evenimentul se declanşează în momentul trecerii de la o înregistrare la alta.
Before Update – apare înaintea salvării înregistrării curente în tabel. De obicei
evenimentul este folosit frecvent pentru validarea datelor curente.
On Delete – evenimentul apare înaintea ştergerii înregistrării curente şi poate fi folosit
pentru obţinerea unei confirmări din partea utilizatorului cu privire la această operaţie.
On Open – apare înaintea afişării pe ecran a formularului, la deschiderea acestuia.
On Close – evenimentul se declanşează în momentul închiderii formularului.
On Timer – eveniment care apare la o anumită perioadă de timp stabilită de utilizator
prin proprietatea Timer Interval.
Figura 6. 39 Fereastra Property Sheet – Proprietăţi din categoria Event
Categoria de proprietăţi Other
Categoria de proprietăţi Other conţine alte proprietăţi. Printre acestea cele mai folosite sunt:
Pop Up permite definirea formularului sub forma unei ferestre „pop up” ce va fi afişată
deasupra tuturor ferestrelor din ecran.
Modal permite deschiderea unui formular modal, care va trebui să fie închis ca să se
poată avea acces la celelate ferestre afişate pe ecran. Formularele modale nu permit accesarea
unei alte ferestre atât timp cât sunt deschise.
Cycle permite specificarea acţiunii ce va avea loc în momentul acţionării tastei TAB în
cadrul ultimului câmp din formular. Valorile posibile ale acestei proprietăţi sunt:
All records va face trecerea la următoarea înregistrare;
Current Record va rămâne în cadrul aceleaşi înregistrări, cursorul poziţionându-se pe
primul câmp al acesteia;
Current Page va poziţiona cursorul pe primul câmp al paginii.
Figura 6. 40 Fereastra Property Sheet – Proprietăţi din categoria Other
CAPITOLUL 7. OBIECTE DE TIP RAPORT
7.1. Definirea obiectelor de tip raport
Raportul (Report) – este un obiect al bazei de date ce permite vizualizarea pe ecran sau
tipărirea la imprimantă a conţinutului unei interogări a bazei de date după diverse criterii.
Obiectele de tip raport se creează în etapa de exploatare a bazelor de date. Informaţiile din
conţinutul rapoartelor sunt utile în procesul de fundamentare a deciziilor de către diferite
categorii de utilizatori. Crearea rapoartelor se poate realiza în 2 moduri:
cu asistenţă
fără asistenţă
În Microsoft Access 2007 se
pot creea obiecte de tip raport
prin mai multe metode,
variantele fiind afişate în
secţiunea REPORTS.
Figura 7. 1 Variante de creare a rapoartelor
Variantele de creare a rapoartelor au anumite particularităţi, după cum urmează:
Report – se creează automat un raport
tip coloană pe baza tabelului
sau interogării selectate de utilizator.
Labels – se creează automat un raport
de tip etichetă.
Blank Report – se creează automat
un raport vid, care este configurat apoi
de către utilizator.
Report Wizard – raportul este creat
prin intermediul unui program utilitar
de asistenţă.
Report Design – crearea raportului
revine în totalitate în sarcina
utilizatorului.
7.2. Crearea obiectelor de tip raport
Paşii necesari pentru crearea unui raport, prin selectarea unei variante dintre cele specificate
anterior, sunt:
1. Selectarea opţiunii CREATE din meniul principal.
2. Alegerea uneia din variantele de realizare: Report, Labels, Blank Report, Report Wizard,
Report Design.
3. Salvarea obiectului nou creat (cu ajutorul opţiunii SAVE).
12
Figura 7. 2 Crearea unui obiect de tip raport
Salvarea obiectelor de tip raport se realizează asemănător cu salvarea celorlalte obiecte ale
bazei de date, astfel (figura7.3):
Se apasă butonul SAVE ( ) şi se introduce numele obiectului de tip raport.
Se alege opţiunea SAVE din cadrul meniului butonului OFFICE şi se introduce numele
obiectului de tip raport
Se închide fereastra de editare a obiectului de tip raport, iar utilizatorul va fi întrebat dacă
doreşte salvarea obiectului creat şi va putea specifica numele acestuia.
1
2
Figura 7. 3 Salvarea obiectelor de tip raport
Modificarea unui obiect de tip raport se realizează deschizând obiectul de tip raport în
modul de vizualizare DESIGN. Modificarea presupune ştergerea, inserarea sau schimbarea
sursei de date a raportului sau a controalelor conţinute în cadrul acestuia.
Indiferent de modul de creare a unui raport, acesta poate conţine (figura 7.4):
Secţiunile antet şi subsol de raport (Report Header/Footer) afişate o singură dată, la
începutul respectiv sfârşitul raportului.
Secţiunile antet şi subsol de pagina (Page Header/Footet), afişate la începutul şi
respectiv sfârşitul fiecărei pagini din raport.
Secţiunile antet şi subsol de grupare (Group Header/Footer), ce permit afişarea la
fiecare început şi respectiv sfârşit de grupare a înregistrărilor. Se folosesc în general
pentru afişarea numelui grupării şi a eventualelor agregări ale datelor (însumare a
valorilor, medie a valorilor, număr de înregistrări, etc.).
Secţiunea de detaliu (Detail) se afişează pentru fiecare înregistrare.
Subrapoartele, care sunt de fapt alte obiecte de tip raport, conţinute în cadrul raportului
principal.
Controalele folosite pentru afişarea informaţiilor în cadrul secţiunilor.
Antet de raport
Subsol de raport
Antet de pagina
Subsol de pagina
Detalii
Figura 7. 4 Structura unui obiect de tip raport
7.3. Crearea rapoartelor în modul REPORT WIZARD
Paşii de parcurs pentru realizarea unui raport în modul „REPORT WIZARD”:
1. Se selectează opţiunea CREATE din meniul principal.
2. Se acţionează butonul REPORT WIZARD din fereastra REPORTS, ceea ce conduce la
afişarea ferestrei REPORT WIZARD.
Figura 7. 5 Crearea unui obiect de tip raport în modul „REPORT WIZARD”
3. În caseta „Tables/Queries” se va selecta tabelul sau interogarea ce va sta la baza proiectării
raportului (sursa de date a raportului).
3
Figura 7. 6 Alegerea sursei raportului creat în modul „REPORT WIZARD”
4. În fereastra Available Fields apar afişate câmpurile de date din structura tabelului sau
interogării selectate, de unde cu ajutorul butoanelor „>” sau „>>” se vor transfera în fereastra
Selected Fields câmpurile pe care le dorim afişate în raport, apoi se acţionează butonul NEXT,
aşa cum apare mai jos:
1
2
Figura 7. 7 Selectarea câmpurilor care se vor afişa în cadrul raportului
creat în modul „REPORT WIZARD”
5. Dacă este necesar, se va specifica gruparea înregistrărilor după anumite câmpuri de date. În
exemplul dat se realizează gruparea furnizorilor în funcţie de „localitate”. Se pot specifica
maxim 10 câmpuri de date drept criterii de grupare urmate apoi de acţionarea NEXT.
Gruparea datelor înseamnă căutarea tuturor înregistrărilor (rândurilor) din sursa de date care
conţin aceeaşi valoare pentru câmpul stabilit drept criteriu de grupare şi afişarea lor, consecutiv,
în raport.
5
Figura 7. 8 Selectarea câmpurilor de grupare pentru un raport creat
în modul „REPORT WIZARD”
6. Dacă este necesar, se va stabili ordinea înregistrărilor în fiecare grup, sortând până la maxim 4
câmpuri simultan, după care se va precizeaza dacă ordinea este crescătoare sau descrescătoare la
sfârşit acţionându-se butonul NEXT.
4
6
Figura 7. 9 Specificarea ordinii înregistrărilor în fiecare grup
7. Se selectează tipul de machetă a raportului (Layout) şi orientarea (Orientation) verticală (
) ori orizontală ( ) a structurii raportului pe coala de imprimare urmată de
acţionarea butonului NEXT.
7
Figura 7. 10 Selectarea tipul de machetă al raportului şi a orientării acestuia
8. Se alege stilul raportului (Access 2003, Access 2007, Office, Windows Vista, Civic,etc.)
urmată de acţionarea butonului NEXT.
8
Figura 7. 11 Alegerea stilului raportului
9. Se atribuie un nume raportului, se precizează dacă se previzualizează sau se modifică raportul
în modul Design, după care se acţionează butonul FINISH.
9
Figura 7. 12 Atribuirea numelui raportului
Raportul obţinut prin intermediul parcurgerii paşilor specificaţi anterior este prezentat în figura
7.13.
Figura 7. 13 Vizualizarea raportului creat în modul „Report Wizard”
Un raport creat în modul Wizard poate fi modificat oricând în modul de lucru Design prin
intermediul unor controale. Acestea pot fi de trei tipuri:asociate, neasociate sau calculate.
Controlul asociat (Bound Control) se referă câmpurile de date dintr-un tabel sau interogare.
Controlul neasociat (Unbound Control) se referă la etichetele sau la casetele text introduse de
utilizator.
Controlul calculat (Calculated Control) cuprinde toate calculele din raport cum sunt:
subtotaluri, totaluri generale, procente, medii aritmetice, etc.
Fiecare tip de control are caracteristici specifice, pe care le putem modifica utilizând opţiunea
PROPERTIES.
7.4. Crearea rapoartelor în modul DESIGN VIEW
Paşi de parcurs:
1. Se selectează opţiunea CREATE din meniul principal.
2. Se acţionează butonul REPORT DESIGN.
1
2
Figura 7. 14 Crearea rapoartelor în modul DESIGN VIEW
3. Apare pe ecran fereastra REPORT, unde este generat un raport vid (fără conţinut), în cadrul
căruia utilizatorul îşi poate defini propriile secţiuni şi controale.
4. Se va adăuga sursa de date pentru raport. În cadrul meniului DESIGN se alege opţiunea ADD
EXISTING FIELDS, apoi se selectează opţiunea SHOW ALL TABLES, ce permite
vizualizarea tuturor tabelelor şi interogărilor (Queries) din baza de date precum şi a câmpurilor
acestora, care vor fi preluate în interiorul raportului (de obicei în secţiunea Detail, figura 7.15). O
altă modalitate pentru alegerea sursei de date o reprezintă crearea acesteia sau alegerea sa în
cadrul proprietăţilor raportului (PROPERTY SHEET) la proprietatea RECORD SOURCE
(figura 7.16).
3
4
Figura 7. 15 Adăugarea sursei de date şi a câmpurilor în cadrul unui
raport realizat în modul „DESIGN VIEW”
3
4
Figura 7. 16 Adăugarea sursei de date pentru un raport realizat în
modul „DESIGN VIEW” folosind opţiunea „Record Source”
5. Se deschide meniul ARRANGE.
6. Se selectează opţiunile REPORT HEADER/FOOTER sau PAGE HEADER/FOOTER din
grupul de butoane SHOW/HIDE. Acest mod de lucru împarte raportul în secţiuni, prin
intermediul cărora se controlează elementele care apar în raport şi modul de formatare al
acestora.
5
6
Figura 7. 17 Opţiunile ce permit afişarea sau ascunderea secţiunilor
din cadrul obiectelor de tip raport
7. Se salvează raportul.
8. Se lansează în execuţie (prin deschidere în modul Print Preview).
7
8
Figura 7. 18 Salvarea şi vizualizarea în modul Print Preview a rapoartelor
7.5. Vizualizarea obiectelor de tip raport
Vizualizarea unui obiect de tip raport se poate realiza în mai multe moduri:
a. Report View
b. Print Preview
c. Layout View
d. Design View
a. Report View
Vizualizarea unui raport în modul Report View afişează raportul cu elementele componente,
fără a fi afişate şi marginile acestuia. Nu sunt permise modificări asupra conţinutului raportului şi
nici redimensionări ale controalelor.
Figura 7. 19 Obiect de tip raport vizualizat în modul „Report View”
Pentru a vizualiza un obiect de tip raport, deja deschis, în modul Report View se procedează
astfel:
În panoul de navigare (Navigation Pane) se selectează obiectul de tip raport, se execută
clic dreapta pe acesta şi se alege opţiunea OPEN.
Figura 7. 20 Deschiderea obiectului de tip raport în modul „Design View”
Dacă raportul a fost deja deschis se procedează astfel:
1. Se deschide meniul DESIGN.
2. Se selectează meniul VIEW.
3. Se selectează opţiunea REPORT VIEW.
Figura 7. 21 Vizualizarea unui raport in modul „REPORT VIEW”
b. Print Preview
Print Preview este modul în care se vizualizează raportul, aşa cum va arăta când va fi tipărit.
Nu sunt permise modificări asupra conţinutului raportului şi nici redimensionări ale controalelor.
Figura 7. 22 Raport vizualizat în modul „Print Preview”
Vizualizarea un raport în modul Print Preview se poate face astfel:
Dacă raportul a fost creat cu utilitarul Report Wizard, acesta va fi implicit afişat în modul
Print Preview.
În panoul de navigare (Navigation Pane) se selectează obiectul de tip raport, se execută
clic dreapta şi se alege opţiunea Print Preview.
12
3
Figura 7. 23 Deschiderea obiectului de tip raport în modul „Print Preview”
Dacă raportul a fost deja deschis:
1. Se deschide meniul DESIGN.
2. Se selectează meniul VIEW.
3. Se selectează opţiunea PRINT PREVIEW.
Figura 7. 24 Vizualizarea unui raport în modul „Print Preview”
Modul de vizualizare Print Preview permite vizualizarea meniului contextual Print Preview
afişat în figura 7.18.
c. Layout View
Vizualizare unui raport în modul Layout View afişează conţinutul raportului, marcându-se cu
ajutorul a trei linii punctate marginile paginilor (marginea de sus şi cele laterale). Această
vizualizare este utilă pentru că permite redimensionarea controalelor, putându-se realiza
încadrarea lor în pagină.
12
3
Deşi nu este echivalentul modului de vizualizare Design View (mod în care se pot face
modificări asupra structurii şi conţinutului raportului), modul de vizualizare Layout View
permite editarea formatului raportului.
În acest mod de vizualizare se pot realiza modificări doar asupra dimensiunilor controalelor,
se pot realiza formatări asupra controalelor, se poate edita (prin dublu clic) conţinutul
controalelor de tip etichetă (label) şi se pot adăuga câmpuri noi în cadrul raportului (cu ajutorul
opţiunii ADD EXISTING FIELDS a meniului FORMAT).
Figura 7. 25 Raport vizualizat în modul Layout View
Vizualizarea unui obiect de tip raport în modul Layout View se realizează astfel:
În panoul de navigare (Navigation Pane) se selectează obiectul de tip raport, se execută
clic dreapta şi se alege opţiunea Layout View.
Pagina 1 Pagina 2
Margini de
pagina
Figura 7. 26 Deschiderea obiectului de tip raport în modul „Layout View”
Dacă raportul este deschis deja:
1. Se deschide meniul DESIGN.
2. Se selectează meniul VIEW.
3. Se selectează opţiunea LAYOUT VIEW.
raport în Figura 7. 27
Vizualizarea în modul „Print Preview”
Obiectele de tip raport vizualizate în modul Layout View au disponibile meniurile contextuale
Format, Arrange şi Page Setup (figura 7.17).
d. Design View
Modul de vizualizare Design View permite editarea şi formatarea conţinutului raportului. În
acest mod se poate executa adăugarea, poziţionarea, formatarea, configurarea, manipularea
controalelelor necesare; precum şi afişarea sau ascunderea şi configurarea secţiunilor raportului.
12
3
Figura 7. 28 Raport vizualizat în modul „Design View”
Vizualizarea unui obiect de tip raport în modul Design View se realizează în felul următor:
În panoul de navigare (Navigation Pane) se selectează obiectul de tip raport se execută
clic dreapta şi se alege opţiunea Design View.
Figura 7. 29 Deschiderea obiectului de tip raport în modul „Design View”
Dacă raportul este deja deschis, se parcurg următorii paşi:
1. Se deschide meniul DESIGN.
2. Se selectează opţiunea VIEW.
3. Se selectează opţiunea DESIGN VIEW.
12
3
Figura 7. 30 Vizualizarea unui raport în modul „Design View”
Pentru obiectele de tip raport vizualizate în modul Design View sunt disponibile meniurile
contextuale Design, Arrange şi Page Setup (figura 7.18).
7.6. Meniuri contextuale ale obiectelor de tip raport
Access 2007 introduce barele de instrumente contextuale (ribbon) care afişează opţiuni
diferite, în funcţie de obiectul deschis şi de modul de vizualizare al acestuia. Pentru obiectele de
tip raport vizualizate în modul Design View sunt disponibile meniurile contextuale Design,
Arrange şi Page Setup. Obiectele de tip raport vizualizate în modul Layout View au disponibile
meniurile contextuale Format, Arrange şi Page Setup. Modul de vizualizare Print Preview
permite vizualizarea unui singur meniu denumit Print Preview.
a. Meniul Design
Figura 7. 31 Meniul contextual Design, pentru obiecte de tip raport
În cadrul meniului Design (figura 7.18) se găsesc opţiuni referitoare la:
1. Modul de vizualizare a rapoartelor (opţiunea View).
2. Formatarea informaţiilor afişate (grupul de opţiuni Font).
3. Gruparea, sortarea şi agregarea informaţiilor afişate (grupul de opţiuni Grouping &
Total).
4. Adăugarea diferitelor controale (grupul de opţiuni Controls).
5. Vizualizarea proprietăţilor raportului, a secţiunilor acestuia sau a controalelor aferente
(Property Sheet).
6. Adăugarea sursei de date şi a câmpurilor (Add Existing Fields).
b. Meniul Arrange
Figura 7. 32 Meniul contextual Arrange pentru obiectelor de tip raport
În cadrul meniului Arrange (figura 7.32) se găsesc opţiuni referitoare la:
1. Formatarea automata a raportului (AutoFormat).
2. Modul de afişare a informaţiilor (grupul de opţiuni Control Layout).
3. Alinierea controalelor (grupul de opţiuni Control Alignment).
4. Poziţionarea relativă a controalelor (grupul de opţiuni Position).
5. Dimensionarea controalelor (grupul de opţiuni Size).
6. Afişarea sau ascunderea anumitor secţiuni sau elemente ale raportului (Show/Hide) (
). Astfel, pentru afişarea liniilor, se va selecta opţiunea Grid ( ).
Selectarea opţiunii Report Header/Footer ( ) are ca rezultat
afişarea secţiunilor „antet de raport” (Report Header) şi „subsol de raport” (Report
Footer). Opţiunea Ruler ( ) permite afişarea, respectiv ascunderea marginii gradate
aferente raportului. Afişarea sau ascunderea secţiunilor antet şi subsol de pagină (Page
Header/Footer) se realizează prin selectarea, respectiv deselectarea opţiunii Page
Header/Footer ( ).
c. Meniul Page Setup
Meniul Page Setup (figura 7.20) conţine opţiuni ce permit formatarea documentului:
1. Modificarea dimensiunii paginii (Size) .
2. Orientarea paginii (Portrait sau Landscape) .
3. Modificarea dimensiunilor pentru marginile paginilor (Margins) .
4. Afişarea sau neafişarea marginilor paginilor (Show Margins) .
5. Tipărirea datelor, fără să fie tipărite informaţiile din cadrul controalelor de tip etichetă
(label) .
6. Specificarea numărului de coloane în care vor fi afişate informaţiile .
7. Stabilirea formatării documentului ce se va tipări .
Figura 7. 33 Meniul contextual „Page Setup” pentru obiectelor de tip raport
d. Meniul Print Preview
Meniul contextual Print Preview (figura 7.21) disponibil pentru obiecte de tip raport deschise
spre vizualizare în modul Print Preview conţine:
1. Opţiuni pentru tipărirea raportului .
2. Opţiuni pentru formatarea documentului .
3. Opţiuni pentru schimbarea dimensiunilor documentului vizualizat .
4. Opţiuni pentru dimensionarea raportului, astfel încât să se vizualizeze mai multe pagini în
cadrul aceleiaşi ferestre
5. Exportul către alte surse de date .
6. Închiderea modului de vizualizare Print Preview .
Figura 7. 34 Meniul contextual „Print Preview” pentru obiecte de tip raport
e. Meniul Format
Meniul contextual Format (Error! Reference source not found.) este disponibil pentru
obiecte de tip raport deschise spre vizualizare în modul Layout View şi conţine:
1. Opţiuni pentru modul de vizualizare al raportului .
2. Opţiuni de formatare a modului de afişare a controalelor (tipul fontului, culoare, fundal,
aliniere, etc.) .
3. Opţiuni pentru formatarea tipurilor de date aferente controalelor .
4. Opţiuni pentru gruparea şi agregarea datelor .
5. Opţiuni pentru afişarea/ascunderea chenarelor .
6. Adăugarea unor categorii de controale
7. Formatarea automată a raportului, pe baza unor şabloane .
Figura 7. 35 Meniul contextual „Format” pentru obiecte de tip raport
7.7. Proprietăţi ale obiectelor de tip raport
Setarea proprietăţilor se efectuează astfel:
1. Se deschide un raport în modul REPORT DESIGN.
2. Se alege opţiunea DESIGN.
3. Se alege opţiunea PROPERTY SHEET.
4. Se alege categoria proprietăţilor de modificat (Format, Data, Event, Other, All).
5. Se selectează proprietăţile de modificat şi se introduc valorile acestora.
Figura 7. 36 Fereastra cu proprietăţi ale raportului „Chitanţe”
Categoria de proprietăţi Format
Categoria de proprietăţi Format conţine elemente de formatare. Dintre acestea, cele mai
folosite sunt:
Caption - este utilizată pentru stabilirea unui titlu afişat pe bara de titlu a ferestrei;
Default View pentru care se poate selecta vizualizarea raportului într-unul din modurile
Print Preview sau Report View;
Page Header şi Page Footer sunt utilizate pentru specificarea paginilor pe care se vor afişa
antetul, respectiv subsolul de pagină (variante: toate paginile; toate, mai puţin prima; toate,
mai puţin ultima; toate, mai puţin prima şi ultima);
Picture permite specificarea fişierului de imagine afişat pe fundalul raportului;
Picture Pages precizează paginile pe care se va afişa fundalul ales.
Figura 7. 37 Proprietăţile din categoria Format pentru raportul „Chitanţe”
Categoria de proprietăţi Data
Categoria de proprietăţi Data conţine elemente specifice sursei de date a raportului. Dintre
acestea cele mai folosite sunt:
Record Source - precizează un tabel, o interogare, ori o frază SQL, care va fi sursa de date a
raportului;
Filter - se foloseşte pentru stabilirea unei condiţii-filtru pe care trebuie să o îndeplinească
datele ce vor fi afişate în raport;
Filter on - permite selectarea uneia dintre cele două valori: Yes, ceea ce presupune activarea
criteriului specificat în Filter (se aplică datelor) sau No, care anulează acţiunea filtrului;
Order By - care precizează criteriile de sortare, în ordinea gradului de generalitate, separate
prin virgulă;
Order By On - poate cuprinde valorile Yes sau No, activând sau dezactivând proprietatea
Order By.
Figura 7. 38 Proprietăţile din categoria DATA pentru raportul „Chitanţe”
Categoria de proprietăţi Event
Categoria de proprietăţi Event conţine proprietăţi de tip eveniment. Printre acestea cele mai
folosite sunt:
On Open - serveşte, în principal, la definirea de filtre;
On Close - poate realiza ştergerea fişierelor temporare create în timpul execuţiei
raportului. În general, acestora le sunt ataşate funcţii sau proceduri.
Figura 7. 39 Proprietăţile din categoria EVENT pentru raportul „Chitanţe”
Categoriile de proprietăţi Other şi ALL
Categoria de proprietăţi Other conţine o serie de proprietăţi, dintre care cele mai folosite sunt:
Record Loks - asigură blocarea informaţiilor dintr-un raport, în timpul afişării acestuia;
Date Grouping - permite utilizarea tipului implicit de dată sau a unui tip diferit, setat de
utilizator;
Fast Laser Printing - cu valoarea Yes, realizează o tipărire rapidă a unui raport, etc.
Figura 7. 40 Proprietăţile din categoria OTHER pentru raportul „Chitanţe”
Categoria de proprietăţi ALL conţine toate categoriile de proprietăţi enumerate anterior.
7.8. Secţiuni ale obiectelor de tip raport
În structura unui raport se întâlnesc secţiunile prezentate în tabelul următor:
SECŢIUNEA SEMNIFICAŢIA DESCRIERE
Report Header Antet de raport Se utilizează pentru a stabili titlul
raportului, numele firmei, adresa, etc.
Apare pe prima pagină a raportului.
Page Header Antet de pagină Conţine un text care apare în partea de sus
a fiecărei pagini, cum ar fi: denumirea
coloanelor, data, numărul paginii, etc.
Group Header Antet de grup Se utilizează pentru a tipări un text care
apare înaintea fiecărui grup de înregistrări,
de exemplu „numele unui client“,
„numărul unei facturi”, etc.
Detail Secţiunea de
detaliu
Este partea principală a raportului unde
sunt imprimate valorile câmpurilor de
date din tabelele sau interogările
consultate.
Group Footer Subsol de grup Conţine un text care apare la sfârşitul
fiecărui grup de înregistrări, de exemplu:
subtotal pe factură, subtotal pe client, etc.
Page Footer Subsol de pagină Conţine un text care apare la sfârşitul
fiecărei pagini.
SECŢIUNEA SEMNIFICAŢIA DESCRIERE
Report Footer Subsol de raport Conţine un text care apare la sfârşitul
fiecărui raport, cum ar fi “Total general pe
clienţi“, sau alte informaţii rezumative.
Antetul/Subsolul raportului (Report Header/Footer) se activează selectând butonul Report
Header/Footer . În mod asemănător şi pentru Antetul/Subsolul paginii
(Page Header/Footer) se activează prin selecţia butonului Page Header/Footer
.
Fiecare secţiune are o casetă afişată
în partea stângă a titlului, pe care o
putem selecta executând clic pe ea.
Secţiunile de antet şi subsol sunt
pereche. Dacă este selectată o
secţiune, orice modificări efectuate
apar numai în cadrul ei.
Figura 7. 41 Selectarea secţiunii Detail a
unui obiect de tip raport
Proprietăţi ale secţiunilor rapoartelor
Proprietăţile secţiunilor rapoartelor servesc la:
Atribuirea unui nume fiecărei secţiuni (Name).
Efectuarea saltului la pagină nouă (Force New Page).
Ascunderea/afişarea anumitor date (Visible – Yes/No).
Pregătirea secţiunilor pentru afişare (On Format sau On Print).
Reformatarea secţiunilor (On Retreat).
Modificarea dimensiunilor obiectelor de tip raport
La fel ca şi formularele, obiectul de tip raport are o anumită dimensiune, care este o
combinaţie între lungimea şi înălţimea sa. Fiecare secţiune a sa precum şi fiecare control au
anumite dimensiuni (înălţime şi lăţime).
Modificarea înălţimii unui secţiuni se realizează astfel:
Se poziţionează mouse-ul la frontiera dintre secţiunea de modificat şi cea următoare şi se
trage în sus sau în jos aşa cum rezultă din figura 7.42.
Figura 7. 42 Modificarea înălţimii secţiunilor unui obiect de tip raport
prin tragere cu mouse-ul
Se accesează fereastra de proprietăţi (Property Sheet) a secţiunii şi se modifică valoarea
proprietăţii înălţime (Height)
Figura 7. 43 Modificarea înălţimii secţiunii Detail a unui obiect
de tip raport cu ajutorul proprietăţilor
Modificarea lăţimii unui secţiuni se realizează astfel:
Se poziţionează mouse-ul la frontiera stângă a secţiunii şi se trage în sus spre dreapta sau
stânga ca în figura 7.43.
Figura 7. 44 Modificarea lungimii secţiunilor unui obiect de tip raport
prin tragere cu mouse-ul
Se accesează fereastra de proprietăţi (Property Sheet) a raportului şi se modifică
valoarea proprietăţii lăţime (Width)
Figura 7. 45 Modificarea lăţimii unui obiect de tip raport cu ajutorul proprietăţilor
7.9. Afişarea informaţiilor unui obiect de tip raport pe mai multe coloane
Pentru a afişa informaţiile din cadrul unui raport sub forma mai multor coloane, raportul
trebuie să fie deschis în modul de vizualizare Design (Design View). Paşii necesari afişării
informaţiilor pe mai multe coloane sunt:
1. Se deschide meniul PAGE SETUP;
2. Se alege opţiunea COLUMNS;
3. În cadrul ferestrei PAGE SETUP se stabileşte numărul de coloane (Number of
Columns);
4. Se alege direcţia de afişare a informaţiilor în cadrul coloanelor şi se apasă butonul OK,
închizându-se astfel fereastra Page Setup;
1
2
3
4
Figura 7. 46 Afişarea informaţiilor dintr-un raport pe mai multe coloane
5. Se deschide meniul DESIGN;
6. Din cadrul opţiunii View se alege PRINT PREVIEW şi se vizualizează raportul ce
afişează informaţiile structurate pe mai multe coloane.
Figura 7. 47
Afişarea informaţiilor dintr-un raport pe mai multe coloane
7.10. Subrapoarte
Dacă se doreşte completarea informaţiilor dintr-un obiect de tip raport cu alte informaţii,
conţinute de diferite alte rapoarte, se poate genera un RAPORT PRINCIPAL în care se integrează
unul sau mai multe SUBRAPOARTE. Acestea se pot insera atât în secţiunea de detaliu, cât şi în
celelalte secţiuni (inclusiv în cele de grup). Un raport poate include până la şapte niveluri de
subrapoarte, adică un raport principal poate conţine un subraport care poate conţine la rândul său
un alt subraport până la nivelul şapte.
În figura 7.48 este prezentat un raport cu subraport, ce afişează situaţia furnizorilor şi a facturilor
acestora. Structura raportului este următoarea:
1. În raportul principal este afişat fiecare furnizor împreună cu informaţiile asociate.
5
6
2. În subraport, apar informaţii referitoare la facturile întocmite pentru fiecare furnizor
respectiv.
1
2
Figura 7. 48 Raport cu subraport ce prezintă situaţia furnizorilor şi
facturilor acestora
Rapoartele principale pot să fie legate la o sursă de date (bound), sursă care poate să fie un
tabel sau o interogare (query), sau pot să fie nelegate (unbound), în cazul în care nu au o sursă
de date specificată.
Un raport nelegat la o sursă de date afişează informaţiile proprii, dar poate folosi ca bază
pentru unul sau mai mute subrapoarte.
Crearea unui subraport în cadrul unui raport
Raportul principal se va crea urmând paşii descrişi în subcapitolul 7.5. Obiectul de tip
subraport se va putea crea pe baza unui obiect de tip tabel sau interogare (query) sau va putea să
fie adăugat dacă a fost deja creat.
Paşii de parcurs pentru realizarea unui subraport în cadrul unui raport sunt:
1. Deschiderea în modul DESIGN VIEW a raportului principal în care se doreşte să se adauge
subraportul.
2. Selectarea opţiunii DESIGN din meniul REPORT DESIGN TOOLS.
3. Activarea opţiunii CONTROL WIZARDS din grupul CONTROLS.
4. Selectarea pictogramei aferentă controlului de tip SUBFORM/SUBREPORT din grupul
CONTROLS.
1
2
34
5
Figura 7. 49 Realizarea unui obiect de tip subraport cu ajutorul
utilitarului Subreport Wizard
5. Amplasarea subraportului în cadrul secţiunii DETAIL a raportului principal prin trasarea unui
dreptunghi cu mouse-ul în locul unde dorim să amplasăm subraportul.
6. Consecinţa este apariţia pe ecran a ferestrei SUBREPORT WIZARD.
7. Se poate alege opţiunea „Use an existing report or form” pentru a se realiza subraportul pe
baza unui raport/formular existent deja în baza de date, sau se poate alege opţiunea „Use existing
Tables and Queries” în cazul în care se doreşte realizarea subraportului pe baza unui obiect de
tip tabel sau cerere (Query).
8. Selectarea subraportului (care a fost creat în prealabil) şi activarea butonului NEXT.
7
8
Figura 7. 50 Posibilităţi de creare a unui obiect de tip subraport, în cadrul
utilitarului SubReport Wizard
9. Specificarea câmpurilor de legătură dintre raport şi subraport. Se poate alege opţiunea
„Choose from a list”, alegând astfel legătura propusă de Access, sau se poate alege opţiunea
„Define my own”, atunci când se doreşte definirea legăturii de către utilizator. Legătura dintre
raport şi subraport poate să fie realizată pe baza unui singur câmp sau a mai multor câmpuri.
9
Figura 7. 51 Pasul 9
10. Atribuirea unui nume pentru noul raport şi apoi salvarea acestuia prin activarea butonului
SAVE.
10
Figura 7. 52 Atribuirea unui nume obiectului de tip subraport
Obiectele de tip subraport posedă proprietăţile comune tuturor obiectelor de tip raport, dar au
şi anumite proprietăţi specifice. Aceste proprietăţi se regăsesc în cadrul ferestrei PROPERTY
SHEET, aferente obiectului de tip subraport. Cele mai importante sunt cele din categoria DATA
şi fac referire la:
Sursa de date a obiectului (Source Object). Se poate selecta ca sursă pentru subraport
orice obiect de tip raport, tabel sau interogare (query) existent în cadrul bazei de date.
Câmpurile de legătură din cadrul raportului principal (Link Master Fields).
Câmpurile de legătură din cadrul subraportului (Link Child Fields).
Figura 7. 53 Proprietăţile specifice obiectelor de tip subraport
În cazul în care operaţiunea de creare a unui subraport se desfăşoară fără utilitarul SubReport
Wizard, utilizatorul trebuie să specifice în cadrul ferestrei de proprietăţi a obiectului de tip
subraport (PROPERTY SHEET), valorile proprietăţilor: Link Child Fields şi Link Master Fields
care primesc numele câmpurilor de legătură dintre raportul principal şi subraport, precum şi
valoarea proprietăţii Source Object, unde se va preciza obiectul sursă.
În exemplul prezentat în figura 7.53, în cadrul raportului principal Furnizori a fost inserat
subraportul FACTURI (câmpul de legătură fiind Codfz). Rezultatul execuţiei raportului este
prezentat în figura 7.48.
Adăugarea unui subraport în cadrul unui raport existent
Pentru adăugarea unui raport în cadrul altui raport, ambele obiecte de tip raport se vor crea
independent, urmând ca ulterior să se realizeze adăugarea subraportului în cadrul raportului
principal.
Se vor parcurge următorii paşi:
1. Deschiderea în modul DESIGN VIEW a raportului principal în care se doreşte adăugarea
subraportului.
2. Din fereastra NAVIGATION PANE se selectează şi apoi se adaugă prin tragere (Drag and
Drop) raportul ce se doreşte să devină subraport.
3. Se stabilesc câmpurile de legătură dintre raport şi subraport prin intermediul proprietăţilor
Link Child Fields şi Link Master Fields.
2
3
1
Figura 7. 54 Realizarea unui obiect de tip subraport cu ajutorul
utilitarului Subreport Wizard
7.11. Efectuarea de calcule
Realizarea unui control cu valori calculate în cadrul unui obiect de tip raport presupune
folosirea unei expresii aritmetice sau logice ca sursă pentru respectivul control. O expresie este o
combinaţie de funcţii (definite de utilizator sau predefinite), operatori, identificatori şi constante.
Un exemplu de expresie de calcul este următorul: =SUM(SumaPL), unde semnul egal (=) este
operator, SUM() este o funcţie de agregare a datelor, iar SumaPL este un identificator ce referă
controlul cu acelaşi nume. Această expresie poate fi utilizată într-o casetă text (Text Box)
din secţiunea „subsol de raport” sau „subsol de grupare” dintr-un raport pentru a afişa valoarea
totală a chitanţelor.
Pentru a se putea adăuga controale în cadrul unui obiect de tip raport, acesta trebuie să fie
deschis în modul DESIGN VIEW.
Figura 7. 55 Deschiderea obiectului de tip raport în modul Design View
Paşii pentru adăugarea unui control de tip casetă text (Text Box) pentru efectuarea de calcule
sunt următorii:
1. Pe formularul deschis în modul Design View se adaugă un control de tip „caseta text” în locul
dorit. Controalele se găsesc în cadrul meniului DESIGN în categoria CONTROLS.
2. Se deschide fereastra de proprietăţi (PROPERTY SHEET) de pe bara de instrumente Report
Design, în categoria TOOLS, sau din meniul contextual apărut la execuţia unui clic dreapta pe
controlul casetă text (Text Box).
3. Se alege din categoria de proprietăţi DATA proprietatea CONTROL SOURCE şi se apasă
butonul .
2
1
3
Figura 7. 56
Adăugarea în cadrul unui raport a unui control de
tip casetă text (Text Box)
4. În cadrul ferestrei EXPRESSION BUILDER se construieşte formula de calcul cu operanzi,
funcţii şi operatori.
5. Se salvează apăsând butonul OK, apoi se închide fereastra apăsând butonul CLOSE.
4 5
Figura 7. 57 Specificarea unei formule de calcul cu utilitarul Expresion Builder
În exemplul următor se afişează suma totală a chitanţelor din raportul „Sume plătite cu chitanţe”.
Figura 7. 58 Raportul „Sume platite cu chitanţe” afişat în modul Design View
Vizualizarea raportului în modul Print Preview a raportului afişează lista chitanţelor şi totalul
acestora, aşa cum rezultă din figura 7.59.
Figura 7. 59 Raportul „Sume platite cu chitanţe” afişat în modul Print Preview
7.12. Crearea unui grup sau a unei sortări într-un raport
Gruparea este procesul de combinare a coloanelor care conţin valori duplicat, făcând raportul
mai uşor de citit şi de înţeles.
Sortarea este procesul de ordonare a rândurile (înregistrărilor) afişate în cadrul obiectului de
tip raport. Acestea de pot sorta în funcţie de unul sau mai multe câmpuri, în ordine crescătoare
sau descrescătoare a valorilor fiecărui câmp.
Realizarea de grupări se poate face doar când raportul este deschis în unul din modurile de
vizualizare Design View sau Layout View.
În funcţie de modul în care este deschis raportul, instrumentele necesare realizării grupării se
regăsesc fie în meniul DESIGN (modul de vizualizare Design View), fie în meniul FORMAT
(modul de vizualizare Layout View).
Realizarea unei grupări în cadrul obiectelor de tip raport se poate realiza în două moduri:
În faza de creare a unui raport, când utilizăm utilitarul Report Wizard;
După crearea raportului, când se adaugă câmpurile de grupare.
Pentru exemplificarea grupării informaţiilor în cadrul rapoartelor plecăm de la raportul „Situaţia
valorică a facturilor pe oraşe şi ani”, care are drept sursă interogarea (query) următoare:
Figura 7. 60 Interogarea sursă a raportului
„Situaţia valorică a facturilor pe oraşe şi ani”
Pe baza acestei interogări, raportul se poate crea prin orice metodă, adăugându-se şi câmpul
calculat „valoare totală”. Se doreşte gruparea informaţiilor pe ani, precum şi afişarea valorilor
totale pe fiecare an.
Figura 7. 61 Raportului „Situaţia valorică a facturilor pe oraşe şi ani”
deschis în modul Report View
Paşii pentru adăugarea unei grupări în cadrul unui obiect de tip raport sunt următorii:
1. Afişarea raportului creat anterior, în modul LAYOUT VIEW.
Figura 7. 62 Deschiderea obiectului de tip raport în modul Layout View
2. Selectarea meniului FORMAT din Report Layout Tools.
3. Selectarea opţiunii GROUP & SORT care va afişa secţiunea de grupare, sortare şi totalizare
(Group, Sort and Total) în partea de jos a raportului.
4. Selectarea uneia din opţiunile ADD A GROUP (pentru a realiza gruparea înregistrărilor) sau
ADD A SORT (pentru a realiza sortarea înregistrărilor).
32
4
Figura 7. 63 Afişarea secţiunii Group, Sort and Total în cadrul
unui obiect de tip raport
5. Alegerea opţiunii SELECT FIELD de pe bara Group on
6. Selectarea câmpului după care se va face gruparea sau sortarea. În cadrul raportului se vor
afişa informaţiile, grupate în funcţie de câmpul ales.
5
6
Figura 7. 64 Selectarea câmpului după care se va face gruparea sau sortarea
7. Pentru efectuarea unor grupări mai complexe este necesară acţionare butonul MORE urmată
de selectarea opţiunilor dorite
7
Figura 7. 65 Afişarea opţiunilor pentru câmpul după care se face
gruparea sau sortarea
8. Se poate adăuga un subgrup al grupului principal prin reluarea paşilor 4-7.
Adăugarea valorilor totale pentru câmpul de grupare (pentru exemplul nostru „an”) se poate face
fie în modul Layout View, fie in modul Design View.
Afişarea totalurilor pentru câmpurile de grupare în cazul unui raport deschis în modul de
vizualizare LAYOUT VIEW se poate realiza în mai multe moduri. Prima modalitate, folosirea
meniul contextual, presupune realizarea următorilor paşi :
1. Se selectează câmpul „valoare” şi se execută clic dreapta.
2. Se alege opţiunea TOTAL VALOARE din meniul contextual.
3. Se alege opţiunea SUM.
21
3
Figura 7. 66 Afişarea totalurilor pentru câmpurile de grupare pentru un
raport deschis în modul de vizualizare LAYOUT VIEW
O altă modalitate de afişare a totalurilor, pentru un raport deschis în modul de vizualizare
LAYOUT VIEW, presupune realizarea următorilor paşi:
1. Se selectează câmpul „Valoare”.
2. Se alege opţiunea TOTALS din grupul de opţiuni Grouping & Totals al meniului
Format.
3. Se alege opţiunea SUM.
2
1
3
Figura 7. 67 Afişarea totalurilor pentru câmpurile de grupare
folosind opţiunea Totals
În scopul afişării totalurilor pentru câmpurile de grupare în cazul unui raport deschis în modul de
vizualizare DESIGN VIEW se procedează în felul următor:
1. În cadrul secţiunii Group, Sort and Total se apasă butonul MORE.
2. Se alege opţiunea WITH A FOOTER SECTION.
3. Se adaugă un control de tip casetă text (TEXT BOX) în care se editează formula de
calcul.
3
2
Figura 7. 68 Afişarea totalurilor pentru câmpurile de grupare pentru un
raport deschis în modul de vizualizare DESIGN VIEW
Rezultatul adăugării valorilor totale, indiferent de modalitatea utilizată, este prezentat în figura
7.69.
Figura 7. 69 Raportul „Situaţia valorică a facturilor pe oraşe şi ani” cu
calculul totalurilor, deschis în modul REPORT VIEW
Afişarea fiecărui grup pe câte o pagină
Tipărirea informaţiilor aferente fiecărui grup pe câte o pagină se poate prin atribuirea valorii
Before Section pentru proprietatea FORCE NEW PAGE a secţiunii antet de grupare (An
Header, figura 7.70). Proprietatea FORCE NEW PAGE este specifică secţiunilor obiectelor de
tip raport. Valorile pe care le poate lua proprietatea FORCE NEW PAGE sunt:
None - dacă informaţiile din raport se vor tipări în continuare pe aceeaşi pagină.
Before Section- situaţie în care se va forţa trecerea la o pagina nouă înainte de a fi
tipărite informaţiile din cadrul secţiunii (în cazul exemplului prezentat fiecare grup va
începe să fie tipărit pe o pagina nouă).
After Section - dacă se va forţa trecerea la o pagina nouă după ce s-au tipărit informaţiile
din cadrul secţiunii (în cazul exemplului prezentat după ce a fost afişat câmpul de
grupare)
Before & After - cazul în care se va forţa trecerea pe o pagina noua înainte şi după
afişarea informaţiilor din cadrul secţiunii.
Figura 7. 70 Proprietatea FORCE NEW PAGE a secţiunii antet
de grupare (An Header).
Figura 7. 71 Vizualizarea raportului în modul Print Preview
7.13. Realizarea totalurilor cumulate
Pentru realizarea totalurilor cumulate, care însumează valorile tuturor înregistrărilor
precedente, se va folosi un control de tip casetă text (Text box) în care proprietatea RUNNING
SUM va avea valoarea Over Group.
Figura 7. 72 Raport cu totaluri cumulate
Proprietatea RUNNING SUM permite selectarea a trei valori No, Over Group, Over ALL
(figura 7.73).
Selectarea valorii No permite afişarea valorilor sursă pentru caseta text, fără a se afişa
valoarea cumulată.
Valoarea Over Group permite afişarea valorilor cumulate în cadrul aceluiaşi nivel de
grupare. Valoarea se cumulează până când este întâlnit un alt nivel de grupare.
Valoarea Over ALL permite afişarea valorilor cumulate în cadrul aceluiaşi nivel de
grupare. Valoarea se cumulează până la finalul raportului.
Paşii de realizare a raportului „Situaţia cumpărărilor pe produse” sunt următorii :
1. Se creează interogarea sursă a raportului „Cumpărări Mărfuri”. care va conţine
informaţiile afişate în cadrul raportului.
1
Figura 7. 73 Interogarea sursă a raportului
„Situaţia cumpărărilor pe produse”
2. Se creează raportul, având drept sursă interogarea „Cumpărări Mărfuri”. Raportul se
poate realiza prin orice metodă. La crearea raportului (dacă se realizează cu ajutorul
utilitarului Report Wizard), sau ulterior (în celelalte cazuri), se creează gruparea pe
câmpul CodMarfa.
3. Se adaugă un control de tip casetă text (Text Box) , în cadrul secţiunii Detail a
raportului.
4. Se deschide fereastra de proprietăţi a controlului casetă text (text box)
5. Se stabileşte valoarea Over Group pentru proprietatea RUNNING SUM din cadrul
categoriei de proprietăţi DATA.
2
5
3 4
Figura 7. 74
Realizarea unui câmp de total cumulat în
cadrul unui obiect de tip raport
7.14. Numerotarea înregistrărilor în cadrul obiectelor de tip raport
În marea majoritate a cazurilor, în listele obţinute se utilizează numerotarea rândurilor,
începând cu valoarea 1 şi până la final, cu o valoare care va creşte cu o unitate. În exemplul din
figura 7.75, pentru definirea şi afişarea numărului curent al fiecărui articol din categoria
„Mărfuri” (obţinut prin incrementare), s-a creat o casetă text cu proprietăţile de mai jos.
Figura 7. 75 Proprietăţile casetei text ce va afişa numărul
curent în cadrul unui raport
Pentru proprietatea CONTROL SOURCE se va atribui valoarea “=1”, iar pentru ca
numărătoarea să se desfăşoare unitar începând cu valoarea 1 se alege valoarea Over ALL pentru
proprietatea RUNNING SUM. Macheta raportului este prezentată în figura următoare:
Figura 7. 76 Numerotarea înregistrărilor în cadrul unui obiect de tip raport
Vizualizarea raportului în modul Report View este prezentată în figura 7.77.
Figura 7. 77 Raportul „Lista Mărfurilor” vizualizat în modul Report View
7.15. Realizarea de filtre
Informaţiile afişate în cadrul unui raport se pot filtra accesând proprietăţile raportului
(categoria DATA) si adaugând o condiţie de filtrare la proprietatea FILTER. În plus, se va
mofifica proprietatea FILTER ON LOAD cu valoarea YES. Pentru sortarea informaţiilor se
foloseste proprietatea Order by din categoria DATA. În exemplul prezentat în figura 7.78 se vor
afişa doar chitanţele având data zilei curente.
Dacă se doreşte inhibarea sortării sau filtrării sursei de date, se vor seta proprietatile ORDER
BY ON LOAD, respectiv FILTER ON LOAD la valoarea NO.
Figura 7. 78 Filtrarea informaţiilor din raport
7.16. Inserarea numărului de pagină şi a datei în cadrul unui raport
Pentru inserarea numărului de pagină în cadrul unui raport existent se vor parcurge următorii
paşi:
1. Se afişează raportul în modul de vizualizare DESIGN VIEW sau LAYOUT.
2. Se activează opţiunea INSERT PAGE NUMBER din cadrul categoriei Controls.
3. Se alege modul de afişare a informaţiilor.
Figura 7. 79 Paşii 2-3 pentru inserarea numărului de pagină
Inserarea datei şi orei în cadrul unui raport presupune parcurgerea următorilor paşi:
1. Se afişează raportul în modul de vizualizare DESIGN VIEW sau LAYOUT.
2. Se activează opţiunea INSERT DATE & TIME din cadrul categoriei Controls
3. Se alege modul de afişare a informaţiilor.
23
Figura 7. 80 Paşii 2-3 pentru inserarea datei şi timpului
Rezultatul inserării numărului de pagină şi orei este prezentat în cadrul figurii următoare:
Figura 7. 81 Raport ce afişează ora şi numărul de pagină
7.17. Reprezentarea graficelor în cadrul rapoartelor
Adăugarea unui grafic în cadrul unui raport
Pentru adăugarea obiectelor grafice în rapoarte se procedează astfel:
1. Se deschide raportul în modul DESIGN (clic dreapta pe raport si apoi alegerea optiunii
Design View).
2. Se adaugă un control de tip chart în cadrul raportului. Trebuie să fie activată opţiunea Control
Wizard.
2
3
Figura 7. 82 Paşii 1 şi 2 de realizare a unui grafic în cadrul unui raport
3. Se alege sursa de date a graficului.
4. Se selectează câmpurile care se doresc afişate în grafic.
Figura 7. 83 Paşii 3 şi 4 de realizare a unui grafic în cadrul unui raport
5. Se alege tipul de grafic.
6. Se stabileste modul de afişare al informaţiilor în grafic.
2
1
3
4
Figura 7. 84 Paşii 5 şi 6 de realizare a unui grafic în cadrul unui raport
7. Se denumeşte graficul şi se deschide formularul în modul FORM VIEW pentru a vizualiza
graficul.
Figura 7. 85 Pasul 7 de realizare a unui grafic în cadrul unui raport
Sursa graficului este interogarea “Situaţia facturilor pe ani şi oraşe” prezentată în continuare.
5
6
7
Figura 7. 86 Interogarea sursă a graficului “Situaţia facturilor pe ani şi oraşe”
Modificarea obiectelor de tip grafic în cadrul rapoartelor
La execuţia unui dublu clic pe grafic se deschide editorul de grafice, care permite modificarea
informaţiilor afişate în cadrul graficului.
Figura 7. 87 Modificarea obiectelor de tip grafic în cadrul rapoartelor
CAPITOLUL 8. Obiecte de tip Macro
Obiectele macro sunt instrumente ce permit automatizarea operaţiunilor în cadrul unei baze
de date Access. Aceste obiecte pot avea o existenţă de sine stătătoare (autonome) sau pot fi
încapsulate la nivelul formularelor sau a rapoartelor, fiind lansate în execuţie la apariţia unui
eveniment declanşator intern.
Obiectele de tip macro încapsulate nu pot să fie apelate din exteriorul formularului sau
raportului de care sunt legate, în timp ce obiectele macro autonome se apelează oriunde, în
cadrul bazei de date, prin nume. În funcţie de gradul de complexitate, obiectele de tip macro
pot să fie:
Simple - efectuează o serie de operaţii, fără să fie condiţionate de existenţa anumitor
condiţii.
Condiţionate - ce execută o serie de acţiuni în funcţie de îndeplinirea uneia sau mai
multor condiţii.
Grupate - fiind alcătuite din mai multe serii de acţiuni, grupate sub nume distincte.
8.1. Crearea unui obiect autonom de tip macro
Exemplul următor prezintă crearea unui obiect macro care deschide formularul „Mărfuri”,
afişând numai mărfurile de calitate 1 (figura 8.1).
12
3
4
Figura 8. 1 Crearea unui obiect de tip macro
Paşii de realizare a acestui obiect de tip macro sunt:
1) Se selectează meniul CREATE;
2) Se selectează opţiunea MACRO, deschizându-se fereastra de editare a obiectului macro;
3) Se alege acţiunea OpenForm (acţiune ce permite deschiderea unui formular);
4) Se stabilesc valorile parametrilor (proprietatea Where Condition va lua valoarea [Calitate]=1);
În modul de editare al unui obiect macro sunt vizibile implicit coloanele Actions, Arguments
şi Comment, putând să fie adăugate (făcute vizibile) ulterior şi alte coloane.
Coloana Action se utilizează pentru a preciza acţiunile, fiecare acţiune se va introduce pe o linie
distinctă. Aceste acţiuni se vor executa în ordinea adăugării, pentru fiecare dintre ele fiind
necesară introducerea anumitor argumente (parametri).
Coloana Arguments afişează valorile parametrilor cu care operează acţiunea.
În cadrul coloanei Comments se poate introduce descrierea acţiunii şi eventuale comentarii,
completarea acesteia fiind opţională.
Acţiunile1 realizate în cadrul obiectelor de tip macro pot fi:
de tip obiect care acţionează asupra obiectelor (tabel, interogare, formular, raport, macro sau
modul), controalelor sau proprietăţilor permiţând deschidere, salvarea, ştergerea sau
închidere a obiectelor bazei de date, actualizare sau căutare a unor câmpuri sau controale
(tabel 8.1);
de manipulare a ferestrelor care acţionează prin redimensionarea ferestrelor de lucru (tabel
8.2);
de transfer a datelor care permit importul, exportul sau legarea obiectelor din alte baze de
date sau alte surse de date (tabelul 8.3);
de control al execuţiei aplicaţiei facilitând controlul erorilor şi lansarea în execuţie sau
oprirea execuţiei anumitor obiecte predefinite (comenzi sau aplicaţii) sau realizate de către
utilizator (obiecte de tip macro, coduri SQL, funcţii realizate în limbaj VBA)(tabel 8.4);
pentru interfaţa cu utilizatorul ce permit personalizarea aplicaţiei (tabel 8.5);
de navigare între înregistrări care permit manipularea înregistrărilor (tabel 8.6);
Tabel 8. 1 Acţiuni macro de tip obiect
Acţiune Descriere Acţiune Descriere
ApplyFilter filtrarea
înregistrărilor
PrintOut tipărirea obiectului
activ
Close închidere unui obiect RemoveAllTempVars eliminarea tuturor
variabilelor
temporare create
folosind SetTempVar
CloseDatabase închiderea bazei de
date
RemoveTempVar eliminarea unei
variabile temporare
creata folosind
SetTempVar
CopyDatabaseFile permite copierea
fişierului bazei de
date curente
Rename redenumirea unui
obiect
CopyObject permite copierea
unui obiect în şi din
Requery actualizarea
informaţiilor dintr-un
1 BDASEIG Baze de Date -Fundamente teoretice şi practice
Acţiune Descriere Acţiune Descriere
aceeași bază de date
sau altă baza de date
control/
formular/raport
DeleteObject ştergerea unui obiect Save salvarea unui obiect
GoToControl deplasează cursorul
la un anumit control
precizat ca argument
SelectObject permite selectarea
unui obiect
OpenForm deschiderea unui
obiect de tip
formular
SendObject permite includerea
obiectelor în cadrul
unui email
OpenFunction deschiderea unei
funcţii definite de
utilizator
SetProperty atribuirea unei valorii
pentru o proprietate a
unui control sau
formular/raport
OpenModule deschiderea unui
obiect de tip modul
SetTempVar crearea unei variabile
temporare şi
atribuirea unei valori
OpenQuery deschiderea unui
obiect de tip cerere
(Query)
SetValue setarea proprietarilor
controalelor şi/sau
formularelor
OpenReport deschiderea unui
obiect de tip raport
ShowAllRecords înlăturarea filtrelor
OpenTable deschiderea unui
obiect de tip tabel
Tabel 8. 2 Acţiuni macro de manipulare a ferestrelor
Acţiune Descriere Acţiune Descriere
Maximize maximizarea
ferestrei
MoveSize repoziţionarea ferestrei la anumite
coordonate
Minimize minimizarea
ferestrei
Restore restaurarea dimensiunii unei ferestre
la formatul iniţial
Tabel 8. 3 Acţiuni macro de transfer a datelor
Acţiune Descriere Acţiune Descriere
OutputTo exportul datelor TransferSpreadsheet transfer sau
Acţiune Descriere Acţiune Descriere
legare obiecte
din baze de date
cu alte aplicaţii
procesoare de
tabele
(EXCEL)
TransferDatabase transfer de obiecte
ale bazei de date
sau legare
obiectelor cu alte
baze de date
TransferSQLDatabase transfer către şi
din Microsoft
SQL Server
TransferSharePointList import sau legătură
cu situ-rile
Microsoft
Windows
SharePoint
Services 3.0
TransferText transfer către şi
din fișiere text
Tabel 8. 4 Acţiuni macro de control al execuţiei aplicaţiei
Acţiune Descriere Acţiune Descriere
CancelEvent anularea evenimentului
care a determinat
executarea macro-
comenzii
RunMacro lansarea în execuţie a
unui obiect de tip
macro
ClearMacroError curăţarea erorilor
conţinute în obiectul
MacroError
RunSQL executarea unei
instrucţiuni SQL
OnError se foloseşte pentru a se
specifica ce se va
realiza în cazul apariţiei
unei erori
SetMenuItem selectarea stării
elementelor meniului
(selectate, neselectare)
Quit închiderea aplicaţiei SetWarnings activarea/inhibarea
afişării mesajelor
Access
RunApp lansarea în execuţie a
unei aplicaţii
SingleStep oprirea executării unui
obiect macro şi
deschiderea ferestrei
Macro Single Step
RunCode executarea funcţiilor StopAllMacros Oprirea executării
Acţiune Descriere Acţiune Descriere
sau procedurilor
realizate cu ajutorului
VBA
tuturor obiectelor de
tip macro
RunCommand executarea unei
comenzi
StopMacro oprirea executării
acţiunilor unui obiect
de tip macro
Tabel 8. 5. Acţiuni macro pentru interfaţa cu utilizatorul
Acţiune Descriere Acţiune Descriere
AddMenu adăugarea de meniuri
personalizate
MsgBox afişarea unui ferestre ce va
prezenta un mesaj personalizat
Beep producerea unui semnal
sonor
NavigateTo afişarea obiectelor în panoul de
navigare (Navigation Pane)
Hourglass modifică forma cursorului ShowToolbar afişarea barei cu instrumente
(Toolbar)
LockNavigationPane blocarea modificării
panoului de navigare
Tabel 8. 6. Acţiuni macro de navigare între înregistrări
Acţiune Descriere
FindRecord permite căutarea unei înregistrări
GoToRecord permite deplasarea la o înregistrare specificată
SearchForRecord Permite căutarea unor înregistrări (căutări mult mai complexe
decât cu FindRecord)
Salvarea obiectelor de tip macro se realizează asemănător celorlalte obiecte ale bazei de date,
astfel (figura 8.2):
Se apasă butonul SAVE ( ) şi se introduce numele obiectului de tip macro.
Se alege opţiunea SAVE din cadrul meniului butonului Office şi se introduce numele
obiectului de tip macro.
Închizând fereastra de editare a obiectului macro, utilizatorul este întrebat dacă doreşte
salvarea obiectului creat şi poate specifica numele acestuia.
1
2
Figura 8. 2 Salvarea obiectelor de tip macro
Modificarea unui obiect de tip macro se realizează deschizând obiectul de tip macro în
modul de vizualizare DESIGN. Modificarea presupune ştergerea, inserarea sau modificarea
acţiunilor sau a argumentelor acestora.
Executarea unui obiect de tip macro se poate realiza în mai multe moduri
:selectând opţiunea RUN
aflată în categoria
DESIGN;
1
la declanșarea unui eveniment al unui control sau un obiect de tip
formular sau raport, eveniment ce are ataşat un obiect de tip macro
(încapsulat sau autonom);
prin activarea butonul
RUN MACRO din
grupul de meniuri
DATABASE TOOLS şi
precizând numele
obiectului macro.
1
2
3
8.2. Crearea unui obiect încapsulat de tip macro
Obiectele de tip macro pot să fie realizate ca obiecte distincte sau pot fi încapsulate în cadrul
altor obiecte ACCESS. Următorul exemplu va permite realizarea unui obiect macro, încapsulat
în cadrul unui raport, care va afişarea un mesaj personalizat în cazul în care raportul nu conţine
informaţii (Error! Reference source not found.).
Paşii de realizare a acestui obiect de tip macro sunt:
1) Se va specifica în primul rând evenimentul pentru care se vor executa acţiunile obiectului
macro, eveniment prezent în cadrul secţiunii „Event” a ferestrei “Property” a raportului (în cazul
exemplului nostru evenimentul este On No Data)
2) Se selectează butonul pentru evenimentul dorit (în cazul exemplului nostru acesta este On
No Data);
3) Se alege opţiunea MACRO BUILDER (deschizându-se fereastra de editare a obiectului de
tip macro);
4) Se editează obiectul de tip macro;
a) Se selectează acţiunea Msgbox (ce permite afişarea unui mesaj personalizat);
b) Se introduce mesajul personalizat ;
c) Se selectează acţiunea CancelEvent (pentru a nu permite deschiderea raportului care
nu conţine informaţii).
23
4
1
Figura 8. 3 Realizarea unui obiect macro încapsulat
8.3. Obiecte macro cu condiţii
SGBD ACCESS permite condiţionarea acţiunilor din cadrul unui obiect macro. Aceste
condiţii se vor introduce în cadrul coloanei CONDITION. Pentru acţiunile necondiţionate spaţiul
corespunzător din coloana CONDITION nu va fi completat. În cazul în care pentru mai multe
acţiuni succesive trebuie îndeplinită aceeaşi condiţie, se va introduce condiţia doar pentru prima
acţiune, pentru celelalte se vor introduce trei puncte (…).
12
3
4a
4b
4c
Figura 8. 4 Crearea obiectelor de tip macro cu condiţii
Paşii de realizare a unui obiect de tip macro cu condiţii ( ) sunt:
1) Se selectează meniul CREATE;
2) Se selectează opţiunea MACRO;
3) Se selectează opţiunea CONDITIONS (care va duce la afişarea coloanei Conditions)
4) Se editează fiecare acţiune a obiectului de tip macro
a) Se introduc condiţiile (dacă nu se doreşte condiţionarea acţiunii nu se va
completa nimic);
b) Se alege acţiunea dorită;
c) Se stabilesc valorile parametrilor;
În exemplul următor se dorește deschiderea
unui anumit raport în funcţie de opţiunea
selectată în cadrul unui formular. Formularul
de opţiuni conţine două controale de tip
casetă text (TextBox) şi un control de tip grup
de opţiuni (Option Group). Modul de
realizare a controlului de tip grup de opţiuni
Figura 8. 5 Formular cu opţiuni
Balanta cantitativa=1
Balanta valorica=2
este prezentat în cadrul capitolului 6.
Proprietatea NAME asociată controlului de
tip grup de opţiuni se va modifica la valoarea
Optiuni.
Obiectul de tip macro realizat anterior (figura
8.4) permite deschiderea unui anumit raport
în funcţie de opţiunea selectată în cadrul
grupului de opţiune denumit „Optiuni” de pe
formular.
În cadrul unui obiect macro, referirea unui
control al unui formular sau raport se face
specificând numele formularului sau
raportului şi numele controlului astfel:
[Forms]![NumeFormular]![NumeControl]
sau
[Reports]![ NumeRaport]![ NumeControl]
Figura 8. 6 Setarea proprietăţii
„Name” a controlului de tip
Grup de opţiuni la valoarea
„Optiuni”
Referirea la valorile controlului Opţiuni se va face astfel [Forms]![FormularSelectie]![Optiuni].
Atunci când este bifată prima opţiune valoarea controlului „Opţiuni” este 1, iar pentru cea de a
doua opţiune valoarea este 2.
Evenimentului On Click al butonului „Afiseaza Balanta” i s-a ataşat obiectul macro prezentat în
figura 8.4, prin intermediul căruia se realizează acţiunea de deschidere a raportului
„BalantaCantitativa” doar dacă valoarea controlului „Optiuni” din cadrul formularului este 1,
iar daca valoarea controlului este 2 (ceea ce presupune selectarea opţiunii „Balanta Valorică”) se
va realiza acţiunea de deschidere a raportului „BalantaValorica”. Cele două rapoarte
(„BalantaCantitativa” şi „BalantaValorica”), au fost create în cadrul capitolului 7.
Ataşarea unui macrou pentru un eveniment al unui control se poate realiza în cadrul ferestrei de
proprietăţi a controlului, în cadrul categoriei EVENT, sau la crearea controlului cu ajutorul
facilităţii Wizard (figura 8.7).
Paşii pentru ataşarea unui obiect de tip macro unui buton de comanda folosind facilitatea Control
Wizard sunt:
1) Se selectează controlul de tip Button şi se proiectează pe formular;
2) În cadrul ferestrei Command Button Wizard se alege acţiunea RUN MACRO din
categoria MISCELLANEOUS;
1
2
Figura 8. 7 Proiectarea unui buton de comanda în cadrul unui formular
3) Se alege obiectul de tip macro;
4) Se introduce eticheta ce se va afişa în controlul de tip buton;
5) Se selectează FINISH pentru a se finaliza realizarea butonului.
3
Figura 8. 8 Selecţia unui obiect de tip
macro asociat unui buton de comanda
4
5
Figura 8. 9 Ataşarea unui obiect de tip
macro unui buton de comanda