Documente Academic
Documente Profesional
Documente Cultură
Chapter
D E S I G N C U S T O M I Z A T I O N
Microsoft Access
M icrosoft Access este un sistem de gestiune a bazelor de date din pachetul de aplicaţii Microsoft
Office care permite dezvoltarea de aplicaţii într-o manieră uşoară şi prietenoasă atât pentru
utilizatori individuali, cât şi multiutilizator ceea ce face posibilă utilizarea la firme şi instituţii
de dimensiuni mici şi mijlocii. Asemănarea meniurilor şvi comenzilor disponibile în Access cu cele din
restul aplicaţiilor Office oferă un mediu de lucru familiar şi comod.
Microsoft Access este accesibil atât utilizatorilor care nu au cunoştinţe vaste în domeniul bazelor de date,
care pot realiza aplicaţii prin utilizarea şabloanelor predefinite, cât şi programatorilor care pot crea soluţii
complexe folosind limbajul de programare Visual Basic for Application. Tabelele din bazele de date
Access suportă numeroase tipuri de câmpuri, declararea indicilor şi stabilirea restricţiilor de integritate
refereţială, în timp ce pentru crearea şi manipularea altor componente, cum ar fi interogări, formulare,
rapoarte există metode de lucru variate de la simple, modul asistat, la complexe, modul proiect. De
asemenea, operaţiunile simple şi repetitive pot fi automatizate prin utilizarea macro-urilor ceea ce reduce
volumul de muncă al utilizatorului final.
Ca organizare, Microsoft Access combină într-un singur fişier, de tip .accdb tabelele, formularele,
rapoartele, interogările, macro-urile şi codul Visual Basic for Application ceea ce asigură accesul rapid şi
uşor al utilizatorului la orice componentă. Un avantaj important este posibilitatea extinderii bazei de date pe
Internet pentru a fi accesată de alţi utilizatori, iar modificările se pot sincroniza automat.
Pentru a împiedica vizualizarea şi/sau modificarea codului sursă al unei aplicaţii, Microsoft Access permite
transformarea ei în executabilă prin operaţiuni simple protejând-o astfel de intruşi sau de modificări
involuntare.
Enunţul aplicaţiei
În vederea bunei desfăşurări a Conferinţei GEBA 2011, este necesară realizarea unei baze de date pentru
gestiunea informaţiilor despre participanţi. Informaţiile sunt destinate atât gestiunii comunicărilor, cât şi
gestiunii cazărilor/rezervărilor şi participării la diversele activităţi conexe evenimentului. În afara bazei de
date propriu-zisă se doreşte, de asemenea, realizarea unui formular care să permită introducerea şi
modificarea datelor iniţiale despre participanţi (când este cazul) şi o serie de rapoarte care să permită
obţinerea de informaţii despre participanţii la fiecare secţiune şi opţiunile pentru cazare în vederea
rezervării locurilor la hoteluri.
1
D E S I G N C U S T O M I Z A T I O N
Rezolvare
Înainte de construirea aplicaţiei este necesară proiectarea structurii bazei de date pe hârtie cu următoarele
componente: tabele, inclusiv câmpurile din fiecare tabel cu precizarea tipului, dimensiunii şi altor
proprietăţi specifice (valori implicite, reguli de validare etc.), relaţii dintre tabele şi regulile de integritate
refenţială, interogări, formulare, rapoarte, dar şi alte elemente, dacă este cazul, cum ar fi meniuri.
Pentru început, în vederea rezolvării aplicaţiei, se va realiza structura bazei de date sub forma unui tabel ce
va conţine informaţiile necesare (tip, lungime, indecşi) acesteia (tabelul nr. 1).
Structura bazei de date pentru conferinţă
2
D E S I G N C U S T O M I Z A T I O N
Prima literă pentru informaţiile introduse în câmpurile Denumire localitate, Denumire ţară,
Denumire hotel va fi majusculă;
Câmpul Categorie, din tabelul Hoteluri, conţine informaţii privind numărul de stele ale
hotelului şi poate lua valori între 1 şi 5;
3
D E S I G N C U S T O M I Z A T I O N
Câmpurile Capacitate, Număr locuri, Număr nopţi trebuie să fie completate cu numere
pozitive, diferite de zero;
Toate câmpurile de tip dată sunt ulterioare zilei curente completării informaţiilor în tabele;
Dată sosire din tabelul Rezervări nu poate fi anterioară valorii din Dată rezervare;
Formatul utilizat pentru câmpurile de tip dată calendaristică este Short Date, iar pentru oră
Short Time;
Tip loc activitate poate lua urmatoarele valori: "Restaurant", "Aulă", "Amfiteatru",
"Muzeu","Mânăstire".
Pot aparea situaţii când informaţiile despre participanţi se introduc manual, cazul formularelor de
participare completate doar pe hârtie, sau trebuie modificate, în cazul participanţilor care retrimit
formularule de participare şi se doreşte să nu mai fie importate din nou. Pentru a rezolva asemenea situaţii
este necesară realizarea unui formular în Microsoft Access într-o formă cât mai apropiată de cea a
formularului de participare prezentat în capitolul xxx.
Pentru a realiza anumite statistici, dar şi pentru a construi rapoartele trebuie să se răspundă la următoarele
întrebări prin intermediul interogărilor din Microsoft Access:
4
D E S I G N C U S T O M I Z A T I O N
În săptămâna care precede conferinţa va fi afişată, pe site-ul acesteia, o listă cu participanţii la fiecare
secţiune care trebuie realizată sub forma unui raport în Microsoft Access. De asemenea, tot ca rapoarte vor
fi obţinute informaţii despre opţiunile de cazare care vor fi trimise la fiecare hotel în vederea rezervării
camerelor.
5
D E S I G N C U S T O M I Z A T I O N
Deschiderea aplicaţiei de gestiune a bazelor de date Microsoft Access se realizează din meniul Start
All Programs Microsoft Office Microsoft Access 2007 sau din pictograma corespunzătoare
de pe suprafaţa de lucru (Desktop) dacă aceasta a fost creată anterior. Ca rezultat se deschide o
fereastră din care va fi selectată modalitatea de creare a bazei de date, respectiv dintr-un şablon
predefinit (Assets, Contacts, Issues, Events, Marketing Projects, Sales Pipeline, Tasks, Faculty,
Students) sau ”de la zero” (Blank Database). Pentru crearea bazei de date conferinţa_FEAA este
utilizată opţiunea Blank Database. În partea dreaptă a ferestrei este introdusă denumirea menţionată şi
se finalizează operaţiunea prin acţionarea butonului Create (vezi figura nr. ???). În cazul în care
utilizatorul doreşte să schimbe calea unde va fi salvată baza da date trebuie acţionată opţiunea Browse
for a location to put your database ( ) din aceeaşi fereastră.
6
D E S I G N C U S T O M I Z A T I O N
Crearea tabelelor din baza de date conferinţă_FEAA se realizează, în modul de lucru proiect (Design
View), prin selectarea opţiunii Table Design din meniul Create. În urma acestei acţiuni, apare
fereastra aferentă modului de vizualizare proiect, în care se introduc denumirile câmpurilor,
dimensiunea lor, o descriere, dacă este cazul, şi se stabilesc proprietăţile lor (vezi figura nr. ???).
Fereastra are, în partea de sus, trei coloane:
În partea de jos este zona Field Proprieties, unde vor fi stabilite proprietăţile pentru fiecare câmp al
tabelului, cu două componente:
Lookup – tipul de control în care va fi afişat acest câmp într-un formular (Text Box, List Box,
Combo Box).
7
D E S I G N C U S T O M I Z A T I O N
În prima celulă, denumită Field Name, sunt introduse denumirile câmpurilor, de lungime maximă 64
caractere (litere, cifre, spaţii, caractere speciale).
Notă
După introducerea denumirii câmpului, se trece la stabilirea tipului datelor pe care le va conţine
acesta, Data Type. În Microsoft Access pot fi utilizate următoarele tipuri de date (vezi figura nr. ???).
8
D E S I G N C U S T O M I Z A T I O N
Text – texte sau combinaţii de texte şi numere. Dimensiunea implicită şi maximă a unui câmp
de acest tip este de 255 caractere, dar poate fi modificată de utilizator prin intermediul
proprietăţii FieldSize.
Memo – texte de mare dimensiune, cum sunt descrierile şi notele (aproximativ 10 pagini de
text scris la un rând). Dimensiunea maximă este de 63 999 caractere.
Number – date numerice utilizate în calcule matematice. Tipul este stabilit prin proprietatea
FieldSize şi poate fi: Byte, Integer, Long Integer, Single, Double, Replication ID. Diferenţa
între ele este dată de mărimea acceptată şi de utilizarea sau neutilizarea zecimalelor, cu
excepţia ultimului tip, care este identificator de multiplicare.
OLE Object – obiecte provenite din programe server înregistrate, cum ar fi documente Word,
foi de calcul Excel, imagini etc.
Hyperlink – poate conţine legături către o adresă Internet, un document aflat pe calculatorul
utilizatorului, un document din reţeaua locală, la o adresă electronică sau la un obiect al bazei
de date curente.
Lookup Wizard – un program de tip asistent care ajută la crearea unui câmp ale cărui valori
sunt selectate dintre valorile altui tabel, altei interogări sau dintr-o listă de valori.
Fiecare câmp al unui tabel are un număr de proprietăţi, care depind de tipul său. Configurarea proprietăţilor
se realizează, în zona Field Propereties, prin deschiderea tabelului în modul de lucru proiect. Design View
(vezi figura nr. ???).
9
D E S I G N C U S T O M I Z A T I O N
Field Size – specifică numărul maxim de caractere care pot fi introduse într-un câmp. În cazul
câmpurilor de tip Text, valoarea implicită şi maximă este 255 caractere, pentru cele Number
proprietatea poate lua valorile: Byte, Integer, Long Integer, Single, Double, Replication ID, iar
pentru cele AutoNumber: Long Integer sau Replication ID. Dimensiunea nu trebuie specificată
pentru câmpurile de tip: Currency, Date/Time, Yes/No, OLE Object, Hypelink, Memo.
Format – stabileşte modul în care programul va afişa informaţiile introduse în câmp şi depinde
de tipul câmpului. Formatul poate fi unul predefinit, selectat din lista care apare la click pe
săgeata din dreptul liniei Format sau unul personalizat, definit de utilizator. În figura
următoare este exemplificată proprietatea Format pentru un câmp de tip Number.
Decimal Places – stabileşte numărul de zecimale afişate. Această proprietate poate fi utilizată
pentru câmpurile numerice şi de tip valoare monetară şi afectează doar modul de afişare a
informaţiilor, nu şi conţinutul lor. Valorile posibile sunt: Auto – preia valoarea specificată prin
proprietatea Format sau un număr de la 0 la 15, selectat de utilizator.
10
D E S I G N C U S T O M I Z A T I O N
Input Mask – este un şir de caractere care specifică un format sau un şablon pe care trebuie să-l
respecte datele dintr-un câmp. Această proprietate poate fi utilizată pentru următoarele tipuri de
câmpuri: text, număr, dată calendaristică/oră, valoare monetară. Pentru fiecare caracter tastat, ea
stabileşte dacă este obligatoriu sau opţional, precum şi tipul acceptat: alfabetic, numeric,
alfanumeric sau arbitrar. Simbolurile ce pot fi utilizate pentru stabilirea caracteristicilor unui câmp
cu proprietatea Input Mask sunt prezentate în tabelul următor (Tabelul nr. ???).
Simboluri pentru masca de intrare
Caracter Descriere
0 Cifre de la 0 la 9 – obligatorii.
9 Cifre de la 0 la 9 – opţionale.
A Litere sau cifre – obligatorii.
a Litere sau cifre – opţionale.
C Orice caracter sau spaţiu – opţionale.
L Litere de la A la Z – obligatorii.
? Litere de la A la Z – opţionale.
# Cifre sau spaţii.
& Orice caracter sau spaţiu – obligatorii.
> Următoarele caractere sunt afişate cu majuscule.
< Următoarele caractere sunt afişate cu litere mici.
\ Caracterul care urmează va fi afişat ca un caracter literal.
.,:-/ Caractere utilizate pentru separarea zecimalelor, a miilor, orelor / minutelor /
secundelor, datelor calendaristice.
Stabilirea unei caracteristici ca mască de intrare pentru un câmp din baza de date se poate realiza şi cu
asistentul care se lansează prin accesarea butonului din dreptul proprietăţii Input Mask.
Caption – stabileşte o etichetă pentru un câmp dacă acesta va fi utilizat într-un formular. În
cazul în care nu se specifică nici o valoare la Caption titlul câmpului coincide cu numele lui.
Default Value – specifică o valoare ce va fi introdusă automat în câmpul pentru care a fost
stabilită. Această proprietate nu poate fi utilizată pentru câmpurile de tip AutoNumber şi OLE,
iar pentru cele de tip Number şi Currency valoarea implicită este iniţial zero, dar poate fi
modificată.
Validation Rule – este o expresie logică care limitează valorile ce pot fi introduse într-un
câmp. Ea poate avea cel mult 2048 de caractere. Proprietatea nu poate fi utilizată în cazul
câmpurilor AutoNumber, OLE şi Memo.
Validation Text – este un şir de maxim 255 caractere afişat când nu este respectată regula de
validare introdusă la Validation Rule.
Required – specifică dacă este obligatorie introducerea unei valori într-un câmp. Aceasta
proprietate poate lua două valori, Yes – este obligatorie introducerea de valori în câmpul
respectiv şi No – completarea cu valori a câmpului este opţională.
11
D E S I G N C U S T O M I Z A T I O N
Allow Zero Lenght – specifică dacă în câmpul respectiv utilizatorul poate introduce un şir de
lungime zero (şir vid). Acesta va fi introdus prin tastarea de două ori a caracterului ghilimele
(”), iar câmpul va păstra această proprietate chiar dacă atunci când este părăsit câmpul
ghilimelele tastate nu sunt afişate. Proprietatea este activă numai pentru câmpurile de tip Text,
Memo şi Hyperlink şi poate lua valorile Yes şi No.
o Yes (No duplicates) – câmpul este indexat şi nu permite ca două înregistrări din tabel
să aibă aceeaşi valoare. Este utilizată mai ales pentru declararea cheilor candidat;
o Yes (Duplicates OK) – câmpul este indexat şi permite ca două sau mai multe
înregistrări din tabel să aibă aceeaşi valoare în câmpul respectiv.
Smart Tag – ajută la integrarea, direct în Microsoft Access, a unor acţiuni efectuate în mod
normal de alte programe, de exemplu adăugarea numelui şi adresei unei persoane dintr-o bază
de date la lista de contacte din Microsoft Outlook.
Display Control – stabileşte controlul folosit la afişarea valorii unui câmp pentru tabele,
interogări sau formulare. În cazul câmpurilor Text sau Number proprietatea poate fi Text Box
(căsuţă text), List Box (listă simplă) sau Combo Box (listă combinată), iar pentru câmpurile de
tip Yes/No: Check Box (casetă de validare), Text Box sau Combo Box.
Notă
În funcţie de tipul stabilit pentru un câmp, Data Type, sunt disponibile numai anumite
proprietăți. Cele prezentate anterior sunt cele mai utilizatate la dezvoltarea aplicaţiilor în
Microsoft Access.
Pentru crearea tabelului Țări, după acţionarea opţiunii Table Design din meniul Create, grupul
Tables este introdusă denumirea primului câmp, Cod ţară şi este selectat tipul câmpului, AutoNumber
(vezi figura nr. ???).
12
D E S I G N C U S T O M I Z A T I O N
Ulterior, este creat câmpul Denumire ţară pentru care este selectat tipul Text cu dimensiunea 50,
introdusă la proprietatea Field Size (vezi figura nr. ???).
După crearea câmpurilor se declară cheia primară şi, unde este cazul, cheia candidat.
Cheia primară a unei relaţii (tabele) este un atribut sau grup de atribute care identifică fără ambiguitate
fiecare tuplu (linie) al relaţiei (tabelei).1 Cheia candidat este un atribut sau grup de atribute care îndeplineşte
condiţia de cheie primară, dar a fost preferat un alt câmp pentru aceasta.
1
Fotache, M., SQL. Dialecte DB2, Oracle şi Visual FoxPro, Editura Polirom, Iaşi, 2001, p. 30
13
D E S I G N C U S T O M I Z A T I O N
Pentru a declara câmpul Cod ţară cheie primară se poate proceda în două moduri:
click dreapta pe marcatorul de linie corespunzător câmpului Cod ţară şi selectarea opţiunii Primary
Key din meniul contextul (vezi figura nr. ???)
poziţionarea cursorul mouse-ului în câmpul Cod ţară şi selectarea opţiunii Primary Key din grupul
Tools, meniul Design (vezi figura nr. ??).
Atributul Denumire ţară este cheie candidat în tabelul Țări. Pentru declararea ei se va crea un index care să
nu permită două valori identice: se poziţionează cursorul mouse-ului în câmpul Denumire ţară şi din zona
General, în dreptul proprietăţii Indexed este selectată opţiunea Yes (No Duplicates).
14
D E S I G N C U S T O M I Z A T I O N
După alegerea acestei opţiuni, în câmpul respectiv nu va putea fi introdusă aceeaşi denumire de ţară de
două ori.
Notă
Pentru declararea cheilor primare compuse trebuie selectate toate câmpurile care fac parte din
cheia primară prin una din următoarele metode: (1) prin tragerea mouse-ului cu click stânga
apăsat, (2) prin utilizarea tastelor Shift şi ↓ sau (3) prin ţinerea apăsată a tastei Ctrl şi click
stânga pe fiecare câmp care formează cheia, urmată de selectarea opţiunii Primary Key din
meniul contextual sau din meniul Design, grupul Tools (vezi figura nr. ??).
15
D E S I G N C U S T O M I Z A T I O N
După introducerea tuturor câmpurilor, stabilirea tipului şi dimensiunii lor, tabelul este salvat cu denumirea
Țări prin accesarea opţiunii Save afişată la click pe butonul Office. Similar pot fi salvate toate obiectele
create în Microsoft Access.
O valoare implicită este o valoare introdusă automat de aplicaţie, dar care poate fi modificată de utilizator
în momentul introducerii informaţiilor în tabele. Proprietatea care stabileşte această caracteristică pentru un
câmp este Default Value.
În cerinţele aplicaţiei, prezentate la începutul capitolului, s-a solicitat stabilirea următoarelor valori
implicite:
“Restaurant” pentru câmpul Tip loc activitate din tabelul Locuri activităţi;
Data curentă a sistemului pentru câmpul Dată rezervare din tabelul Rezervări;
“Yes” pentru câmpurile Confirmare rezervare şi Confirmare participare.
Pentru a stabili valoarea implicită în tabelul Locuri activităţi trebuie deschis în modul de vizualizare
Design View, se poziționează cursorul mouse-ului pe câmpul Tip loc activitate şi, la proprietatea
Default Value, este scrisă valoarea corespunzătoare, respectiv, “Restaurant” (vezi figura nr. ???).
16
D E S I G N C U S T O M I Z A T I O N
Pentru câmpul Dată rezervare , din tabelul Rezervări, se va declara ca valoare implicită data curentă a
sistemului. Funcţia care returnează această valoare este Date(). Pentru a declara această valoare se deschide
tabelul Rezervări în modul Design View, se poziționează cursorul mouse-ului pe câmpul Dată rezervare şi
la proprietatea Default Value este scrisă funcţia menţionată (vezi figura nr. ???).
17
D E S I G N C U S T O M I Z A T I O N
Similar se declară şi valoarea implicită Yes pentru câmpurile Confirmare rezervare din tabelul
Rezervări (vezi figura nr. ???), respectiv, Confirmare participare din tabelul Participare activităţi.
18
D E S I G N C U S T O M I Z A T I O N
Regulile de validare specifică anumite expresii care limitează valorile introduse într-un câmp. Ele pot
fi stabilite la nivel de atribut, caz în care restricţionează numai valorile introduse într-un câmp, sau la
nivel de înregistrare, când limitează valorile din mai multe câmpuri ale tabelului prin stabilirea unor
dependenţe între ele. Proprietatea care stabileşte regulile este Validation Rule. În baza de date
conferinţa_FEAA vor fi declarate următoarele reguli de validare:
Prima literă pentru informaţiile introduse în câmpurile Denumire localitate, Denumire ţară,
Denumire hotel va fi majusculă;
Câmpul Categorie, din tabelul Hoteluri, conţine informaţii privind numărul de stele ale
hotelului şi poate lua valori între 1 şi 5;
Câmpurile Capacitate, Număr locuri, Număr nopţi trebuie să fie completate cu numere
pozitive, diferite de zero;
Toate câmpurile de tip dată sunt ulterioare zilei curente completării informaţiilor în tabele;
Dată sosire din tabelul Rezervări nu poate fi anterioară valorii din Dată rezervare;
Tip loc activitate poate lua urmatoarele valori: "Restaurant", "Aulă", "Amfiteatru",
"Muzeu","Mânăstire".
Notă
Pentru a stabili regula de validare conform căreia denumirea localităţii trebuie să înceapă cu
majusculă se deschide tabelul Localităţi în Design View, se poziţionează cursorul mouse-ului pe
câmpul Denumire localitate şi este scrisă următoarea regulă la proprietatea Validation Rule (vezi
figura nr. ???):
StrComp(Left(UCase([Denumire localitate]),1),Left([Denumire localitate],1),0)=0
Dacă utilizatorul nu respectă această condiţie, va fi avertizat prin afişarea mesajului “ Denumirea
localității trebuie să înceapă cu literă mare.” scris la proprietatea Validation Text a aceluiaşi câmp
(vezi figura nr. ???).
19
D E S I G N C U S T O M I Z A T I O N
Similar, se procedează pentru câmpurile Denumire ţară şi Denumire hotel din tabelele Țări, respectiv,
Hoteluri.
Pentru a stabili regula de validare conform căreia titlul comunicării trebuie să fie scris cu majuscule se
deschide tabelul Comunicări în Design View, se poziţionează cursorul mouse-ului pe câmpul Titlu
cumunicare şi este scrisă următoarea regulă la proprietatea Validation Rule:
StrComp(UCase([titlu comunicare]),[titlu comunicare],0)=0
Și în acest caz utilizatorul va fi averizat printr-un mesaj dacă încalcă regula, respectiv, “Titlul
comunicării trebuie scris cu majuscule.” scris la proprietatea Validation Text (vezi figura nr. ???).
20
D E S I G N C U S T O M I Z A T I O N
Pentru a implementa condiţia conform căreia în câmpul Categorie, din tabelul Hoteluri, pot fi
introduse numai valori din intervalul 1 şi 5 se scrie la Validation Rule una din următoarele două reguli
(vezi figura nr. ???):
21
D E S I G N C U S T O M I Z A T I O N
În acelaşi tabel, pentru a restricţiona ca valorile introduse în câmpul Capacitate să fie numere
positive, diferite de zero se scrie la Validation Rule regula [Capacitate]>0, iar la Validation Text
mesajul “Introduceți un număr pozitiv diferit de zero.” (vezi figura nr. ???).
22
D E S I G N C U S T O M I Z A T I O N
Similar, se procedează pentru câmpurile Număr locuri şi Număr nopţi din tabelul Rezervări.
Pentru a restricţiona introducerea unei date anterioare celei curente în câmpul Dată activitate, din
tabelul Participare evenimente, la proprietatea Validation Rule, se scrie regula [Data
activitate]>=Date(), iar la Validation Text mesajul “Data activitatii trebuie sa fie ulterioara zilei
curente.” (vezi figura nr. 20).
23
D E S I G N C U S T O M I Z A T I O N
Pentru ultima regulă de validare stabilită, restricţionarea domeniului de valori ale câmpului Tip loc
activitate la "Restaurant", "Aulă", "Amfiteatru", "Muzeu", "Mânăstire", se scrie la proprietatea
Validation Rule a câmpului respectiv regula In ("Restaurant", "Aulă", "Amfiteatru", "Muzeu",
"Mânăstire"), iar la Validation Text mesajul este “Locul de desfășurare a activității poate fi aula, un
amfiteatru, un muzeu sau o mânăstire.” (vezi figura nr. ???).
24
D E S I G N C U S T O M I Z A T I O N
Pentru a stabili regula de validare la nivel de înregistrare prin care data rezervării trebuie să fie
anterioară datei sosirii, se deschide tabelul Rezervări în Design View şi se accesează opţiunea
Property Sheet (vezi figura nr. ???).
25
D E S I G N C U S T O M I Z A T I O N
Regula de validare la nivel de înregistrare pentru câmpurile Data sosire şi Data rezervare
Similar, se realizează restricţia prin care data sosirii trebuie să preceadă data plecării.
În orice bază de date anumite informaţii nu trebuie să lipsească şi pentru această este disponibilă
proprietatea Required. Ea permite utilizatorului să treacă de câmpul pentru care este stabilită abia
după ce îl completează cu informaţii. Pentru a defini această proprietate pentru câmpul Denumire ţară
din tabelul Ţări, se deschide tabelul în Design View şi este selectată opţiunea Yes la proprietatea
Required (vezi figura nr. ???).
26
D E S I G N C U S T O M I Z A T I O N
Similar se procedează cu restul câmpurile menţionate în cerinţa problemei, respectiv, Denumire ţară,
Denumire localitate, Titlu comunicare, Nume participant, Denumire hotel, Denumire organizaţie,
Denumire activitate şi Denumire loc activitate.
Stabilirea formatului Short Date şi Short Time pentru câmpurile de tip dată calendaristică, respectiv,
oră se realizează la proprietatea Format. De exemplu , pentru Dată activitate, se deschide
tabelul Participare activităţi în modul Design View, se poziţionează cursorul mouse-ului pe câmpul
Dată activitate şi la proprietatea Format este selectată opţiunea Short Date (vezi figura nr. ???).
Pentru câmpul Oră activitate din acelaşi tabel se va selecta la proprietatea Format opţiunea Short
Time (vezi figura nr. ???).
27
D E S I G N C U S T O M I Z A T I O N
unu-la-multe (one-to-many) – unei înregistrări din tabelul părinte îi corespunde una sau mai multe
înregistrări în tabelul copil. Acest tip de relaţie este cel mai frecvent întâlnit în bazele de date
relaţionale;
multe-la-multe (many-to-many) – mai multor înregistrări din tabelul părinte le corespund mai multe
înregistrări în tabelul copil.
Relaţiile dintre tabele trebuie să respecte anumite reguli de integritate referenţială care controlează modul
în care pot fi modificate şi şterse înregistrările şi care protejează informaţiile de eventualele erori în cazul
efectuării unor asemenea operaţiuni. Integritatea referenţială impune următoarele condiţii:
înainte de a insera o înregistrare în tabelul copil în tabelul părinte trebuie să existe o înregistrare
corespondentă;
valoarea cheii primare din tabelul părinte nu poate fi ştearsă dacă există înregistrări corespondente
în tabelul copil;
28
D E S I G N C U S T O M I Z A T I O N
dacă este modificată valoarea cheii primare pentru o înregistrare în tabelul părinte, înregistrările
corespondente din tabelul copil vor lua noua valoare.
Pentru aplicarea acestor reguli trebuie îndeplinite, în primul rând, următoarele trei condiţii2:
Această opţiune deschide fereastra Relationships şi fereastra Show Tables care conţine toate tabelele bazei
de date (vezi figura nr. ???).
2
Johnson, S., Microsoft Office. Access 2003, Editura Teora, Bucureşti, 2004, p. 59
29
D E S I G N C U S T O M I Z A T I O N
Adăugarea tabelelor în fereastra Relationships se realizează prin selectarea lor şi acţionarea butonului Add.
Relaţia dintre două tabele se realizează prin „tragere” (Drag&Drop) cu butonul stâng al mouse-ului apăsat
de pe câmpul cheie primară în tabelul părinte până la câmpul cheie străină în tabelul copil. După ce este
eliberat butonul mouse-ului, între cele două tabele apare o linie care simbolizează legătura dintre ele şi pe
ecran este afişată fereastra de dialog Edit Relationships, în care va fi confirmată, modificată sau anulată
relaţia (vezi figura nr. ???).
Activarea opţiunii Enforce Referential Integrity face disponibile opţiunile Cascade Update Related Fields
şi Cascade Delete Related Records pentru propagarea în cascadă a modificărilor din tabelul părinte în
tabelul copil, respectiv, pentru ştergerea în cascadă a înregistrărilor din tabelul părinte în copil . În acest caz
interesează numai restricţia la inserare şi modificarea în cascadă (vezi figura nr. ???). În partea de jos a
ferestrei este precizat tipul relaţiei, respectiv Relationship Type: One-To-Many.
30
D E S I G N C U S T O M I Z A T I O N
În mod similar, vor fi create şi restul relaţiilor dintre tabelele bazei de date conferinţă_FEAA. Baza de date
în formă finală este prezentată în figura nr. ???.
Modificarea unei relaţii se poate realiza cu click dreapta pe linia de legătură şi selectarea opţiunii Edit
Relationship.... din meniul contextul sau prin dublu click pe aceeaşi linie. Ştergerea unei relaţii se face prin
selectarea opţiunii Delete.
31
D E S I G N C U S T O M I Z A T I O N
Notă
Legăturile dintre tabele sunt foarte importante: mai întâi trebuie populate tabelele părinte,
ulterior cele copil. În cazul în care nu se ţine cont de această condiţie, va fi afişat mesajul de
eroare din figura nr. ???, care avertizează utilizatorul că nu există o înregistrare
corespunzătoare în tabelul părinte.
Ştergerea unei înregistrări presupune selectarea acesteia prin click pe marcatorul de linie şi alegerea
opţiunii Delete Delete Record din grupul Records, meniul Home.
32
D E S I G N C U S T O M I Z A T I O N
În cazul câmpurilor pentru care s-au declarat reguli de validare sau măşti de intrare, dacă nu sunt respectate
condiţiile la introducerea înregistrărilor vor apărea mesaje de eroare (vezi figura nr. ???).
Mesaj de eroare care apare la încalcarea regulii de validare pentru denumirea localităţii
Interogările specificate în cerinţe vor fi realizate în modul de lucru proiect şi/sau cu limbajul SQL.
3
Airinei, D. (coord.), Instrumente software pentru afaceri. Aplicaţii practice, Editura Sedcom Libris, Iaşi, 2010, p. 323
33
D E S I G N C U S T O M I Z A T I O N
Pentru a răspunde la această întrebare putem utiliza modul de lucru proiect cu următoarele etape:
1. Se deschide utilitarul Query Design prin acţionarea opţiunii cu acelaşi nume din grupul de opţiuni
Other, meniul Design. Pe ecran sunt afişate fereastrele Query1, nume atribuit implicit interogării de
Microsoft Access, şi Show Table (vezi figura nr. ???).
2. Din fereastra Show Table se adaugă, pe rând, tabelele din care se va realiza interogarea, prin
selectarea fiecăruia şi accesarea butonului Add. Acestea vor apărea în zona de lucru (vezi figura
???).
Notă
Fereastra Show Table poate fi afişată prin selectarea opţiunii cu acelaşi nume din meniul
contextual al interogării.
34
D E S I G N C U S T O M I Z A T I O N
Sort – ordonarea rezultatului după unul sau mai multe criterii, crescător sau descrescător;
Criteria şi OR– condiţiile pe care trebuie să le îndeplinească rezultatul (în funcţie de locul unde
sunt poziţionate pot fi obligatorii sau opţionale).
3. Sunt selectate câmpurile ce vor apărea în interogare pe linia Fields, respectiv Nume participant,
Prenume participant şi Denumire secţiune, prin dublu click pe denumirea lui sau prin poziţionarea
cursorului într-o coloană liberă din dreptul liniei Fields şi selectarea câmpului din lista afişată la
click stânga pe săgeata ( ) din dreptul lui. (vezi figura nr. ???).
4. Este formulată condiţia prin scrierea denumirii secţiunii, Globalization and Business
Information Systems la intersecţia liniei Criteria cu coloana corespunzătoare câmpului
Denumire secţiune (vezi figura nr. ???).
35
D E S I G N C U S T O M I Z A T I O N
5. Execuţia interogării şi afişarea rezultatului se realizează prin utilizarea butonului Run ( ) din
meniul Design, grupul de opţiuni Results (vezi figura nr. ????).
Notă
Pentru ascunderea unui câmp din rezultatul interogării este dezactivată opțiunea Show
corespunzătoare lui. În figura nr. ??? este exemplificat pentru câmpul Denumire secțiune.
36
D E S I G N C U S T O M I Z A T I O N
Pentru realizarea acestei interogări în modul SQL, după deschiderea utilitarului Query Design se închide
fereastra Show Table şi este selectată opţiunea SQL View din meniul Design, grupul Results (vezi figura nr.
???).
Pe ecran se deschide o fereastră în care trebuie scrisă interogarea (vezi figura nr. ???).
37
D E S I G N C U S T O M I Z A T I O N
Pentru a răspunde la această întrebare, interogarea anterioară va fi trasformată în dinamică prin scrierea
denumirii câmpului care trebuie introdus de utilizator, urmat de semnul două puncte, [Denumire secţiune:]
în acest caz pe linia Criteria, ca în figura următoare:
La executarea interogării utilizatorului i se solicită să introducă denumirea secţiunii pentru care va fi afişată
lista participanţilor (vezi figura nr. ???).
În funcţie de secţiunea introdusă este afişată lista paticipanţilor. În figura următoare este exemplificat
rezultatul pentru Globalization and Business Information Systems (pentru a se vedea ca acesta coincide
cu cel obţinut la interogarea anterioară) şi pentru secţiunea Higher Education: Trends, Challenges
and Emerging Opportunities.
38
D E S I G N C U S T O M I Z A T I O N
1. Selectarea tabelelor şi câmpurilor din interogare cu ajutorul utilitarului Query Design (vezi figura
nr. ??).
39
D E S I G N C U S T O M I Z A T I O N
2. Stabilirea condiţiilor: tipul camerei să fie Double, iar hotelul Unirea sau Traian (vezi figura nr. ???)
Scrierea condiţiilor
Rezultatul interogării: participanţii care au solicitat camere duble la hotelurile Unirea şi Traian
Fraza SQL prin care se poate realiza această interogare este următoarea:
SELECT [Nume participant], [Prenume participant], [Denumire hotel], [Data sosire], [Data
plecare], [Tip camera], [Numar locuri]
Pentru realizarea acestei interogări, în modul de lucru proiect, sunt necesare următoarele etape:
40
D E S I G N C U S T O M I Z A T I O N
1. Deschiderea utilitarului Query Design, selectarea tabelelor din care se va realiza interogarea,
respectiv, Organizaţii şi Participanţi, a câmpurilor necesare Denumire organizaţie şi Participanţi
(vezi figura nr. ???) prin operaţiuni similare celor explicate în etapele 1-3 la exemplul anterior.
2. Afişarea liniei Totals în partea de jos a ferestrei prin acţionarea opţiunii cu acelaşi nume ( )
din grupul Show/Hide, meniul Design.
3. Selectarea operatorului pentru numărare Count pentru câmpul Nume participant şi gruparea datelor
după câmpul Denumire organizaţie (vezi figura nr. ???)
41
D E S I G N C U S T O M I Z A T I O N
4. Afişarea rezultatelor prin utilizarea opţiunii Run (vezi figura nr. ???).
42
D E S I G N C U S T O M I Z A T I O N
Pentru a afla câte locuri trebuie rezervate la fiecare hotel se folosesc câmpurile Denumire hotel şi Număr
locuri din tabelele Hoteluri şi Rezervări grupate după Denumre hotel pentru care se însumează valorile din
coloana Număr locuri şi se aplică condiţia ca rezultatul să fie cel puţin cinci (vezi figura nr. ???).
Fraza SQL prin care se poate realiza această interogare este următoarea:
43
D E S I G N C U S T O M I Z A T I O N
Formularele sunt utilizate pentru a asigura actualizarea informaţiilor din baza de date într-o manieră
prietenoasă şi plăcută, dar în acelaşi timp, mai rapidă deoacere permit introducerea, modificarea sau
ştergerea informaţiilor din mai multe tabele dintr-o singură fereastră.
Pentru realizarea formularelor în Microsoft Access pot fi utilizate una din următoarele modalităţi de
lucru existente în grupul de opţiuni Forms din meniul Create4 (vezi figura nr. ???):
Form – aplicaţia va genera automat un formular pentru tabela selectată care afişează implicit o
singură înregistrare pe ecran;
Split Form – aplicaţia va genera automat un formular pentru tabela selectată care afişează, în
partea de sus a ferestrei, formularul cu o singură înregistrare, iar în partea de jos tabelul din
care a fost realizat;
Multiple Items – generează automat un formular care afişează mai multe înregistrări pe ecran
(defineşte câte o linie pentru fiecare înregistrare);
Blank Form – crează un formular gol în care utilizatorul va putea “aduce” câmpurile dorite
din tabele;
More Forms:
o Form Wizard – utilizatorul va fi asistat pas cu pas în realizarea formularului;
4
Airinei, D. (coord.), Instrumente software pentru afaceri. Aplicaţii practice, Editura Sedcom Libris, Iaşi, 2010, p. 398
44
D E S I G N C U S T O M I Z A T I O N
o Datasheet – generează un formular care afişează datele sub formă de tabel, similar
unei foi de calcul tabelar;
o Modal Dialog – crearea unui formular de tip ferestră de dialog care conţine implicit
butoanele OK şi Cancel;
Form Design – realizarea formularului în modul de lucru proiectare fără asistenţa oferită
de Access.
Pentru formularul Actualizare informaţii participanţi este necesar să se realizeze două formulare, unul
principal care va conţine informaţii despre participanţi şi un subformular pentru informaţiilor despre
cazare.
1. Realizarea unui formular nou cu opţiunea Form Design din grupul de opţiuni Forms, meniul
Create;
Fields din grupul de opţiuni Tools, meniul Design. În partea dreaptă apare fereastra
Field List unde vor fi afişate tabelele şi câmpurile disponibile prin activarea butonului Show
all tables (vezi figura nr. ???).
45
D E S I G N C U S T O M I Z A T I O N
3. Inserarea câmpurilor în formular se realizează prin tragere, tehnica Drag&Drop, din fereastra
Field List în fereastra formularului Form1 (vezi figura nr. ???).
4. Transformarea controlului Cod hotel din Text Box în Combo Box şi înlocuirea lui se realizează
prin alegerea opţiunii Change To... Combo Box din meniul contextual al controlului
respectiv (vezi figura nr. ???);
Înlocuirea codului hotelului cu denumirea sa se realizează utilizând proprietatea Row Source (vezi
figura nr. ???) după activarea ferestrei cu proprietăţi a controlului Property Sheet ( ) din
opţiunea cu aceeaşi denumire, grupul Tools.
46
D E S I G N C U S T O M I Z A T I O N
Sursa datelor pentru acest control este interogarea următoarea realizată în modul de lucru Design
View (vezi figura nr. ???):
FROM Hoteluri;
Pentru a definitiva operaţiunea se scrie valoarea 2 în dreptul proprietăţii Bound Column care
realizează legătura dintre forumalar şi interogare (vezi figura nr. ????) şi se modifică explicaţia dată
informaţiilor afişate prin controlul respectiv din Cod hotel în Denumire hotel.
47
D E S I G N C U S T O M I Z A T I O N
7. Subformularul este salvat cu numele Rezervări şi este prezentat în formă finală în figura nr.
????.
Formularul principal conţine informaţii din tabelele Participanţi, Funcţii şi Organizaţii. Inserarea
câmpurilor în formular şi transformarea controalelor corespunzătoare câmpurilor Cod funcţie şi Cod
organizaţie din Text Box în Combo Box care să preia denumirea funcţiei, respectiv, denumirea
organizaţiei se realizează prin operaţiuni similare celor derulate pentru subformularul Rezervări.
Etapele care urmează sunt:
48
D E S I G N C U S T O M I Z A T I O N
Box ( ) este Date de identificare participant (vezi figura nr. ???) şi este scris cu font
Calibri, dimensiunea 11 şi culoarea siglei FEAA prin utilizarea opţiunilor corespunzătoare din
grupul Font, meniul Design.
a. activarea zonei de titlu a formularului prin utilizarea opţiunii Title din grupul Controls,
meniul Design (vezi figura nr. ???).
49
D E S I G N C U S T O M I Z A T I O N
c. inserarea siglei FEAA în partea de sus a formularului prin utilizarea controlului Image
din grupul Controls meniul Design.
d. încadrarea titlului între două linii paralele prin utilizarea controlui Line ( ) din grupul
Controls, meniul Design. Îngroşarea liniilor se realizează prin alegerea dimensiunii de 6 pt
la proprietatea Border Width, iar schimbarea culorii prin alegerea ei la proprietatea Boder
Color (vezi figura nr. ???).
50
D E S I G N C U S T O M I Z A T I O N
51
D E S I G N C U S T O M I Z A T I O N
4. Crearea butoanelor de comandă pentru adăugarea unui participant nou se realizează prin
utilizarea controlului Button ( ) din grupul de opţiuni Controls, meniu Design. Pe ecran
apare prima fereastră a Wizard-ului pentru crearea butoanelor de comandă din care se alege
categoria de acţiuni şi acţiunea pe care o va realiza butonul, Record Operation şi, respectiv,
Add New Record (vezi figura nr. ???).
52
D E S I G N C U S T O M I Z A T I O N
În următorul ecran este scris textul care va fi afişat pe buton, respectiv, Adăugare participant (vezi
figura nr. ???).
53
D E S I G N C U S T O M I Z A T I O N
Urmează ultimul ecran care permite atribuirea unui nume butonului de comandă şi finalizarea
operaţiunilor.
Similar sunt create celelalte butoane de comandă pentru Ștergere participant, Activităţi sociale şi
divertisment (va deschide un formular pentru selectarea preferinţelor participanţilor la activităţile
respective), Listă participanţi (deschide un raport cu toţi participanţii), Salvare, Închidere şi pentru
navigare printre înregistrări.
Operaţiunile pentru care pot fi create butoane de comandă în Microsoft Access sunt prezentate în
tabelul următor (vezi Tabelul nr. ????).
Descrierea butoanelor de comandă ce pot fi utilizate în Microsoft Access
54
D E S I G N C U S T O M I Z A T I O N
55
D E S I G N C U S T O M I Z A T I O N
Rapoartele reprezintă rezultatul aplicaţiilor cu baze de date şi sunt utilizate pentru afişarea sau
tipărirea datelor din tabele sau interogări.5 Ele trebuie construite conform cerinţelor funcţionale
exprimate de beneficiarii aplicaţiei şi pot fi vizualizate pe ecran sau tipărite la imprimantă.
Pentru realizarea rapoartelor în Microsoft Access pot fi utilizate următoarele modalităţi de lucru,
disponibile în meniul Create, grupul de opţiuni Reports (vezi figura nr. ???):
Blank Report – crearea unui raport gol în care pot fi inserate câmpuri şi controale;
5
Airinei, D. (coord.), Instrumente software pentru afaceri. Aplicaţii practice, Editura Sedcom Libris, Iaşi, 2010, p. 365
56
D E S I G N C U S T O M I Z A T I O N
Pentru realizarea unui raport pot fi utilizate mai multe modalităţi de lucru individuale sau combinate,
dintre cele prezentate anterior.
57
D E S I G N C U S T O M I Z A T I O N
3. Gruparea datelor se realizează prin acţionarea opţiunii Add a group şi selectarea câmpului
Denumire secţiune din caseta afişată (vezi figura nr. ???).
Afişarea numărului de lucrări pe secţiune se realizează prin selectarea opţiunii Show in group footer la
categoria More with Denumire sectiune totaled (vezi figura nr. ???).
58
D E S I G N C U S T O M I Z A T I O N
Afişarea denumirii secţiunii şi a titlului atribuit controlului în zona de antet se realizează fie prin
mutare (Cut Paste), fie prin tragere (Drag&Drop).
4. Editarea zonei de titlu (Report Header) prin aceleaşi operaţiuni ca la formulare după
deschiderea raportului în Design View.
5. Modificările la nivelul fontului din opţiunile corespunzătoare din meniul Design, grupul Font.
6. Inserarea unei linii sub denumirea coloanelor din antetul de pagină prin utilizarea controlului
Line din grupul de opţiuni Controls, meniul Design.
7. Raportul în formă finală este prezentat în figura următoare (vezi figura nr. ???).
Realizarea de liste care vor fi trimise la hoteluri pentru rezervarea locurilor de cazare presupune
următoarelor etape în modul de lucru proiect (Report Design):
59
D E S I G N C U S T O M I Z A T I O N
1. Realizarea interogării care va constitui sursa de date pentru raport. În acest caz se va utiliza o
interogare dinamică pentru a elabora liste individuale pentru fiecare hotel (vezi figura nr. ???).
2. Accesarea proiectantului de rapoarte prin activarea opţiunii Report Design din meniul Create,
grupul Reports. Se deschide fereastra Report1, denumire implicit atribuită de Microsoft
Access, în care vor fi plasate toate elementele raportului proiectat.
3. Selectarea sursei datelor se realizează, în acest caz, prin click dreapta pe raport şi alegerea
opţiunii Properties, din meniul contextual, sau prin accesarea opţiunii Property Sheet din
meniul Design. Pe ecran este afişată fereastra cu proprietăţile disponibile din care trebuie
selectat obiectul Report şi, ulterior, la proprietatea Record Source interogarea rezervari_2011
care conţine informaţiile ce vor fi introduse în raport (vezi figura nr. ???).
60
D E S I G N C U S T O M I Z A T I O N
Deschiderea
proiectantului de
interogări pentru a
realiza o
interogare nouă
4. După selectarea sursei datelor, afişarea câmpurilor disponibile din cadrul acesteia se realizează
prin acţionarea opţiunii Add Existing Fields care deschide fereastra Field List. Adăugarea
câmpurilor în raport şi aranjarea acestora se realizează prin tehnica Drag&Drop. Vor fi
inserate toate câmpurile cu excepţia denumirii hotelului care va fi adăugată în zona de titlu.
Raportul obţinut este prezentat în figura nr. ??? în modul de vizualizare Design View.
5. Afişarea zonei de titlu a raportului prin selectarea opţiunii Report Header/Footer din meniul
contextual al raportului (vezi figura nr. ???) sau din meniul Arrange grupul de opţiuni
Show/Hide Report Header/Footer.
61
D E S I G N C U S T O M I Z A T I O N
După activarea acestor zone se inserează sigla facultăţii, denumirea şi perioada conferinţei, prin
operaţiuni similare celor prezentate la formular şi denumirea hotelului la care va fi trimisă lista, prin
tehnica Drag & Drop (vezi figura nr. ???). În momentul apelării opţiunii Print Preview pe ecran este
afişată o casetă de dialog prin care se solicită introducerea denumirii hotelului pentru care se
vizualizeză/tipăreşte lista şi care va apărea în zona de titlu a raportului.
6. Personalizarea antetului de pagină la nivel de font, din meniul Design, grupul Font, şi
delimitarea lui de restul raportului cu două linii paralele din acelaşi meniu, grupul Controls,
opţiunea Line.
7. Inserarea numărului de pagină prin utilizarea opţiunii Insert Page Number din meniul Design,
grupul Controls (vezi figura nr. ???).
62
D E S I G N C U S T O M I Z A T I O N
Din fereastra afişată, Page Numbers (vezi figura nr. ???), poate fi selectat formatul numărului de
pagină (Format), poziţia acestuia, în antetul sau subsolul paginii (Position), respectiv aliniat la stânga,
la dreapta sau centrat (Alignment) şi afişarea sau ascunderea numărului pe prima pagină a raportului
(Show Number on First Page).
Editarea textului afişat la numărul paginii, din Page în Pagina se realizează la proprietate Control
Source (vezi figura nr. ???).
63
D E S I G N C U S T O M I Z A T I O N
9. Salvarea raportului cu denumirea Rezervari hotel se realizează prin click pe butonul Office şi
acţionarea opţiunii Save. Vizualizarea raportului în modul Print Preview presupune selectarea
opţiunii corespunzătoare din meniul Home View Print Preview. Pe ecran este afişată o
casetă de dialog în care utilizatorul trebuie să introducă denumirea hotelului pentru care
dorește să vizualizeze/tiparească lista participanţilor (vezi figura nr. ???). Raportul în formă
finală este prezentat în figura nr. ????.
64
D E S I G N C U S T O M I Z A T I O N
http://www.itlearning.ro/tutorials/tutorial/?tutorial=26&chapter=10
65