Sunteți pe pagina 1din 69

MICROSOFT ACCESS

Obiective:
No iuni generale
Prezentarea aplica iei
Lansarea i nchiderea programului
Proiectarea structurii bazei de date
Opera ii cu tabele
Opera ii cu datele tabelelor
Crearea rela iilor ntre tabele
Sortarea, filtrarea i indexarea datelor
La sfritul acestui curs va trebui s tii urmtoarele:
Lansarea i nchiderea programului
Crearea i deschiderea unei baze de date
Crearea, salvarea i editarea tabelelor
Comutarea ntre modurile de vizualizare
Operaii principale cu nregistrrile unei tabele
ormatarea tabelelor
!efinirea relaiilor
"ortarea i filtrarea datelor
Operaii cu cereri
Operaii cu formulare
Operaii cu rapoarte
Operaii cu etichete
#$%O$#&'
Lecia 1
Obiectivele leciei
No iuni generale
Prezentarea aplica iei
Lansarea i nchiderea programului
Proiectarea structurii bazei de date
Opera ii cu tabele
Opera ii cu datele tabelelor
Crearea rela iilor ntre tabele
Sortarea, filtrarea i indexarea datelor
La sfritul acestei lecii va trebui s tii urmtoarele:
Lansarea si inchiderea programului
Crearea si deschiderea unei baze dedate
Crearea, salvarea si editarea tabelelor
Comutarea intre modurile de vizualizare
Operatii principale cu inregistrarile unei tabele
ormatarea tabelelor
!efinirea relatiilor
"ortarea si filtrarea datelor
NOIUNI INTRODUCTIVE DESPRE BAZE DE DATE
DEFINIREA TERMENILOR
O baz de date reprezint o colecie de date nrudite, care se refer la un anumit subiect
sau obiectiv, mpreuna cu instrumentele folosite pentru manipularea acestor date(
O baza de date conine urmtoarele elemente:
&abelul )table* + colecie de date nrudite, stocate pe linii i coloane,
Cmpul )field* + coloana din cadrul tabelului, care reprezint cea mai mic
unitate de date din cadrul bazei de date(
-
#$%O$#&'
.nregistrarea )record* + linia din cadrul tabelului( Linia este compus din
cmpuri i conine toate datele referitoare la un anumit element )dimensiuni, culori,
greuti i alte caracteristici*(
Obiect )object* + component individual Acce, cum ar fi un tabel, un
formular, o interogare sau un raport(
ormular )form* + un obiect Acce care afieaz informaiile dintr/un
tabel ntr/un format diferit de cel al tabelului )altfel dect pe linii sau coloane*(
0nterogare )query* + 1n obiect Acce care stocheaz ntrebri cu privire la
datele stocate n baza de date(
#aport )report* + 1n obiect Acce care stocheaz detalii pentru afiarea
sau tiprirea datelor n mod organizat(
r a/i propune s schieze o metodologie sau s stabileasc reguli, acest capitol
ncearc s puncteze etapele principale ale dezvoltrii de aplicaii de baze de date i s
e2emplifice utilizarea unor instrumente specifice i va aborda proiectarea modelului
conceptual(
!ezvoltarea de aplicaii de baze de date de mari dimensiuni este n acelai timp un fapt
banal, dar i un fapt e2traordinar( 3analitatea const n faptul c un procent semnificativ
din efortul de dezvoltare de aplicaii se ndreapt spre acest domeniu( '2traordinarul se
leag de comple2itatea deosebit a acestor aplicaii, care implic echipe mari de
proiectani, necesit att e2perien n domeniu ct i adaptarea la condiii mereu noi( 4i
nu n ultimul rnd, reprezint o mare responsabilitate( Cu toate c industria de soft5are
cunoate o adevrat e2plozie, cu toate c suntem literalmente bombardai cu sute i sute
de aplicaii din ce n ce mai comple2e i mai specializate, nc nu a fost 6inventat7 un
pachet soft5are care s satisfac necesitile generale ale unei ntreprinderi( Chiar dac ne
restrngem preteniile la partea numit de obicei 6de gestiune economic7, un astfel de
soft5are nu se ntrezrete la orizont, cu toate c n linii mari, toate ntreprinderile
funcioneaz pe aceleai principii( '2ist pachete 6de gata7 care satisfac anumite nevoi
specifice dar, la noi ca i n alte pri, elemente specifice primeaz i n consecin marea
ma8oritate a ntreprinderilor prefer s/i construiasc 6la comand7 sistemul informatic(
$ceast abordare implic ns un efort substanial i nu lipsit de riscuri( .n rile cu o
economie 6normal7 procesul se desfoar cam n felul urmtor( .n primul rnd,
compania i evalueaz la modul general nevoile informatice i posibilitile
organizatorice i financiare( $poi se anga8eaz o firm specializat de consultan care,
pe baza unei e2pertize, stabilete cu mai mare precizie cerinele i posibilitile, dup care
sugereaz un numr de propuneri( $cestea se refer att la principiile tehnologice de baz
ct i la costurile evaluate i ealonarea lor n timp( $cum ncepe o nou iteraie(
Compania analizeaz propunerile i alege una dintre ele )sau o combinaie din mai multe*
i se trece la treab( 6&reaba7 const de obicei i n acest caz n contactarea unei tere
firme )de consultan i integrare* care va prelua contractual sarcini, ncepnd cu
proiectarea de ansamblu a sistemului, achiziionarea echipamentelor i a soft/ului de
baz, i terminnd cu training, asisten tehnic, mentenan hard i soft( etc( "unt foarte
rare situaiile cnd o companie poate s/i permit s realizeze toate acestea prin fore
proprii( '2plicaia este e2trem de simpl, n perspectiv occidental: banii( $ plti la
modul permanent oameni cu o foarte nalt calificare i e2perien n domeniu este un lu2
pe care foarte puini i/l pot permite, mai ales cnd nu informatica este obiectul afacerii(
0deea este de a pstra doar o echip restrns care s asigure e2ploatarea i ntreinerea
curent a sistemului informatic, pentru activitile speciale apelnd la competene e2terne,
orientate pe problem( #evenind la realitatea economic romneasc, constatm c
lucrurile stau cu totul altfel( "cenariile clasice corespund situaiilor tipice: ntreprinderea
9
#$%O$#&'
)organizaia* are sau nu are bani( !ac nu are, se pornete de la o 6evaluare7 de genul
urmtor: 6Cam de cte calculatoare am avea nevoie ca s(((7( #spunsul e ceva de genul
6!e vreo(((7( "e cumpr de regul cele mai ieftine calculatoare, se face rost de un om i
se trece la treab( "e constat c s/a investit aiurea, se ncearc o crpeal )pardon, patch*,
etc, i n cele din urm se pierd doi ani i o groaz de bani( !ac organizaia are bani,
singura diferen este c se face o licitaie, se ncaseaz 6un mic7 avans i se trece la
treab, ca i n cazul precedent(
Capitolul acesta nu i propune s te fac un e2pert n domeniu( Ceea ce se ncearc este
doar s sugereze care este n mare problematica dezvoltrii de aplicaii de baze de date de
dimensiuni mari, medii sau mici )la nivel de ntreprindere sau la nivel departamental* i
care sunt principalele categorii de instrumentele care se pot utiliza( 'ste de fapt o
ncercare de sintez bazat att pe e2periena proprie n domeniu )ntr/o mare
ntreprindere* ct i pe ansa de a cunoate i de a testa un numr relativ mare de produse
soft5are moderne destinate acestui scop(
GENERALITI
1n sistem de gestiune a bazelor de date )S!BD* este un mecanism al crui principiu
fundamental const, la modul cel mai general, n aa/zisa abstractizare a datelor stocate
pe suport( '2ist trei nivele de abstractizare, corespunznd celor trei modele ale datelor:
fizic, conceptual i logic(
:odelul fizic )sau intern* privete datele aa cum sunt ele stocate pe suport
i reprezint nivelul zero al abstractizrii,
:odelul conceptual privete datele prin semnificaia lor real,
:odelul logic )sau e2tern* privete datele prin prisma utilizatorului final(
%entru o baz de date pot e2ista mai multe modele logice, n funcie de diversele categorii
posibile de utilizatori finali( :ecanismele de 6proiecie7 ntre aceste nivele asigur ceea
ce se cheam de obicei independena de date, adic stabilitatea aplicaiilor la modificri n
modul fizic de stocare a datelor( %roiectarea aplicaiilor de baze de date implic din
aceast perspectiv dou etape iniiale e2trem de importante: proiectarea logic i
respectiv implementarea fizic a modelului de date( :odelul de date formeaz fundaia
ntregului sistem de aplicaii ce va e2ploata baza de date( %roiectarea logic )logical
design* se refer la stabilirea modelului conceptual al bazei de date care este n mare
msur independent de S!BD/ul particular care va fi utilizat( #ezultatul acestei etape a
proiectrii este un document care va cuprinde definiia detaliat a structurilor de date ce
vor fi implementate mpreun cu toate elementele de semantic asociate acestor structuri(
0mplementarea fizic )physical implementation* const n transpunerea pe S!BD/ul
specific a modelului conceptual realizat n etapa anterioar( Concretizarea acestei etape
const ntr/un script )o list de comenzi* realizat n limba8ul de descriere a datelor )DDL /
Data Description Language* utilizat de S!BD/ul ales( #olul acestuia este s creeze i s
iniializeze baza de date cu structurile corespunztoare celor descrise n etapa anterioar(
$cest script se mai numete schema bazei de date i va fi utilizat ca referin n
proiectarea aplicaiilor propriu/zise(
$ceast etap este e2trem de comple2 i de important, deoarece ea stabilete o serie de
elemente care vor influena funcionalitatea, e2tensibilitatea i, ntr/o destul de mare
msur, performana ansamblului de aplicaii care va fi dezvoltat(
:etoda cea mai utilizat n aceast etap este cea a diagramelor 'ntitate / #elaie )ER +
Entity-Relationship*( %rincipalii pai ai proiectrii sunt prezentai pe scurt n continuare(
;
#$%O$#&'
CULEGEREA !"#R$A%L#R
%rimul pas n crearea unei baze de date este nelegerea perfect a activitii care urmeaz
s fie modelat( $naliza se face desigur la faa locului i implic stabilirea e2act a
obiectivelor activitii modelate, a obiectivelor specifice care se urmresc prin
implementarea sistemului, a regulilor care guverneaz afacerea i care se cer impuse
sistemului informatic( "e urmrete n acest scop funcionarea sistemului e2istent )fie
manual, fie de8a informatizat n parte* i se discut cu managerii i utilizatorii finali ai
viitorului sistem(
0at un set de ntrebri uzuale n aceste interviuri:
Care sunt obiectivele activitii, sau ale ntreprinderii n general<
Cum ar trebui s se concretizeze acestea n obiective pentru sistemul
informatic<
Care sunt intrrile i ieirile sistemului( Ce rapoarte trebuie obinute i ct
de des<
Cum vor fi introduse datele i cum vor fi ntreinute< !e ctre cine<
Ce alte prelucrri se cer realizate<
Care sunt entitile )lucruri, persoane, concepte, etc(* care vor fi descrise n
baza de date<
Ce relaii e2ist ntre diferitele entiti descrise n baza de date<
Care sunt regulile comerciale care trebuie respectate n mod obligatoriu de
viitorul sistem <
Ce se ateapt de la aplicaiile ce urmeaz a fi proiectate i care sunt
performanele acceptabile n care ar trebui s se ncadreze<
Care este volumul estimativ al datelor ce vor fi stocate<
Care va fi frecvena actualizrilor<
Ct de repede trebuie s fie capabil sistemul s regseasc sau s
actualizeze informaiile<
!esigur, acest proces este iterativ pe vertical )pornind de la managementul ntreprinderii
i terminnd cu personalul direct implicat* ct i n timp )dup o prim apro2imare se
trece la elemente mai concrete*(
#ezultatul acestui prim pas trebuie s fie o specificare a cerinelor, concretizat poate
ntr/un set de notie sau poate ntr/o documentaie formal( 0ndiferent de forma concret
este de reinut c aceast specificare a cerinelor este, inevitabil, provizorie( %ractica
demonstreaz c paii urmtori ai proiectrii vor aduce elemente noi, uneori e2trem de
importante( " considerm pentru e2emplificare o firm imaginar )s/i spunem 6ictiv
Comp7*, a crei activitate se refer la comercializarea de tehnic de calcul( =om
considera un model mult simplificat al acestei activiti, i vom presupune c n urma
acestei etape de analiz s/au identificat urmtoarele reguli de funcionare:
>( $facerile firmei constau din vnzarea unei linii de produse(
-( CL0'?@00 lanseaz CO:'?A0 pentru unul sau mai multe %#O!1"'(
9( %reurile %#O!1"'LO# se pot modifica( CL0'?@00 pltesc preul actual din
momentul n care au lansat CO:$?!$(
B
#$%O$#&'
;( 0nformaiile despre CO:'?A0 reprezint principala intrare a sistemului( 0eirile
sistemului sunt reprezentate de facturi, rapoarte sptmnale de vnzri i situaia
lunar a comisioanelor(
B( Compania are un personal format din $?C$D$@0 care lucreaz la anumite
!'%$#&$:'?&'( iecare !'%$#&$:'?& este condus de un $?C$D$&( 1n
$?C$D$& poate conduce cel mult un !'%$#&$:'?&(
E( $?C$D$@00 sunt pltii printr/un salariu lunar, plus eventuale comisioane( ?ici un
salariu nu poate fi mai mic de -FF(FFF lei sau mai mare de GFF(FFF lei(
G( CO:'?A0L' sunt preluate de $?C$D$@0 de la !'%$#&$:'?&1L 6!esfacere7(
%entru o CO:$?!H preluat se pltete un comision( =aloarea acestuia este un
procent din valoarea comenzii i este specific anga8atului(
I( CL0'?@00 pot comanda doar %#O!1"' din catalogul de produse(
J( 1n %#O!1" poate fi comandat doar ntr/un numr ntreg )K>* de uniti( %ot e2ista
desigur mult mai multe reguli( !e e2emplu: ce informaii particulare trebuie
memorate pentru clieni, anga8ai, comenzi, produse, etc(
&E!'"CAREA E!''(%L#R
'ntitile reprezint abstractizri ale lucrurilor reale, fie ele concrete sau imateriale( 'le
pot corespunde unor persoane, obiecte, locuri, documente, concepte, etc( Ceea ce
intereseaz n proiectarea unei baze de date sunt doar tipurile de entiti implicate n
activitatea modelat( 0dentificarea acestora i corecta lor evideniere este o problem care
ine n mare msur de e2periena i chiar de 6flerul7 proiectantului( Cu toate acestea,
cteva reguli pot fi folositoare( "implitatea este cea mai important( 'ste preferabil s
lucrm cu mai puine entiti dect cu prea multe, deoarece pe parcursul dezvoltrii
proiectului cele omise i vor cere cu siguran drepturile, n schimb cele inutile nu vor
cere e2plicit s fie e2cluse, complicnd i mai mult o activitate care numai de
comple2itate nu duce lips( O alt regul de bun sim este denumirea lor ct mai clar i
sugestiv, deoarece aceste nume tind s se perpetueze pn n detaliile aplicaiilor( .n
e2emplul privind lista )parial* a regulilor activitii firmei 6ictiv Comp7 am notat cu
ma8uscule posibilele entiti: CL0'?&, $?C$D$&, !'%$#&$:'?&, CO:$?!H,
%#O!1"( "/ar fi putut considera o entitate %'#"O$?H care s grupeze att anga8aii
firmei ct i clienii care sunt persoane fizice, s/ar fi putut considera entiti separate
pentru efi, sau diverse alte entiti, dar regula simplitii ne spune c gruparea selectat
este pertinent( '2cesul de detalii este duntor la acest nivel, deoarece e2plozia
comple2itii care urmeaz n urmtoarele etape poate face proiectul imposibil de
stpnit(
&E'ER$!AREA RELA%L#R
'ste evident c entitile nu pot cuprinde singure ntreaga informaie ce trebuie
administrat i nici nu pot fi concepute ca 6insule7 informaionale( O bun parte din
informaia semnificativ legat de activitatea modelat se afl tocmai n relaiile care
e2ist ntre entiti( !e pild faptul c anumii anga8ai lucreaz la un anumit departament
este o informaie util i de fapt se refer la o astfel de relaie ntre entitile $?C$D$& i
!'%$#&$:'?&( )$tenie la terminologie: se folosete adesea sinonimul asociere
pentru a evita 6suprancrcarea7 cu semnificaii a termenului 6relaie7, care n teoria
modelului relaional este sinonim cu 6tabel7(*
!ou observaii:
E
#$%O$#&'
>( %ot e2ista relaii definite pe o entitate,
-( #elaiile ntre entiti nu sunt de regul simetrice( .n cadrul e2emplului privind
6ictiv Comp7 relaiile sugerate apar scrise legat( Lista lor ar putea fi urmtoarea:
a( CL0'?& lanseaz CO:$?!$,
b( CO:$?!$ esteLpentru %#O!1",
c( $?C$D$& preia CO:$?!$,
d( $?C$D$& lucreazLla !'%$#&$:'?&,
e( $?C$D$& conduce !'%$#&$:'?&(
"ubliniez nc o dat c relaiile ntre entiti poart informaie util n egal msur ca i
entitile( !enumirile sugestive sunt chiar mai importante dect la entiti, avnd n
vedere c ntre aceleai dou entiti pot e2ista mai multe relaii )vezi cazul $?C$D$&/
!'%$#&$:'?&* i c relaiile nefiind simetrice poart adesea dou nume )de pild
$?C$D$& conduce !'%$#&$:'?& i respectiv !'%$#&$:'?& esteLcondusL de
$?C$D$&*(
CAR&!AL'A'EA RELA%L#R
La modul teoretic, se poate vorbi despre relaii ntre oricte entiti, dar n mod practic nu
se lucreaz dect cu relaii binare )numai ntre dou entiti* i m voi referi n continuare
doar la acest tip de relaii( 'ste important de subliniat faptul c relaiile ntre entiti leag
ntre ele ocurene ale entitilor, adic realizri, concretizri, cazuri particulare ale
acestora( O chestiune e2trem de important este clasificarea lor n funcie de
cardinalitatea lor( "au, altfel spus, de numrul ocurenelor entitilor ce pot fi legate prin
relaia respectiv( '2ist trei clase principale de relaii:
relaii one/to/one )> la >* + relaiile de acest tip leag o ocuren a unei
entiti cu cel mult o ocuren a celeilalte entiti( '2emplul cel mai elocvent este
cel al relaiei $?C$D$& conduce !'%$#&$:'?&( %oate e2ista un singur
anga8at care s conduc un departament( !e notat i faptul c relaiile one/to/one
nu implic bi8ectivitatea )nu orice anga8at trebuie s fie neaprat ef*(
#elaii one/to/manM )> la mai multe* + este cazul cel mai comun( O
ocuren a primei entiti poate fi legat cu zero, una sau mai multe ocurene ale
celei de/a doua entiti( %rivite invers, aceste relaii se cheam manM/to/one(
'2emple de astfel de relaii ar fi CL0'?& plaseaz CO:$?!$: un client poate s
lanseze mai multe comenzi )dar poate s nu lanseze nici una*( #elaia $?C$D$&
lucreazLla !'%$#&$:'?& este de asemenea o relaie de acest tip )manM/to/
one*( O alt denumire larg rspndit pentru astfel de relaii este :aster/!etail(
1neori se consider ns c este vorba despre un caz particular al relaiilor one/to/
manM: orice ocuren a entitii manM )sau detail* se cere a fi legat cu e2act o
ocuren a entitii one )sau master*(
#elaii manM/to/manM )mai multe la mai multe* + n acest caz, orice
ocuren a unei entiti poate fi legat cu mai multe ocurene ale celeilalte entiti i
reciproc( '2emplul din cazul firmei 6ictiv Comp7 este relaia CO:$?!$ pentru
%#O!1": o comanda poate s se refere la mai multe produse iar un produs poate
s apar n mai multe comenzi( $stfel de relaii nu pot fi manipulate direct n
cadrul modelului relaional i este indicat s fie descompuse n relaii > la mai
multe iNsau > la >( !e obicei aceast descompunere se face prin introducerea unei
entiti noi )n cazul de fa se poate introduce entitatea L0?0', care s conin date
referitoare la fiecare poziie a comenzii*( 'ste de notat i un aspect semantic:
G
#$%O$#&'
fiecare latur a relaiei poate fi obligatorie sau opional( !e pild: orice comand
trebuie s corespund unui client( .ns nu este obligatoriu ca un client s aib
comenzi( !e cele mai multe ori partea one este obligatorie, dar e2ist e2cepii
)'2emplu: relaia preia*(
&E'ER$!AREA 'A)ELEL#R
:odelul relaional se bazeaz pe o modalitate unic de stocare att pentru entiti ct i
pentru relaii ntre acestea: totul se stocheaz n tabele( %rimul pas n determinarea
tabelelor este deci foarte clar: fiecrei entiti i va corespunde o tabel( !ac numele
entitilor a fost 8udicios stabilit, este de dorit ca tabele s pstreze numele entitilor(
&otui, numele prea lungi nu sunt de dorit: tabela corespunztoare entitii
!'%$#&$:'?& o voi numi !'%&( %roblemele apar la stabilirea tabelelor care s
stocheze relaiile( &eoretic, orice relaie poate fi stocat ntr/o tabel separat )care s
conin cheile prin care se face legarea liniilor*, dar la modul practic se recurge adesea la
combinarea n aceeai tabel a informaiilor referitoare la o entitate cu informaii
corespunztoare unei relaii( 'ste din nou un pas n care e2periena i flerul proiectantului
are un cuvnt greu de spus( Cteva repere pot fi stabilite pe baza unei analize a
cardinalitii relaiilor:
relaii one/to/one + de obicei n aceste situaii relaia este stocat ca un
atribut al uneia dintre entiti( !e pild n cazul relaiei conduce, soluia optim
este ca tabela !'%& s stocheze i informaia legat de eful ei( 'ste posibil i ca
informaia de legtur s fie stocat n tabela $?C$D$& )dar este nerentabil,
pentru cei mai muli anga8ai aceast informaie lipsete*(
relaii one/to/manM + i n acest caz se recurge de regul la stocarea
informaiei de legtur ntr/una dintre tabele )de obicei cea aflat pe poziia manM*(
!ecizia depinde i de gruparea relaiilor( .n e2emplul nostru, entitatea CO:$?!$
se afl n poziia manM pentru dou relaii )plaseaz i preia*, deci este preferabil ca
tabela care/i corespunde s preia ambele relaii(
relaii manM/to/manM + de data aceasta soluia este definirea unei tabele
separate care s preia informaiile de legtur( %rocesul de normalizare va tinde
)aa cum se va vedea* s mute i alte atribute ale tabelelor n tabela relaiei aa c
se va a8unge pn la urm tot la descompunerea relaiei prin introducerea unei noi
entiti(
&E"!REA C#L#A!EL#R
!ac s/a stabilit modul de stocare a relaiilor ntre entiti, acest pas nu pune probleme
speciale( #aportul privind specificarea cerinelor ofer informaii suficiente pentru acest
pas( !in nou se cere mult atenie la stabilirea unor denumiri sugestive pentru coloane i
la stabilirea unei modaliti consistente i uniforme de notare )nu datorit unor
constrngeri formale, ci pentru a asigura proiectului un plus de claritate*( !e pild se pot
folosi nume unice pentru aceeai informaie, sau se pot utiliza prefi2e stabilite pe baza
numelor tabelelor(
ALEGEREA C*EL#R +R$ARE
1nul dintre principiile fundamentale ale modelului relaional este unicitatea liniilor unei
tabele( O coloan sau o combinaie de coloane care identific n mod unic o linie este
numit cheie primar a tabelei( '2ist situaii n care e2ist mai multe astfel de coloane
sau combinaii de coloane( .n aceste cazuri cheia primar este aleas n funcie de
I
#$%O$#&'
relevana lor n cazul specific al activitii modelate( Celelalte chei posibile se cheam
chei candidate( $tributul unei tabele care ia valori din domeniul unei chei primare a altei
tabele se numete cheie strin )stocarea relaiilor ntre entiti se face prin perechi
formate dintr/o chei primar i o cheie strin*( .n practic se evit n cele mai multe
situaii cheile primare formate din mai multe coloane n cazul tabelelor corespunztoare
unor entiti )aa/numitele 6nomenclatoare7*, prin introducerea unui cod anume creat care
s 8oace rolul de cheie primar )de pild 6marca7 pentru anga8ai, codul pentru produse,
etc*( 'ste important n acest caz s se stabileasc o metodologie unitar i coerent de
codificare, deoarece o codificare defectuas poate crea probleme enorme n e2ploatarea
bazei de date( '2ist mai multe metode rspndite, de cele mai multe ori bazate pe o
combinaie de informaii, cum ar fi de pild o liter corespunztoare unei anumite
clasificri cu un cod numeric care s foreze unicitatea( O tehnic util este stabilirea unei
aa/numite 6cifre de control7, generat pe baza unui algoritm, astfel nct riscurile de a
introduce un cod greit )care s 6cad7 peste unul e2istent* s fie ct mai mici(
!#R$AL,AREA
Chiar dac toate etapele de pn aici au fost parcurse cu ma2im atenie, e2ist un numr
de probleme care pot s apar n cazul unor operaii de actualizare n baza de date,
probleme care risc s compromit integritatea datelor( 'ste vorba despre aa/zisele
anomalii de actualizare, datorate dependenelor funcionale nedorite( 'vitarea acestor
anomalii se face printr/un proces numit normalizare, avnd o fundamentare formal
riguroas(
PREZENTAREA APLICAIEI
MIRO!OFT AE!! este un program de gestionare a bazelor de date folosit pe scar
larg de milioane de utilizatori(
#olul principal al acestui program este de a accesa i de a stoca datele(
1na din cele mai apreciate caliti ale acestui program este interfaa grafic uor de
neles care permite crearea interogrilor, formularelor i a rapoartelor, facilitate care
lipsete din multe alte programe de acest gen(
LANSAREA "I #NC$IDEREA PRO!RAMULUI
LAN!AREA "ROGRAM#L#I
$pei butonul !TART i din meniul "ROGRAM! alegi opiunea Microso$t Access(
%N&IDEREA "ROGRAM#L#I
!in meniul FILE vei alege opiunea E'IT(
J
#$%O$#&'
PROIECTAREA STRUCTURII BAZEI DE DATE
%rimul pas n proiectarea unei baze de date trebuie s fie analiza obiectivului urmrit( Ce
informaii vei stoca< Cine le va utiliza<
$tunci cnd ai o imagine clar asupra a ceea ce urmeaz s fac baza de date poi trece la
pasul doi(
REAREA #NEI (A)E DE DATE
Crearea unei baze de date noi se poate face utiliznd opiunile casetei de dialog
Mic%&&'t Acce care apare n momentul n care lansezi aplicaia sau utiliznd comanda
Ne( din meniul File(
Crearea unei baze de date prin intermediul casetei de dialog Mic%&&'t Acce presupune
parcurgerea urmtoarelor etape:
Lanseaz n e2ecuie programul $ccess,
%rogramul afieaz caseta de dialog prezentat n imaginea urmtoare( .n
acest punct poi alege s deschizi o baz de date de8a e2istent, s creezi o nou
baz de date goal sau s lansezi Data*ase +i,ar-( %entru cea de a doua opiune
selecteaz (lan. Access Data*ase(
>F
#$%O$#&'
"e deschide caseta de dialog File Ne( Databae n care introduci numele
bazei de date(
$pas butonul CREATE i n acest moment baza de date va fi creat iar
pe ecran apare fereastra corespunztoare acestei baze de date(
Crearea unei baze de date utiliznd comanda Ne( din meniul File presupune parcurgerea
urmtoarelor etape:
$lege din meniul FILE opiunea NE),
.n caseta de dialog NE) selecteaz pictograma DATABASE i se apas
butonul O*(
>>
#$%O$#&'
.n caseta de dialog FILE NE) DATABASE alege unitatea de disc i
folder/ul n care vrei s creezi baza de date i specific numele bazei de date(
$pei pe butonul CREATE
?ot: iierele de tip Mic%&&'t Acce au e2tensia O(:!3(
DE!&IDEREA #NEI (A)E DE DATE
%entru a deschide o baz de date creat anterior trebuie s parcurgi urmtorii pai:
"electeaz din meniul FILE, opiunea OPEN(
!ac fiierul nu este n folder/ul curent caut folder/ul n care a fost
salvat anterior baza de date(
'2ecut dublu clic pe fiier sau selecteaz/l i apas butonul OPEN pentru
a/l deschide(
.n Mic%&&'t Acce +,,,, butonul OPEN din caseta de dialog OPEN are o list
derulant:
>-
#$%O$#&'
OPEN READ-.ONL- + mpiedic salvarea modificrilor din baza de
date,
OPEN E/CLUSIVE + mpiedic alt utilizator s lucreze cu baza de date
pe care ai deschis/o,
OPEN E/CLUSIVE READ-.ONL- + aplic ambele restricii(
OPERAII CU TABELE
REAREA TA(ELELOR
%entru a crea un tabel, urmeaz urmtorii pai:
.n fereastra DATABASE, e2ecut dublu/clic pe opiunea
C%eate Table i0 Dei10 Vie(( "e deschide modul de vizualizare Table Dei10(
>9
#$%O$#&'
&asteaz un nume de cmp n primul rnd din coloana Fiel2 Na3e, apoi
apas tasta TAB pentru a trece n coloana Data T45e(
Cnd treci la coloana Data T45e, apare o list derulant( !eschide lista
derulant i selecteaz un tip de cmp )vezi seciunea &ipuri de date i formate*(
?ot: >( ?umele cmpurilor din Acce pot avea o lungime de cel mult E;
de caractere i pot conine spaii precum i alte caractere, cu e2cepia punctului )(*, a
semnului de e2clamaie )P*, a accentului grav )Q* sau a parantezelor drepte(
?ot: -( 'vit simbolurile R, S sau T n numele de cmpuri, pentru c unele
dintre acestea au anumite semnificaii n programul Acce(
$pas tasta TAB pentru a trece n coloana Dec%i5ti&0 i introdu o
descriere a cmpului )operaie facultativ*(
.n 8umtatea inferioar a casetei de dialog, vezi panoul Fiel2 P%&5e%tie
pentru tipul de cmp pe care l/ai selectat( %oi face orice modificri doreti )vezi
seciunea Tipuri -e -ate /i $or0ate*(
!ac ai mai multe cmpuri de introdus, repet paii anteriori(
'2ecut clic pe butonul CLOSE )U* al ferestrei Table Dei10(
Cnd eti ntrebat dac vrei s salvezi modificrile operate n tabel, e2ecut
clic pe -e( $pare caseta de dialog Save A(
&asteaz un nume pentru tabel n caseta Table Na3e i apoi e2ecut clic
pe O*(
>;
#$%O$#&'
.n final, tabelul va aprea n fereastra DATABASE, n seciunea
TABLES(
!atele care vor fi coninute de acest tabel se introduc n felul urmtor:
'2ecui dublu/clic pe numele tabelului( $cesta se va deschide n modul de
vizualizare Data6eet Vie((
=ei introduce datele n coloanele corespunztoare conform tipului ales
pentru cmpul respectiv(
!AL1AREA TA(ELELOR
'tape:
=ei alege din meniul FILE opiunea SAVE sau vei apsa pe butonul
SAVE de pe bara de instrumente standard(
%e ecran va aprea caseta SAVE AS n care vei specifica numele tabelei i
n final vei apas O*(
>B
#$%O$#&'
?ot: =izualizarea ulterioar i modificarea structurii unui tabel se va face
prin selectarea acestuia i apsarea pe butonul DESI!N(
Creeaz baza de date %'#"O?$L(!3 care s conin tabela "$L$#0$&0 cu
urmtoarea structur:
&abela "$L$#0$&0 va avea coninutul afiat pe pagina anterioar(
'+UR &E &A'E
iecare cmp trebuie s fie de un anumit tip, pentru ca Acce s tie cum s/i trateze
coninutul(
&ipurile sunt urmtoarele:
TE/T + secven simpl de caractere care poate include cifre, litere i
simboluri( 1n cmp te2t poate conine pn la -BB de caractere(
MEMO + te2t simplu, obinuit, e2ceptnd faptul c nu stabileti o lungime
ma2im de cmp, aa c poi tasta aproape orice cantitate de te2t )E;(FFF de
caractere*(
NUMBER + destinat pentru valori ntregi sau fracionare(
>E
#$%O$#&'
DATE7TIME + o dat calendaristic sau o or(
CURRENC- + un numr formatat ca o valoare monetar(
AUTONUMBER + Acce l completeaz automat cu numere
consecutive, pentru fiecare nregistrare(
-ES7NO + poate primi valori logice de tipul -ES7NO, TRUE7FALSE sau
ON7OFF(
OLE OB8ECT + cmp capabil a primi ca valoare un obiect )e2( imagine*,
obiectul poate fi legat sau inserat(
$-PERLIN* + o legtur la o locaie )eb(
LOO*UP )IZARD + i permite s creezi o list selectnd o valoare din
alt tabel sau lista de valori ntr/o caset combinat, pentru fiecare nregistrare( 'ste
o caracteristic avansat(
'+UR &E "#R$A'E
.n afar de tipul su, fiecare cmp are opiuni de formatare pe care le poi configura(
$cestea apar n 8umtatea inferioar a casetei de dialog, n zona Fiel2 P%&5e%tie(
Opiunile de formatare se modific n funcie de tipul cmpului(
Cele mai importante tipuri de formate:
FIELD SIZE + ?umrul ma2im de caractere pe care/l poate introduce un
utilizator n acest cmp )se aplic doar cmpurilor de tip &e2t*(
FORMAT + O list derulant cu formatele disponibile pentru acel tip de
cmp( !e asemenea, poi crea formate personalizate(
DECIMAL PLACES + %entru cmpurile numerice, poi stabili numrul
implicit de poziii zecimale pe care le poate afia un numr(
DEFAULT VALUE + !ac, n mod obinuit, un cmp conine o anumit
valoare, poi introduce acea valoare aici pentru a economisi timp( =a aprea n
fiecare nou nregistrare i vei putea s o nlocuieti n rarele ocazii cnd nu este
valabil(
RE9UIRED + $lege -ES i NO pentru a comunica programului
ACCESS dac i se permite unui utilizator s lase acel cmp necompletat(
-'A)LREA C*E +R!C+ALE
iecare tabel ar trebui s aib cel puin un cmp a crui valoare este unic pentru fiecare
nregistrare )cmp cheie principal*(
$cest cmp este util pentru a identifica n mod unic fiecare nregistrare(
%entru a stabili o cheie principal trebuie s parcurgi urmtorii pai:
!eschide tabelul afind structura acestuia(
"electeaz cmpul care vrei s fie cheie principal(
$lege din meniul EDIT opiunea "RIMAR2 3E2(
>G
#$%O$#&'
OM#TAREA %NTRE MOD#RILE DE 1I)#ALI)ARE DE!IGN 4I DATA!&EET
Cnd lucrezi cu tabele, sunt disponibile dou moduri de vizualizare: DESI!N i
DATAS$EET(
O metod simpl de a comuta ntre ele este e2ecutarea unui clic pe sgeata orientat n 8os
de lng butonul VIE) de pe bara de instrumente( $poi selecteaz modul de vizualizare
dorit din lista derulant care apare(
O alt metod de a comuta ntre modurile de vizualizare este urmtoarea:
!eschide meniul VIE)(
"electeaz TABLE DESI!N sau DATAS$EET, n funcie de modul de
vizualizare n care vrei s comui(
EDITAREA TA(ELELOR
!up crearea tabelelor, acestea pot fi modificate ulterior efectund operaiile de mai 8os(
A&(UGAREA C.$+URL#R
%oi aduga un cmp n modul de vizualizare TABLE DESI!N astfel:
'2ecut clic pe selectorul de nregistrri )ptratul gri de la stnga numelui
cmpului* pentru a selecta cmpul n faa cruia doreti s apar noul cmp(
"electeaz din meniul INSERT opiunea RO) sau apas tasta INSERT(
$pare un rnd gol n lista FIELD NAME(
0ntrodu un nume, un tip, o descriere i celelalte informaii legate de
formatare(
>I
#$%O$#&'
/'ERGEREA C.$+URL#R
'tape:
Comut n modul de vizualizare TABLE DESI!N, dac nu eti n acest
mod(
"electeaz un cmp(
!in meniul EDIT selecteaz opiunea DELETE RO)S sau apas tasta
DELETE(
A-CU!&EREA C.$+URL#R
!ac nu vrei s utilizezi un cmp la un moment dat, dar vei avea nevoie de el mai trziu,
este mai bine sa l ascunzi dect s/l tergi(
$scunderea unui cmp are dou avanta8e:
!ac ai introdus nregistrri, poi pstra toate datele pe care le/ai introdus
n acel cmp(
%roprietile cmpului, pe care le/ai configurat atunci cnd ai creat cmpul,
rmn neschimbate, aa c nu trebuie s le introduci din nou(
$scunderea unui cmp se face astfel:
Comut n modul de vizualizare DATAS$EET, dac nu eti n acest mod(
"electeaz cmpurile pe care vrei s le ascunzi(
"electeaz din meniul FORMAT opiunea $IDE COLUMNS, sau
e2ecut clic/dreapta pe coloanele respective i selecteaz $IDE COLUMNS(
Coloanele dispar(
%entru a face s reapar coloanele trebuie s parcurgi paii urmtori:
"electeaz din meniul FORMAT opiunea UN$IDE COLUMNS( $pare
caseta de dialog UN$IDE COLUMNS( Cmpurile care au semn de bifare lng
ele nu sunt ascunse, cmpurile fr semn de bifare sunt ascunse(
'2ecut clic pe caseta de validare a fiecrui cmp pe care vrei s/l
reafiezi(
'2ecut clic pe butonul CLOSE(
>J
#$%O$#&'
/'ERGEREA 'A)ELEL#R
'tape:
.n fereastra DATABASE, e2ecut clic pe tipul de obiect TABLES(
"electeaz tabelul pe care vrei s/l tergi(
"electeaz din meniul EDIT opiunea DELETE sau apas tasta DELETE(
$pare un mesa8 care te ntreab dac eti sigur c vrei acest lucru( '2ecut
clic pe -ES(
OPERAII PRINCIPALE CU DATELE TABELELOR
!'R#&UCEREA 0!REG-'R(RL#R
'tape:
'2ecut clic n celula n care vrei s introduci date i tasteaz/le(
$pas tasta TAB pentru a trece la cmpul urmtor i tasteaz noua valoare(
Continu s apei tasta TAB pn cnd a8ungi la ultimul cmp( Cnd apei
tasta TAB n ultimul cmp, punctul de inserare se mut n primul cmp din
urmtorul rnd, unde poi ncepe o nou nregistrare(
Continu s introduci nregistrri pn termini(
-F
#$%O$#&'
&E+LA-AREA 0!'R1U! 'A)EL
%rincipalele scurtturi de la tastatur care se utilizeaz pentru deplasarea n interiorul unui tabel sunt:
'2plicaie "curttura
Cmpul urmtor TAB
Cmpul anterior S$IFT:TAB
1ltimul cmp din nregistrare END
%rimul cmp din nregistrare $OME
$celai cmp din urmtoarea nregistrare
$celai cmp din nregistrarea anterioar
$celai cmp din ultima nregistrare CTRL:
$celai cmp din prima nregistrare CTRL:
1ltimul cmp din ultima nregistrare CTRL:END
%rimul cmp din prima nregistrare CTRL:$OME
'+(RREA U!U 'A)EL
%entru tiprirea unui tabel ai la dispoziie dou variante:
%rima variant:
!eschide tabelul(
'2ecut clic pe butonul PRINT de pe bara de instrumente(
&abelul este tiprit(
Cea de a doua variant:
$lege din meniul FILE opiunea PRINT( .n caseta de dialog
PRINT configureaz opiunile de tiprire(
0!L#CUREA C#!%!U'ULU U!E CELULE
'tape:
"electeaz celula e2ecutnd clic pe aceasta( )dac vrei s fie selectat
ntregul coninut, poziioneaz indicatorul mouse/ului pe marginea din stnga a
celulei astfel nct indicatorul s devin un semn 6V7, apoi e2ecut clic*(
&asteaz noile date care le nlocuiesc pe cele vechi(
->
#$%O$#&'
-ELEC'AREA 0!REG-'R(RL#R
.n afar de selectarea anumitor celule dintr/o nregistrare, dac vrei s lucrezi cu o
ntreag nregistrare trebuie s efectuezi operaiunea de selecie( %entru a realiza acest
lucru, e2ecuta clic pe ptratul gri de la stnga nregistrrii( .ntreaga nregistrare apare
evideniat )litere albe pe fond negru*(
!-ERAREA &E !# 0!REG-'R(R
?oile nregistrri sunt inserate automat( Cnd ncepi s tastezi o nregistrare, apare
un nou rnd sub ea, ateptnd o alt nregistrare, aa cum se vede n figura de mai sus( ?u
poi s inserezi noi nregistrri ntre cele e2istente( $cestea trebuie s fie introduse la
sfritul tabelului(
/'ERGEREA 0!REG-'R(RL#R
'tape:
"electeaz nregistrrile pe care vrei s le tergi(
'2ecut una din urmtoarele aciuni:
$pas tasta DELETE(
"electeaz din meniul rapid opiunea DELETE RECORD
"electeaz din meniul EDIT opiunea DELETE
"electeaz din meniul EDIT opiunea DELETE RECORD(
$U'AREA / C#+EREA &A'EL#R
'tape:
"electeaz cmpurile, nregistrrile, celulele sau zonele de te2t pe care vrei
s le mui sau copiezi(
--
#$%O$#&'
!eschide meniul EDIT i selecteaz CUT )pentru mutare* sau COP-
)pentru a copiere*(
%oziioneaz punctul de inserare acolo unde vrei s inserezi materialul
copiat sau tiat(
$lege din meniul EDIT opiunea PASTE(
FORMATAREA TA(ELELOR
$#&"CAREA L(%$ C#L#A!EL#R -AU A R.!&URL#R
1na dintre cele mai uzuale metode de a8ustare a limii coloanelor sau a rndurilor
se efectueaz astfel:
%oziioneaz indicatorul mouse/ului ntre dou nume de cmpuri )capete
de coloana* sau ntre dou rnduri( $stfel nct acesta s se transforme ntr/o linie
orizontal cu sgei orientate la stnga i la dreapta(
'2ecut clic i ine apsat butonul mouse/ului i apoi trage marginea
coloanei sau a rndului(
'libereaz butonul mouse/ului n momentul n care rndul sau coloana au
dimensiunea dorit(
-9
#$%O$#&'
$#&"CAREA "#!'ULU / A &$E!-U! 'E2'ULU
!aca vrei s modifici aspectul coninutului tabelului trebuie s parcurgi urmtorii pai:
!in meniul FORMAT, alegi opiunea FONT( $pare caseta de dialog
FONT(
$plic opiunile de formatare dorite )tip, dimensiune, stil*(
$pei O*(
?ot: ormatrile se aplic asupra ntregului coninut al tabelului(
CREAREA RELAIILOR #NTRE TABELE
DEFINIREA RELAIILOR
#elaia ntre dou tabele este necesar, n general, pentru construirea interogrilor care
acioneaz asupra acestor table )dei relaia s/ar putea construi i cnd se construiete
interogarea*(
'+UR &E RELA%3
Relaia O0e.T&.Ma04 + 'ste cea mai frecvent n proiectarea bazelor de date ACCESS
i are urmtoarele caracteristici:
!ac &> )&abela CL0'?&0* i &- )&abela Operatii* sunt dou tabele n
care e2ist o relaie One/&o/:anM atunci:
&abela &> este tabela primar iar &- este tabela legat4
Cheia de legtur din tabela primar trebuie s fie declarat cheie
primar4
&abela legtur poate avea cheie primar dar diferit de cea de
legtur(
iecrei nregistrri din tabela O0e i corespunde F, > sau mai multe
nregistrri din tabela Ma04,
-;
#$%O$#&'
iecrei nregistrri din tabela Ma04 i corespunde cel mult o
nregistrare din tabela O0e(
Relaia O0e.T&.O0e + 'ste utilizat mai rar n proiectarea bazelor de date ACCESS i
are urmtoarele caracteristici:
Cheile de legtur din ambele tabele sunt chei primare, fiecrei nregistrri
din una din tabele i corespunde cel mult o nregistrare din cealalt(
1na din tabele este primar iar cealalt legat(
Relaia Ma04.T&.Ma04 / 'ste nerecomandat n baze de date ACCESS dar e2istent n
realitate(
!oua tabele se afl n relaia Ma04.t&.Ma04 dac fiecrei nregistrri din prima tabel i
corespunde F,> sau mai multe nregistrri din a doua i invers(
.n ACCESS astfel de relaii pot fi introduse prin crearea unei a treia tabele, numit de
legtura )de 8onciune* cu e2istena a dou relaii de tip O0e.t&.Ma04(
%entru a putea e2plica modul n care funcioneaz relaiile am creat o baz de date
3$?C$(
$ceast baz de date conine urmtoarele tabele:
&abela CLIENTI:
$ceast tabel are urmtorul coninut:
&abela SOLD:
-B
#$%O$#&'
$ceast tabel are urmtorul coninut:
&abela DENMONEDA:
$ceasta tabela are urmtorul coninut:
&abela !'?O%'#$&00:
$ceast tabel are urmtorul coninut:
&abela OPERATII:
-E
#$%O$#&'
$ceast tabel are urmtorul coninut:
'tapele crerii relaiilor sunt:
!eschizi baza de date )n cazul nostru 3$?C$*(
!in meniul TOOLS alegi opiunea RELATIONS$PS(
-G
#$%O$#&'
%e ecran apare fereastra RELATIONS$IPS care are urmtoarea form:
?ot: !ac caseta de dialog S$O) TABLE nu apare, apas butonul
S$O) TABLE de pe bare de instrumente(
"electeaz tabelele ntre care vrei s creezi relaii i apas butonul ADD(
$ceste tabele vor fi introduse n fereastra RELATIONS$IPS(
'2emplu:
Creeaz n continuare o relaie O0e.T&.Ma04 ntre tabelele CL0'?&0 i
O%'#$&00( %entru a realiza acest lucru selecteaz n caseta de dialog
S$O) TABLE cele dou tabele i insereaz/le n fereastra RELATIONS$IPS(
.n tabela CL0'?&0 selecteaz cmpul CodClient(
%oziioneaz cursorul pe cmpul CodClient )tabela CL0'?&0*, 6agat/l7 cu
mouse/ul i trage/l peste cmpul CodClient )tabela Operatii*( %e ecran apare caseta
de dialog EDIT RELATIONS$IP n care poi s specifici caracteristicile relaiei(

-I
#$%O$#&'
$ceast fereastr are urmtorii parametrii:
ENFORCE REFERENTIAL INTE!RIT- + unei nregistrri din tabela
primar )CL0'?&0* i corespunde cel puin o nregistrare din tabela legat
)O%'#$&00*(
CASCADE UPDATE RELATED FIELDS + n acest caz, modificarea
unei valori pe cmpul CodClient )din tabela CL0'?&0* nseamn modificarea
automat a tuturor valorilor respective i n tabela O%'#$&00(
CASCADE DELETE RELATED RECORDS + n acest caz, tergerea
unei nregistrri din tabela primar presupune tergerea tuturor nregistrrilor din
tabela legat(
.n final, vei apsa butonul CREATE i pe ecran fereastra
RETAIONS$IPS va arta astfel:
Obs:
.n imaginea de mai sus observi c lng tabelul CL0'?&0 )cmpul CO!CL0'?&* apare cifra
> iar lng tabelul O%'#$&00 )cmpul CO!CL0'?&* apare simbolul ( $ceste simboluri
apar n relaiile n care caracteristica integritate referen5ial )6ENFORCE REFERENTIAL
INTE!RIT-7* este activat( "imbolul nseamn mul5i + indicnd faptul c mai multe
nregistrri din acest tabel pot s corespund unei singure nregistrri )simbolul >* din tabelul
legat(
'2:
" se creeze urmtoarele relaii n baza de date 3$?C$:
-J
#$%O$#&'
SORTAREA; FILTRAREA "I INDE/AREA DATELOR
!ORTAREA DATELOR
'tape:
!eschide tabela pe care vrei s o sortezi,
%laseaz punctul de inserare n cmpul pe care vrei s/l sortezi(
'2ecut clic pe butoanele S&%t Ace02i01 sau
S&%t Dece02i01 ( .nregistrrile sunt sortate dup cmpul selectat(
.nainte de sortare:
!up sortarea dup cmpul ?1:':
?ot: %entru a aran8a nregistrrile n ordinea n care se aflau n momentul
iniial, selecteaz din meniul RECORDS opiunea REMOVE FILTER7SORT(
FILTRAREA DATELOR
1n filtru este o restricie care se pune nregistrrilor unei tabele, unei forme sau unui
raport pentru a afia doar anumite nregistrri specificate(
.n aceast lecie vom analiza doar filtrele la nivel de tabel(
iltrarea este util n acele cazuri n care vrei s nlturi multe nregistrri, astfel nct s
poi vedea doar pe cele care te intereseaz( iltrarea micoreaz temporar numrul de
nregistrri afiate, conform criteriilor de selecie(
"L'RAREA &A'EL#R +R! -ELEC%E
iltrarea prin selecie este cea mai simpl metod de filtrare, dar nainte de a o utiliza,
trebuie s localizezi o apariie a valorii pe care doreti s o conin nregistrrile filtrate(
9F
#$%O$#&'
%entru a filtra prin selecie vei parcurge urmtorii pai:
.ntr/un cmp vei gsi o apariie a valorii pe care vrei s o conin toate
nregistrrile filtrate(
"electeaz valoarea(
'2ecut clic pe butonul FILTER B- SELECTION de pe bara de
instrumente sau selecteaz din meniul RECORDS opiunea FILTER i apoi
FILTER B- SELECTION(
'2: iltreaz tabela O%'#$&00 astfel nct s fie afiai doar clienii cu codul >F>(
.nainte de filtrare:
!up filtrare:
?ot: #enunarea la condiia de filtrare se face prin apsarea pe butonul
REMOVE FILTER (
"L'RAREA &A'EL#R +R! "#R$ULAR
'ste o metod de filtrare mult mai puternic dect filtrarea prin selecie(
Cu Filte% b4 F&%3 poi aplica mai multe criterii de filtrare simultan(
!e asemenea, poi configura filtre 6sau7, care gsesc nregistrri ce ndeplinesc oricare
din criteriile stabilite( %oi chiar s introduci e2presii logice )6mai mare dect7 o anumit
valoare*(
9>
#$%O$#&'
'tape:
!eschide tabela pe care vrei sa o filtrezi n modul de vizualizare
DATAS$EET(
'2ecut clic pe butonul FILTER B- FORM sau din meniul
RECORDS, alege opiunea FILTER i apoi FILTER B- FORM( $pare un
formular gol semnnd cu o foaie de date goal, cu o singur linie de nregistrare(
'2ecut clic pe cmpul pentru care vrei s stabileti un criteriu( $pare o
sgeat orientat n 8os pentru o list derulant( '2ecut clic pe sgeat i
selecteaz din list o valoare sau poi tasta valoarea direct n cmp(
!ac vrei s stabileti o condiie 6sau7, e2ecut clic pe eticheta OR de la
baza ferestrei i vei introduce criteriul alternativ(
.n final se apas pe butonul APPL- FILTER pentru a aplica filtrul(
?ot: .n e2emplul de mai sus am aplicat un filtru pentru clienii care au
codul >F> sau >F-(
.n final, rezultatul filtrrii este urmtorul:
9-
#$%O$#&'
?ot: 'liminarea filtrului o vei face prin apsarea pe butonul
REMOVE FILTER situat pe bara de instrumente(
INDE'AREA DATELOR
0nde2urile accelereaz cutrile, catalognd coninutul unui anumit cmp( Cmpul cheie
principal este inde2at n mod automat( !ac ns caui, sortezi sau filtrezi n mod
frecvent utiliznd un alt cmp, poi s creezi un inde2 i pentru acel cmp(
?ot: ?u poi inde2a un cmp ale crui date sunt de tip $emo, *yperlin6
sau obiect #LE(
'tapele inde2rii:
!eschide tabelul n modul de vizualizare DESI!N(
"electeaz cmpul pe care vrei s/l inde2ezi(
.n pagina etichetei !ENERAL, e2ecut clic pe cmpul INDE/ED(
!in lista derulant a cmpului INDE/ED, selecteaz fie -ES )D<5licate
O** fie -ES )N& D<5licate*, n funcie de coninutul cmpului care poate fi sau
nu unic pentru fiecare nregistrare(
"alveaz modificrile i nchide tabelul(
?ot: ?u poi face nimic deosebit cu un inde2( 0nde2ul nu este un obiect,
aa cum sunt tabelele, bazele de date sau interogrile( #olul inde2ului este de a
accelera cutrile dar nu are funciile sale independente(
99
#$%O$#&'
Lecia +
Obiectivele leciei
Cereri. Operatii principale.
Cereri de selectie.
Cereri CrossTab
Cereri de actiune
Cereri Delete
Crearea formularelor. Adaugarea
controalelor.
Rapoarte. Operatii principale
CERERI =9UERIES>
Acce i ofer mai multe metode prin care te a8ut s restrngi domeniul informaiilor pe
care le caui, inclusiv prin sortare i filtrare(
Cel mai fle2ibil mod de a sorta i filtra date este cererea iar cel mai important fapt este c
le poi salva i utiliza pentru a crea tabele, pentru a terge nregistrri sau pentru a copia
nregistrri ntr/un alt tabel(
Cererile i permit s specifici:
Cmpurile pe care vrei s le vezi,
Ordinea n care trebuie s apar cmpurile,
Criteriile de filtrare pentru fiecare cmp,
Ordinea n care vrei s fie sortat fiecare cmp(
#ezultatul unei cereri este o tabel virtual(
ERERI DE !ELEIE
CREAREA CERERL#R &E -ELEC%E
Cererile de selecie sunt obiecte Acce care solicit baza de date s rspund anumitor
ntrebri formulate de utilizator(
9;
#$%O$#&'
Crearea cererilor de selecie se face n felul urmtor:
"electeaz fia de opiuni 9UERIES din fereastra DATABASE(
$pas butonul NE), apoi selecteaz opiunea DESI!N VIE)(
$daug din caseta de dialog S$O) TABLE, n spaiul de lucru al
constructorului de cereri )9<e%ie B<il2e%*, tabelele sau cererile care stau la baza
noii cereri, .n cazul n care ntre tabelele respective e2ist relaii, acestea se
pstreaz i n cazul interogrilor(
9B
#$%O$#&'
.nchide caseta de dialog S$O) TABLE, apare o machet prin
intermediul creia se poate proiecta cererea(
?ot: .n situaia n care, din diverse motive, caseta de dialog
S$O) TABLE nu se deschide automat, se apas butonul S$O) TABLE (
=ei alege cmpurile n zona FIELD(
.n zona SORT vei specifica cmpul )cmpurile* dup care va fi sortat
cererea(
.n final se apas pe butonul VIE) de pe bara de instrumente pentru a
vedea rezultatul interogrii(
'2:
.n cererea de mai sus am introdus cmpurile ?1:', %#'?1:' )&abela CL0'?&0*,
C$?& )&abela O%'#$&00*, !'?:O? )&abela !en:oneda* i !'?O% )&abela
!enOperatii*(
#ezultatul interogrii este urmtorul:
9E
#$%O$#&'
Operaia se ncheie cu salvarea cererii(
?ot: !aca vrei s revii n modul de vizualizare DESI!N pentru a modifica
cererea, apas pe butonul DESI!N VIE) de pe bara de instrumente(
-ELEC'AREA U!E C#L#A!E
'tape:
!eschide o cerere n modul DESI!N(
$pas pe bara superioar a cmpului respectiv i cmpul va fi selectat(
/'ERGEREA U!E C#L#A!E
'tape:
"electeaz coloana,
$pas tasta DELETE(
9G
#$%O$#&'
$U'AREA U!E C#L#A!E
'tape:
"electeaz coloana,
Cu indicatorul mouse/ului poziionat n selectorul de coloane trage coloana
n locul dorit(
!-ERAREA U!E C#L#A!E
'tape:
"electeaz coloana,
!in meniul INSERT alege opiunea COLUMNS(
9I
#$%O$#&'
A"/AREA +R#+RE'(%L#R U!U C.$+ &! CERERE
'tape:
"electeaz coloana,
$pas butonul PROPERTIES aflat pe bara de instrumente( %e ecran
va fi afiat caseta PROPERTIES(
E2E+$LE
'2emplul > + cerere pentru afiarea salariailor care nu sunt efi(
1tilizeaz baza de date %'#"O?$L )tabela "$L$#0$&0*(
%roiectarea cererii arat astfel:
?ot: >( %rimul cmp al cererii este un cmp calculat avnd numele 6?1:'
"0 %#'?1:'7, valoarea unui astfel de cmp este dat de o e2presie )concatenarea
prenumelui cu numele*(
?ot: -( Cmpurile calculate sunt neactualizabile, adic nu se pot face
modificri n interiorul acestora, modificri care s se reflecte i n tabelele ce compun
cererea respectiv(
?ot: 9( Cmpul "' este trecut n cerere numai pentru a fi pus condiia de
filtrare )"AL-E* asupra lui, nefiind bifat n linia S$O), nu este prezent n rezultatul
cererii(
9J
#$%O$#&'
#ezultatul cererii este:
'2emplul - + cerere de selecie cu sortare dup dou cmpuri(
1tilizeaz baza de date %'#"O?$L )tabela "$L$#0$&0*(
.mi propun o afiare a salariailor sortai dup funcie i, n cadrul aceleiai funcii, dup
nume ns ordinea de afiare s fie mai nti numele i apoi funcia(
%roiectarea cererii arat astfel:
?ot: "/a utilizat cmpul nume de dou ori, a doua oar acesta nefiind
afiat(
#ezultatul cererii este urmtorul:
'2erciiul 9 + cerere de selecie cu utilizarea opiunii 6OR7(
=ei utiliza baza de date %'#"O?$L )tabela "$L$#0$&0*(
=or fi afiai doar anga8aii care au funcia de inginer sau medic din tabela "$L$#0$&0
iar sortarea s se fac ascendent dup cmpul ?1:'(
;F
#$%O$#&'
%roiectarea cererii arat astfel:
#ezultatul cererii este urmtorul:
'2emplul ; + cerere de selecie cu utilizarea unei anumite condiii(
=ei utiliza baza de date %'#"O?$L )tabela "$L$#0$&0*(
=or fi afiai doar anga8aii care au salariul 6mai mare sau egal7 cu ;(FFF(FFF lei(
Ordonarea se va face ascendent dup cmpul :$#C$(
%roiectarea cererii arat astfel:
#ezultatul cererii este urmtorul:
'2emplul B + cerere de selecie cu utilizarea unui cmp calculat(
=ei utiliza baza de date %'#"O?$L )tabela "$L$#0$&0*(
;>
#$%O$#&'
.n tabela "$L$#0$&0 se va introduce un cmp $=$?" )Nu0eric 5 Long Integer* dup
cmpul "$L$#01L i se va completa cu valori(
=om ncerca s calculm prin intermediul unei cereri lichidarea care i se cuvine
salariatului dup formula: L0CW0!$#'X"$L$#01L/$=$?"( "ortarea se va face dup
cmpul :$#C$ ascendent(
%roiectarea cererii arata astfel:
#ezultatul cererii este urmtorul:
.n cel de/al doilea e2emplu vom ncerca s inde2m salariul cu -FS(
%roiectarea cererii arat astfel:
;-
#$%O$#&'
#ezultatul cererii este urmtorul:
CERERE &E -ELEC%E "#L#-!& "U!C% &E AGREGARE
Cu funciile de agregare putem obine diverse statistici pe valori de cmpuri(
%rincipalele funcii de agregare sunt:
SUM + sum
AV! + medie
MIN + minimul
MA/ + ma2imul
FIRST + prima nregistrare
LAST + ultima nregistrare
.n e2emplul de mai 8os vom calcula suma, media, minimul i ma2imul tuturor salariailor
care nu sunt efi(
%roiectarea cererii arat astfel:
#ezultatul cererii este urmtorul:
CERERE &E -ELEC%E "#L#-!& "U!C% &E AGREGARE +E GRU+UR &E 0!REG-'R(R
.n e2emplul urmtor vom ncerca s obinem anumite date statistice referitoare la
nregistrri grupate dup cmpul 1?C&0$ care nu sunt efi(
;9
#$%O$#&'
%roiectarea cererii arat astfel:
#ezultatul cererii este urmtorul:
Obs:
!up cum observi s/a folosit funcia !ROUP B- pentru gruparea valorilor n cmpul
1?C&0$(
%oi s specifici i grupurile pe care vrei s le afiezi astfel:
0ar rezultatul va fi urmtorul:
CERERE &E -ELEC%E +ARA$E'RCE
Cererile de selecie parametrice sunt cereri n care condiia se poate schimba de la o
e2ecuie la alta( .n condiie pot fi introduse cmpuri ine2istente pentru care sistemul cere
valori(
;;
#$%O$#&'
.n cererea de mai 8os se pot selecta salariaii de o anumit funcie(
.n momentul rulrii cererii, pe ecran apare o fereastr prin intermediul creia i se cere s
introduci parametrul dorit )n cazul nostru 1?C&0$*(
$pei O* i rezultatul e2ecuiei cererii este:
CERERI CROSSTAB
"unt cereri care realizeaz suma, media, numrarea sau alte tipuri de totaluri i apoi
grupeaz rezultatul pe dou tipuri de informaie )ro6 hea-ings i colu0n hea-ings*(
'2:
Creeaz baza de date =$?A$#0(
" se creeze n aceast baz de date, tabela $genti=anzari cu urmtoarea structur:
;B
#$%O$#&'
Coninutul tabelei s fie cu urmtorul:
" se creeze i tabela =anzari cu structura:
Coninutul tabelei s fie cu urmtorul:
.ntre tabela $genti=anzari i =anzari creeaz o relaie O0e.T&.Ma04 de forma:
Creeaz o cerere de tip C%&Tab avnd sursa format din tabelele =anzari i
$genti=anzari(
;E
#$%O$#&'
%roiectarea cererii arat astfel:
?ot: 0ntroducerea rubricii C%&Tab se face alegnd din meniul 9UER-
opiunea CROSSTAB 9UER-(
.n cererea de mai sus am grupat valorile cmpurilor ?1:' i C$&%#O! i am utilizat
funcia SUM pentru cmpul =$?A$#0(
.n rezultatul final cmpul ?1:' va reprezenta liniile tabelului rezultat, cmpul
C$&%#O! coloanele tabelului rezultat iar cmpul =$?A$#0 va reprezenta valorile
acestui tabel(
#ezultatul interogrii este urmtorul:
CERERI DE ACIUNE
O cerere de ac5iune este o cerere care face schimbri la una sau mai multe nregistrri
printr/o singur operaie(
'2ist patru tipuri de cereri de aciune:
Cereri U5Date )de actualizare*(
Cereri Delete )de tergere*(
Cereri A55e02 )de adugare*(
Cereri Ma?e Table )de creare de tabele*(
ERERI #"DATE
$cest tip de cerere face schimbri globale la un grup de nregistrri n una sau mai multe
tabele(
;G
#$%O$#&'
.n e2emplul de mai 8os vei ncerca inde2area salariului tuturor medicilor din baza de date
%'#"O?$L )tabela "$L$#0$&0* cu -FS(
%roiectarea cererii arat astfel:
0ntroducerea rubricii C%&Tab se face alegnd din meniul 9UER- opiunea
UPDATE 9UER-(
!up proiectarea cererii trebuie parcurse urmtoarele etape:
$pas butonul RUN aflat pe bara de instrumente(
%e ecran apare caseta de confirmare a modificrilor respective(
!aca apei -ES, modificrile respective se vor produce n tabela )tabelele*
respectiv(
!ac vrei s vezi modificrile pe care le/ai efectuat apas pe butonul
DATAS$EET (
#ezultatul e2ecuiei cererii este urmtorul:
ERERI MA3E TA(LE
$cest tip de cerere creeaz o tabel din datele uneia sau a mai multor tabele(
.n e2emplul urmtor creeaz prin intermediul unei cereri de tip Ma?eTable, avnd ca
surs baza de date %'#"O?$L )tabela "$L$#0$&0*, o tabel "$L?O1 care s conin
doar cmpurile :arca, ?ume, unctia, "ef i $re"ef%e(
;I
#$%O$#&'
Creeaz o cerere noua cu cmpurile specificate(
'tape:
!in meniul 9UER- alege opiunea MA*E.TABLE 9UER-(
.n caseta de dialog Ma?e Table tasteaz numele noului tabel )"al?ou* i
apas O*(
.n final, apas butonul RUN ( %e ecran apare caseta de dialog de
confirmare a tabelei "$L?O1(
$pas butonul -ES i noua tabel )"al?ou* va fi creat(
ERERI A""END
$cest tip de cerere adaug un grup de nregistrri din una sau mai multe tabele la sfritul
uneia sau a mai multor tabele(
%entru a construi o cerere de tip APPEND creeaz mai nti o tabel "$L cu aceeai
structur ca i "$L$#0$&0(
;J
#$%O$#&'
C#+EREA -'RUC'URL#R 'A)ELEL#R
'tape:
.n fereastra bazei de date %'#"O?$L selecteaz tabela "$L$#0$&0(
'2ecut secvenele EDIT XK COP- i EDIT XK PASTE( $pare caseta de
dialog PASTE TABLE AS, bifeaz opiunea STRUCTURE ONL- i apas O*(
.n fereastra DATABASE apare noua tabel( O deschizi i o completezi cu
urmtoarele date:
?ot: $ceste date vor fi introduse la sfritul tabelei "$L$#0$&0 prin
intermediul unei cereri APPEND(
CREAREA CERERL#R A++E!&
'tape:
Creezi o cerere nou avnd ca surs tabela "$L(
$lege din meniul 9UER- optiunea APPEND 9UER-( %e ecran apare
caseta de dialog APPEND(
BF
#$%O$#&'
.n caseta TABLE NAME alegi numele tabelei n care vor fi copiate noile
nregistrri i apei O*(
'2ecut cererea apsnd pe butonul RUN (
.n caseta de dialog de confirmare apei butonul O*(
.nregistrrile vor fi adugate n tabela "$L$#0$&0(
ERERI DELETE
4terge una sau mai multe nregistrri din una sau mai multe tabele(
.n e2emplul urmtor tergi nregistrrile inserate n e2emplul anterior ):$#C$KX-FF*
prin intermediul unei astfel de cereri(
B>
#$%O$#&'
'tape:
Creeaz o cerere care are ca surs tabela "$L$#0$&0 i selectezi cmpul
:$#C$ cel pe care vei pune criteriul de tergere(
$legi din meniul 9UER-, opiunea DELETE 9UER-(
0nserezi criteriul de tergere(
$pas butonul RUN (
.n caseta de dialog de confirmare se apas O*(
B-
#$%O$#&'
Lecia @
Obiectivele leciei
?
FORMULARE
O metod foarte bun pentru introducerea datelor n tabele este crearea de formulare( Cu
a8utorul unui formular, poi aloca e2act att spaiu ct este necesar pentru fiecare cmp i
poi introduce informaii n mai multe tabele simultan(
.n general, fiecare formular afieaz o singur nregistrare la un moment dat(
%oi crea un formular n trei moduri:
A<t&'&%3 ofer foarte rapid formulare care conin toate cmpurile ntr/un
singur tabel(
F&%3 )iAa%2 te a8ut s creezi un formular furnizndu/se o serie de
casete de dialog din care poi alege cmpurile i stilul pentru formular(
Crend un formular pornind de la zero, ai la dispoziie o gril de machetare
n care plasezi cmpuri( 'ste modul cel mai dificil, dar asigur cel mai bun control(
REAREA FORM#LARELOR # A#TOFORM
Cel mai simplu mod de a crea un formular se face cu a8utorul caracteristicii
AUTOFORM( $cesta pune cmpurile dintr/un singur tabel ntr/un formular, este modul
cel mai puin fle2ibil, dar este foarte convenabil(
'tape:
!in fereastra DATABASE, e2ecut clic pe tipul de obiect FORMS(
'2ecut clic pe butonul Ne((
%e ecran apare caseta de dialog NE) FORM(
B9
#$%O$#&'
!eschizi lista derulant de la baza casetei de dialog i alegi tabelul sau
interogarea pe care o utilizezi ca surs a datelor din formular(
$pei butonul O*( $pare formularul pentru introducerea datelor(
.n final se salveaz formularul cu numele dorit(

?ot: ormularul pe care/l obii cu A<t&F&%3 s/ar putea s nu fie prea
artos( 'tichetele de cmp pot fi trunchiate i cmpurile pot fi apropiate( .n acest caz
nchide formularul fr s/l salvezi i ncearc din nou cu F&%3 )iAa%2(
REAREA FORM#LARELOR # FORM +I)ARD
'tape:
!in fereastra DATABASE, e2ecut clic pe tipul de obiect FORMS(
'2ecut dublu/clic pe opiunea CREATE FORM USIN! )IZARD(
$pare caseta de dialog F&%3 )iAa%2(

!in lista derulant TABLES79UERIES, alegi un tabel sau o interogare
din care s selectezi cmpuri ).n mod prestabilit este selectat primul tabel n ordine
alfabetic*
'2ecut clic pe un cmp din lista AVAILABLE FIELDS pe care vrei s l
introduci n formular i apoi e2ecut clic pe butonul NeBt C pentru a muta cmpul
n lista SELECTED FIELDS(
#epet pasul anterior pn cnd selectezi din acel tabel toate cmpurile pe
care vrei s le incluzi(
?ot: !ac vrei s incluzi cmpuri din alte tabele sau cereri, selecteaz/le
din lista TABLESD9UERIESE
B;
#$%O$#&'
'2ecut clic pe NE/T pentru a continua( @i se cere s alegi o machet:
C&l<30a%, Tab<la%, Data6eet sau 8<ti'ie2( '2ecut clic pe fiecare buton
pentru a previzualiza machetele( )C&l<30a% este cea mai uzual*( !up ce ai ales
macheta dorit apas NE/T(
@i se cere s alegi un stil( '2ecut clic pe fiecare stil din list pentru a/l
previzualiza, e2ecut clic pe NE/T dup ce ai ales un stil(
0ntrodu un titlu pentru formular n caseta de te2t din partea de sus a casetei
de dialog(
'2ecut clic pe butonul FINIS$(
BB
#$%O$#&'
.n final apare formularul pregtit pentru introducerea datelor(
REAREA FORM#LARELOR GOALE
Cel mai performant, dar i cel mai dificil mod de a crea un formular const n utilizarea
modului de vizualizare FORM DESI!N(
$cest mod i permite s stabileti e2act unde anume s plasezi fiecare cmp i cum s/l
formatezi(
'tape:
.n fereastra DATABASE, e2ecut clic pe tipul de obiect FORMS(
'2ecut clic NE)( $pare caseta de dialog NE) FORM(
'2ecut clic pe DESI!N VIE)(
"electeaz un tabel sau o interogare din lista derulant de la baza casetei de
dialog(
BE
#$%O$#&'
$pas O*( $pare o fereastra F&%3 Dei10(
A&(UGAREA C#!'R#ALEL#R LA U! "#R$ULAR
'tape:
$fieaz lista FIELDS dac aceasta nu este vizibil prin apsarea pe
butonul FIELD LIST sau alege din meniul VIE) opiunea FIELD LIST(
&rage cu mouse/ul un cmp din lista de cmpuri n zona DETAIL a
raportului(
&E+LA-AREA C#!'R#ALEL#R &E C.$+
'tape:
!ac nu eti de8a n modul de vizualizare FORM DESI!N, treci n acest
mod(
'2ecut clic pe numele unui control pentru a/l selecta( $par mnere de
selecie n 8urul lui( %oi selecta mai multe controale, innd apsat tasta S$IFT n
timp ce e2ecui clic pe fiecare(
%oziioneaz indicatorul mouse/ului astfel nct acesta s se transforme
ntr/o palm(
'2ecut clic i ine apsat butonul stng al mouse/ului ct timp vei trage
controlul ntr/o alt poziie(
BG
#$%O$#&'
&E+LA-AREA C#!'R#ALEL#R / A E'C*E'EL#R 0! $#& !&E+E!&E!'
'tape:
'2ecut clic pe controlul care vrei s fie selectat(
%oziioneaz indicatorul mouse/ului pe mnerul de selecie aflat n partea
din stnga sus, astfel nct s se transforme ntr/un deget arttor(
&ragei controlul ntr/o alt poziie(
'2:
" se creeze urmtoarea form:
?ot: '2ecutarea formei se face prin apsarea pe butonul VIE) de
pe bara de instrumente sau din meniul VIE) opiunea FORM VIE)(
orma va arta astfel:
BI
#$%O$#&'
7,UAL,AREA A!'E'URL#R / A -U)-#LURL#R &E +AG!(
%e lng zona DETAIL pe care ai utilizat/o pn acum mai e2ist i alte zone:
FORM $EADER i FORM FOOTER + sunt zone care se repet n
partea de sus sau de 8os a formularului, cum ar fi titlul formularului n partea de sus
sau o noti de copyright n partea de 8os(
!up e2ecutare forma va arta astfel:
?ot: $dugarea antetelor i a subsolurilor de pagin se face, selectnd din
meniul VIE) opiunea FORM $EADER7FOOTER(
PA!E $EADER i PA!E FOOTER + sunt zone care se repet n partea
de sus sau de 8os a fiecrei pagini a formularului atunci c8nd 9l tipre:ti(
?ot: %entru a afia aceste dou zone trebuie s selectezi din meniul VIE)
opiunea PA!E $EADER7 FOOTER(
BJ
#$%O$#&'
ormularul va arta astfel:
A&(UGAREA E'C*E'EL#R
%entru a putea aduga formularului titluri, subtitluri, te2t e2plicativ i altele trebuie s
adaugi n formular un obiect care se numete etichet(
?ot: .n cazul n care bara de instrumente nu este afiat, alege opiunea
TOOLBO/ din meniul VIE) sau e2ecut clic pe butonul TOOLBO/ de pe
bara de instrumente(
'tape:
'2ecut clic pe instrumentul LABEL din caseta de instrumente(
0ndicatorul mouse/ului se preschimb n litera A cu un semn plus lng ea(
&raseaz un chenar n interiorul formularului i introdu te2tul dorit(
'2ecut clic oriunde n afara controlului pentru a termina operaia sau
apas ENTER(
EF
#$%O$#&'
"#R$A'AREA E'C*E'EL#R
!up ce ai plasat toate informaiile ntr/un formular )controalele pe care vrei s le incluzi
i etichetele pentru afiarea oricrui titlu sau te2t e2plicativ*, urmtorul pas este s faci
formularul mai atrgtor(
&oate instrumentele de formatare de care ai nevoie sunt pe bara de instrumente
F&%3atti01(
%entru a formata un control, selecteaz/l i apoi e2ecut clic pe instrumentul de formatare
adecvat(
$#&"CAREA #R&! &E &E+LA-ARE CU 'A-'A 'A)
Cnd introduci date ntr/un formular, apas tasta Tab pentru a te deplasa de la un control
la altul, n ordinea n care sunt afiate n formular(
!ac mui i rearan8ezi controalele, ordinea de deplasare cu tasta Tab nu se modific
automat(
%entru a a8usta ordinea de deplasare cu tasta Tab trebuie s parcurgi urmtorii pai:
$lege din meniul VIE) opiunea TAB ORDER( $pare caseta de dialog
TAB ORDER(
$lege seciunea pentru care vrei s schimbi aceast ordine(
$par controalele n ordinea de deplasare cu tasta Tab( %entru a modifica
ordinea, e2ecut clic pe control i trage/l n sus sau n 8os n list(
%entru a stabili rapid ordinea de deplasare pe baza poziiei curente a
controalelor n formular )de sus n 8os*, e2ecut clic pe butonul A<t& O%2e%(
'2ecut clic pe O*(
RAPOARTE
#apoartele sunt obiecte prin intermediul crora generezi rezultate profesionale care pot fi
afiate pe ecran, tiprite pe hrtie sau afiate pe 0nternet(
REAREA #N#I RA"ORT # A#TORE"ORT
!ac vrei un raport simplu, bazat pe un singur tabel sau pe o singur interogare, cel mai
potrivit este AUTOREPORT(
E>
#$%O$#&'
%entru a crea un raport folosind A<t&Re5&%t, urmeaz paii:
!eschide baza de date care conine tabelul sau interogarea pe baza creia
vrei s creezi raportul(
'2ecut clic pe eticheta REPORTS din fereastra DATABASE i apoi pe
butonul NE)( $pare caseta de dialog NE) REPORT(

"electeaz din lista derulant tabelul sau interogarea pe baza creia vrei s
construieti raportul(
"electeaz AUTOREPORT: COLUMNAR sau AUTOREPORT:
TABULAR(
'2ecut clic pe O* i raportul apare n modul PRINT PREVIE)(
#aportul va arta astfel:
REAREA #N#I RA"ORT # RE"ORT +I)ARD
Re5&%t )iAa%2 asigur un compromis acceptabil ntre uurina de utilizare i
fle2ibilitate( Cu Re5&%t )iAa%2, poi utiliza mai multe tabele i interogri i poi alege o
machet i un format pentru raportul tu(
'tape:
!eschizi baza de date care conine tabelul sau interogarea pentru care vrei
s creezi un raport(
E-
#$%O$#&'
'2ecut clic pe eticheta Re5&%t din fereastra Databae( %e ecran apare
caseta de dialog Re5&%t )iAa%2(
!in lista derulant Table79<e%ie, selecteaz un tabel sau o interogare
din care vrei s incluzi cmpuri(
'2ecut clic pe un cmp din lista Available Fiel2 i apoi pe butonul
pentru a muta cmpul n lista Selecte2 Fiel2( #epet acest pas pentru a selecta
toate cmpurile dorite sau e2ecut clic pe pentru a muta toate cmpurile
deodat(
!ac vrei, selecteaz un alt tabel sau o alt interogare din lista
Table79<e%ie i repet pasul anterior( &abelele pe care le alegi trebuie s aib
relaii ntre ele, astfel nct datele s coincid n raport(
E9
#$%O$#&'
Cnd ai terminat de selectat cmpurile, e2ecut clic pe NE/T( $pare
prima caset de dialog Re5&%t )iAa%2(
!ac vrei gruparea nregistrrilor dup oricare din cmpurile pe care le/ai
selectat, e2ecut clic pe cmp i apoi pe butonul ( %oi selecta mai multe
niveluri de grupare, n ordinea pe care o vrei( $poi e2ecut clic pe NeBt pentru a
trece mai departe(
$plicaia )iAa%2 te ntreab ce ordine de sortare vrei s utilizezi( !ac
vrei nregistrri sortate, deschide lista derulant de sus i selecteaz un cmp dup
care vrei ca sortarea s se efectueze( "electeaz cel mult patru sortri din listele
derulante(
.n mod prestabilit, sortarea este n ordine cresctoare )de la $ la A*(
'2ecut clic pe butonul de lng caset pentru a schimba ordinea de sortare n
descresctoare )de la A la $*, daca vrei(
.n urmtoarea caset de dialog vei alege o opiune de machetare din
seciunea LA-OUT(
$lege orientarea pentru raportul tiprit din seciunea ORIENTATION(
E;
#$%O$#&'
$pas NE/T(
.n urmtoarea caset de dialog a aplicaiei )iAa%2, alege un stil de raport(
"unt afiate mai multe, e2ecut clic pe unul pentru a vedea o mostr(
$pas NE/T cnd eti mulumit de alegerea fcut(
EB
#$%O$#&'
@i se cere un titlu de raport( =ei introduce un titlu n caseta de te2t Re5&%t
i e2ecut clic pe FINIS$ pentru a vedea raportul n modul PRINT PREVIE)(
TI"RIREA RA"OARTELOR %N MOD#L "RINT "RE1IE+
Cnd creezi un raport, fie cu Re5&%t )iAa%2, fie cu A<t&%e5&%t, acesta apare n modul
P%i0t P%evie(( !e aici poi s/l tipreti direct, dac eti mulumit de rezultat sau poi s
treci n modul de vizualizare Re5&%t Dei10 pentru a face modificri(
!ac vrei s tipreti raportul i s specifici diverse opiuni de tiprire, alege din meniul
FILE opiunea PRINTF( %e ecran apare caseta de dialog PRINT(
!aca vrei s obii rapid o copie tiprit, e2ecut clic pe butonul PRINT de pe bara
de instrumente(
EE
#$%O$#&'
INTRAREA %N MOD#L DE 1I)#ALI)ARE RE"ORT DE!IGN
'tape:
'2ecut clic pe eticheta REPORTS(
'2ecut clic pe raportul pe care vrei s/l vizualizezi(
'2ecut clic pe butonul DESI!N( $pare raportul n modul de vizualizare
DESI!N(
#aportul conine urmtoarele zone:
REPORT $EADER + conine titlul raportului,
PA!E $EADER + conine etichetele de coloan ale raportului,
DETAILS + afieaz lista cmpurilor alese pentru a fi tiprite n aceste
coloane,
PA!E FOOTER + conine o formula care va afia data i ora curent(
L#R#L # ONTROALELE DIN RA"ORT
Lucrul cu controalele din raport n modul de vizualizare Re5&%t Dei10 este similar cu
modul de lucru cu controalele n modul F&%3 Dei10(
"electarea controalelor se face e2ecutnd un clic pe control( .n 8urul su apar mnere de
selecie(
EG
#$%O$#&'
:utarea obiectelor + se selecteaz obiectul respectiv, apoi poziioneaz indicatorul
mouse/ului deasupra unei laturi a chenarului astfel nct acesta s se transforme ntr/o
palm deschis i neagr( $poi e2ecut clic i trage controlul n noua poziie(
#edimensionarea obiectelor + selecteaz obiectul, apoi poziioneaz indicatorul mouse/
ului deasupra unui mner de selecie i trage/l pentru a redimensiona obiectul(
ormarea obiectelor de te2t + utilizeaz listele derulante F&0t i F&0t SiAe de pe bara cu
instrumente pentru a alege fonturi, apoi utilizeaz butoanele B&l2, Italic sau U02e%li0e
de pe bara cu instrumente pentru a aplica anumite atribute( %oi aduga, de asemenea,
linii i imagini n rapoarte, la fel ca n formulare(
AD#GAREA 4I 4TERGEREA ONTROALELOR
'tape:
!ac nu vezi lista Fiel2, vei alege din meniul Vie( opiunea File2 Lit sau
e2ecut clic pe butonul Fiel2 Lit de pe bara de instrumente( $pare o caset
mobil, care afieaz o list cu toate cmpurile din tabelul pe care/l utilizezi(
&rage orice cmp din lista de cmpuri n raport, unde devine un control +
n mod prestabilit, o caseta de te2t( %laseaz/l oriunde vrei n zona Detail(
?ot: %entru a terge un control acesta va fi selectat i prin apsarea tastei
DELETE va fi ters(
ARAN7AREA NOILOR ONTROALE
Cnd adaugi un control n raport, de fapt adaugi dou lucruri + o etichet i o caset de
te2t( $ceste dou elemente sunt legate: eticheta descrie caseta de te2t, iar caseta
reprezint cmpul care va fi utilizat( %oi modifica te2tul din etichet fr s afectezi
caseta de te2t
.n mod prestabilit, cnd mui caseta de te2t, o urmeaz i eticheta( !ac poziionezi
indicatorul mouse/ului pe chenarul casetei de te2t i indicatorul se transform ntr/o
palm deschis, acesta este semnalul c, atunci cnd vei trage caseta de te2t, eticheta o va
urma(
.n orice caz, poi deplasa i separat caseta de te2t i eticheta( =ei observa c n colul din
stnga sus al fiecrui control e2ist un mner de selecie )ptrat* care este mai mare dect
EI
#$%O$#&'
celelalte( Cnd poziionezi indicatorul mouse/ului pe acest ptrat, cursorul devine o mn
cu degetul arttor ntins( .n acest moment poi s e2ecui clic i s tragi fiecare obiect
separat de celalalt(
AD#GAREA ETI&ETELOR
%oi, de asemenea, s adaugi separat etichete, cu te2t suplimentar, care nu sunt neaprat
asociate cu un anumit cmp(
'tape:
'2ecut clic pe butonul Label de pe bara de instrumente T&&lb&B(
'2ecut clic oriunde n raport i tasteaz te2tul etichetei(
!up ce ai terminat, e2ecut clic oriunde n afara etichetei(
?ot: .n cazul n care bara de instrumente T&&lb&B nu este afiat, poi
apsa pe butonul T&&lb&B de pe bara de instrumente standard sau poi alege din
meniul VIE), opiunea TOOLBARS i apoi TOOLBO/(
EJ

S-ar putea să vă placă și