Documente Academic
Documente Profesional
Documente Cultură
CUPRINS
Cuprins
Capitolul
3
Baze de date n mediul Access. Tabele
Microsoft Access face parte din pachetul de programe Microsoft Office.
Principalele caracteristici ale produsului sunt urmtoarele:
Sistemul de gestiune al bazelor de date este relaional i lucreaz sub sistemul de
operare Windows;
Este compatibil pentru comunicare cu alte sisteme de gestiune al bazelor de date de
tipul FoxPro sau Paradox;
Este compatibil cu tehnologia ActiveX care permite realizarea unor aplicaii de tip
Client/Server;
Permite comunicarea cu SQL Server, un alt produs al firmei Microsoft;
Permite realizarea unor aplicaii complexe prin folosirea limbajului Visual Basic;
Permite accesul la bazele de date din reeaua Internet, fiind un instrument util pentru
publicarea informaiilor n paginile de Web;
Este autodocumentat prin help, apelabil contextual sau la cerere;
Conine instrumente Wizard care permit utilizatorului crearea facil a unor obiecte;
Permite crearea de grupuri de obiecte definite de utilizator n cadrul bazei de date.
3.1
34
35
Apsai A+4.
Executai dublu click pe caseta meniului Control.
Fig 1
Microsoft Access utilizeaz meniuri dinamice, ale cror opiuni se modific n
funcie de felul n care folosii programul. Atunci cnd pornii programul, exist doar dou
meniuri derulante: File i Help. Dup ce deschidei o baz de date, bara de meniuri se va
modifica i n cadrul ei vor aparea mai multe nume de meniuri.
Modul cel mai rapid de operare n Microsoft Access este cu ajutorul unui mouse.
Putei exersa utilizarea mousului, efectund urmtorii pai:
1. Deplasai cursorul mousului pe numele meniului dorit din bara principal de
meniuri, apoi apasai i eliberai butonul stng al mousului (ceea ce se numete
"a executa click". De pild, executai un click pe opiunea File. Meniul respectiv
se deschide.
2. Executai click pe opiunea dorit din meniu; de exemplu, pe Open Database.
3. Atunci cnd se deschide caseta de dialog (fig. 2), selectai opiunile dorite, ori
introducei textul dorit.
4. n mod obinuit, vei nchide caseta de dialog executand click pe OK i lansnd
astfel aciunea respectiv. Dac executai click pe Cancel, caseta de dialog se
nchide fr a iniia nici o aciune.
n lucrul cu meniurile, este necesar s cunoatei cteva detalii.
Un element de culoare gri al meniului nu poate fi selectat n momentul respectiv.
Un triunghi mic afiat n dreapta unei comenzi din meniu arat c, selectarea
comenzii respective va deschide alt meniu. De exemplu, dac ai deschis o baz
de date i selectai meniul File, comanda New din acest meniu apare cu un mic
triunghi cu vrful spre dreapta. Selectnd New, se va afia un submeniu, pe carel putei folosi pentru a defini tipul de obiect pe care intenionai s-l creai n baza
de date.
Punctele de suspensie (...) ce urmeaz unei comenzi indic apariia unei casete de
dialog la selectarea comenzii respective.
Dac deschidei un meniu i apoi hotari s nu-l mai folosii, l putei elimina de
pe ecran, apsnd Esau executnd click oriunde n afara ecranului.
36
Fig 2
Tastatura se folosete pentru a introduce text ntr-o caseta de dialog ori n tabelul
unei baze de date. n unele cazuri, de pild la un calculator laptop, tastatura poate fi extrem
de util n activarea comenzilor din meniuri. Iat cum trebuie folosit pentru comenzi:
1. Apsai tasta A apoi introducei litera de selectare a meniului dorit.
2. Cnd este afiat meniul derulant, apsai litera de selectare a opiunii dorite.
Litera de selectare este litera ce apare subliniata pe ecran i care, apasata,
activeaz o comand dintr-un meniu.
0 serie de taste funcioneaz drept comenzi rapide n anumite operaii, astfel nct nu mai e
necesar s deschidei meniul i s selectai comanda. Exist astfel comenzi rapide pentru
anularea unei operaiuni, pentru decuparea sau copierea de texte ori pentru nchiderea unui
program. Tabelul 1 prezint cteva dintre cele mai utilizate.
Tabelul 1
TASTA
FUNCIA
A+4
Prsete mediul Access
E
Anuleaz un meniu, o comand sau o caset de dialog
1
Deschide sistemul Help
S+1
Deschide asistena soft sensibil la context
C+0
Mrete fereastra documentului
C+X
Transfer datele n memoria Clipboard, dup care le terge
din fereastra curent
C+C
Copiaz datele n memoria Clipboard, pstrndu-le n
fereastra curent
C+V
Transfer datele din memoria Clipboard n fereastra curent
D
Elimin sau terge date selectate
S+2
Mrete o selecie
C+6
Trece de la o fereastr deschis la alta
!
Revine la fereastra bazei de date
S+@
Salveaz un obiect al bazei de date
37
Imediat sub meniuri se afl o bar cu instrumente de lucru, ea cuprinde mai multe butoane
care pot simplifica operaiile. Cnd este pornit mediul Access, pe ecran vor fi active patru
butoane: New Database, Open Database, Cue Cards i Help
Fig 3
Asistena soft se obine n orice moment, apsnd pe tasta 1 sau executnd click
pe butonul de asisten soft (fig 3). Dac se alege Contents din meniul Help se va deschide
tabla de materii Help din care se poate alege orice subiect dorit. Dac se tasteaz
S+1 pe o anumit comand a meniului se pot obine informaii despre utilizarea
comenzii selectate din meniu. O alt metod de a obine asisten soft este folosirea
facilitlor Cue Cards (fig 4). Acestea sunt secvene explicative care prezint diverse
etape ale utilizrii bazelor de date. Ele pot fi alese din meniul Help, selectnd opiunea cu
acelai nume, sau prin acionarea butonului cu acelai nume.
3.2
Fig. 4
38
39
40
Fig 5
iniial. Ca s inchidei baza de date, alegei Close Database din meniul File. Reapare
fereastra de pornire; dac dorii, putei deschide alte baze de date, sau crea una nou.
Salvnd baza de date nainte s-o nchidei, v asigurai c totul este stocat n mod
corespunztor pe disc. Este obligatoriu s nchidei o baz de date nainte de a deschide
alta, fiindc n program nu se pot deschide simultan dou baze de date.
3.3
41
3 4 5
6 7 8 9
10 11 12 13 14
Fig. 6
tabel. n cazul c exist mai multe cmpuri se selecteaz aceste cmpuri (tasta C
apsat i click pe cmpul dorit) dup care se acioneaz butonul Primary key.
Proprietile cmpului se definesc n fereastra Table Design, panoul Field
Proprieties conine urmtoarele opiuni:
Field Size, opiunea n care se introduce dimensiunea cmpului, funcie de un
anumit tip de dat. Este folosit pentru cmpurile de tip text i cmpurile de tip
numeric;
Format ofer posibilitatea alegerii dintr-o list derulant a unui format
prestabilit, funcie de tipul de date ales. Nu se aplic cmpurilor de tip OLE
Object;
Decimal Places afecteaz afiarea cmpurilor, nu i valorile datelor din cmp, ea
aplicndu-se doar cmpurilor de tip numeric (Number i Currency). Se poate
alege setarea implicit Auto sau un numr cuprins ntre 0 i 15 ea definind
numrul de zecimale ale cmpului;
Input Mask (masc de intrare), sunt iruri de caractere similare celor folosite de
proprietatea Format, care determin modul de afiare al datelor. Se poate declana
un wizard pentru alegerea tipului de masc dorit;
42
Format
Aspect
General Number
Currency
Fixed
Standard
Percent
Scientific
General Date
Long Date
Date/Time
Date/Time
Date/Time
Date/Time
Date/Time
Medium Date
Short Date
Long Time
Medium Time
Short Time
1234.5
$1,234.50
12345
1,234.50
0.1234=12.34%
1.23E+03
10/1/98 4:00:00 PM
Thursday, October 1,
1998
1-oct-98
10/1/98
4:00:00 PM
04:00 PM
16:00
Yes/No
Yes/No
Yes/No
Yes/No
Yes/No
True/False
On/Off
fr
43
Yes sau No
True sau False
On sau Off
-1 sau 0
Valoarea Null n tabelele Access arat c acel cmp nu conine date. Aceast
valoare nu este identic cu valoarea 0 sau cu un cmp text fr nici un caracter. Valoarea
Null este util pentru a determina dac ntr-un cmp a fost introdus o valoare.
Formatele personalizate se realizeaz cu ajutorul unor caractere speciale numite
placeholder. Cteva dintre aceste caractere sunt sunt prezentate n tabelul 3
Tabelul 3
Caractere
Funcie
placeholder
ir gol
Afiaz numrul fr nici o aranjare
0
Afiaz un digit sau zero. Poate fi folosit la fiarea cifrei 0 cu
care ncep numerele ntregi i a celor care ncheie fraciile
zecimale. 00000.000 01234.500
#
Asemntor cu 0 doar c nu afiaz zerourile de la nceput sau
sfrit #####.### -- 1234.5
$
Afiaz semnul dolar n poziia dorit. $###.###.00 -$1,234.50
%
Multiplic valoarea cu 100 adaug semnul procent n
poziia indicat cu caractere 0 i #. #.#0.00% afiseaz valoarea
0.12345 ca 12.35% (12.345 rotunjit la 12.35)
,(virgula)
Adaug n iruri 0 sau # virgule pentru separarea miilor.
###,###.00 1,234.50
.(punctul
Afiaz punctu zecimal n poziia indicat ntr-un ir
zecimal)
placeholder de 0 sau #. ##.## -- 1234.5
E-eAfiaz numerele n formatul tiinific cu semn numai pentru
exponentul negativ
E+e+
Afiaz numerele n formatul tiinific cu semn numai pentru
exponentul pozitiv
/
Separ luna ziua anul
m
Indic modul de afiare al lunii din data calendaristic:
m afieaz 1
mm afieaz 01
mmm afieaz Jan
mmmm afieaz January
d
Indic modul de afiare al zilei din data calendaristic:
d afeaz 1
dd afieaz 01
ddd afieaz Mon
dddd afieaz Monday
h,n,s
:
AM/PM
@
&
>
<
*
44
Exemple
mmmm dd,yyyy - hh:nn pentru schimbarea modului de afiare al datei:
December 08,1948 - 00:00
$###,###,##0.00 - 1234567.89$ se transform n $1,234,567.89;
(###,###,##0.00) -1234567.89 se transform n $(1,234,567.89);
semnul > transform caracterele mici n caractere mari pentru formatul de
afiare abc = ABC;
semnul < transform caracterele mari n caractere mici ABC = abc;
@@@@-@@@@@@ transform n afiare 12345678910 = 1234-5678910;
#.##Lei transform n afiare 1234 = 1.23Lei;
###E+ afieaz mantisa pe trei caractere 0.29 = 290E 3;
d-m-yy afieaz data calendaristic n formatul z-l-aa 07/03/99 = 3-7-99
Utilizarea mtilor de intrare la introducerea datelor este folosit de Access pentru
a permite limitarea la numere datele introduse n cmpurile de tip Text sau s
controlai n alt fel aranjarea lor. Spre deosebire de Format, Input Mask nu
permite tastarea n interiorul cmpurilor a caracterelor care contravin cu
masca de intrare stabilit. n tabelul urmtor sunt prezentate caracterele
placeholder care se folosesc pentru a aranja cmpurile ce conin iruri de caractere,
ntr-o prezentare dorit. Aceste caractere sunt prezentate n tabelul 4.
Tabelul 4
Caractere
Funcie
placeholder
Empty String Nici o masc de intrare
0
Necesit introducerea unui numr 0-9 sau a unui semn (+/-)
9
Introducerea opional a unui numr
#
Introducerea opional a unui numr sau a unui spaiu
L
?
A
a
&
C
.,:;/()
>
<
!
\
45
Exemple
000000 numr format din 6 cifre;
999999 asemntor dar permite ca numrul cifrelor din masc s fie mai mic;
####### - apte cifre dar permite i folosirea caracterelor spaiu sau operatorii
+ i -
LLLLL permite introducerea a cinci litere;
?????? permite introducerea a ase litere sau a caracterului spaiu;
AAAAAA permite introducerea a ase litere sau a cifrelor.
Dac ai realizat deja o baz de date utiliznd paii artai anterioar, deschidei-o dup
cum urmeaz:
1. Alegei Open Database din meniul File, sau executai click pe butonul Open
Database din bara cu instrumente de lucru.
2. Alegei unitatea de disc i catalogul, dac este necesar, apoi alegei baza de date
din lista File Name.
3. Executai click pe OK, sau apasai Enter. Apare fereastra bazei de date (fig. 5).
Dac n-ai creat nc o baz de date, o putei face alegand New Database din meniul
File. Pentru a continua exemplul propus, introducei Desfacere n caseta de text File
Name, apoi alegei OK.
46
Fig. 7
Asigurai-v c lista afiat n caseta de dialog poarta titlul Tables. Dac acesta nu
apare, executai click pe butonul Table din partea stng a casetei de dialog (fig. 5). Pentru
a crea un tabel nou, alegei butonul New. Va aprea caseta de dialog New Table. Alegei
butonul New Table ca s creai un tabel simplu. Microsoft Access deschide o nou
fereastra Table n modul Design (fig. 7). Putei folosi aceasta fereastra pentru a crea
structura tabelului dorit. Modul Design constituie o afiare a unui tabel, formular, cerere
sau raport, care va permite s-i modificai structura de baza. Modul Foaie de Date sau
Datasheet asigur afiarea datelor dintr-un tabel, cerere sau formular, ns nu v permite
modificarea structurii. Definii un tabel, comunicnd programului Access care va fi
structura acestuia. Structura este alcatuit din cmpuri; pentru fiecare din ele trebuie s
specificai o denumire (de exemplu TELEFON sau NUME) i un tip de date (de pilda,
Text sau Number). De asemenea, dac dorii, putei introduce o descriere simpl. Access
folosete opt tipuri de date:
Text indic text i numere care nu sunt folosite n calcule;
Memo indic texte lungi (fraze);
Date/Time este folosit pentru date calendaristice;
Number indic numere folosite n calcule;
Currency este folosit pentru valori bneti;
Counter este folosit pentru un numr ntreg mrit n mod automat;
Yes/no indic valori logice care pot fi adevarate sau false;
OLE Object este utilizat pentru un obiect inserat;
Pentru lista noastr, vom folosi urmtoarele cmpuri:
Numele cmpului
Tip
Descriere
Marca
Number
Marca de identificare
Nume
Text
Numele vnztorului
Prenume
Text
Prenumele vnztorului
Adresa
Text
Adresa vnztorului
Oras
Text
Oraul vnztorului
Judet
Text
Judeul vnztorului
Cod_Postal
Number
Codul potal
Telefon
Text
Numrul de telefon
Vanzari
Currency
Vnzrile n ultimele ase luni
Pentru a crea structura bazei de date, urmai aceste instruciuni:
1. Deplasai cursorul n caseta de text a primului camp i introducei denumirea. (De
47
Fig 8
3.3.1 Stabilirea proprietilor de cmp
Pentru fiecare cmp dintr-un tabel, trebuie s prevedei anumite proprieti. Ai
denumit deja cmpurile; de acum, singurele pentru care trebuie s stabilii proprietai sunt:
Marca, Cod_Postal, Judet i Vanzari. Cmpurile text nu trebuie caracterizate n acest
exemplu. Proprietatea este caracteristica unui obiect: de pild, mrimea, culoarea sau
numele.
Pentru a stabili proprietaile, procedai astfel:
1. Ca s stabilii formatul cmpului Marca, executai click pe orice celul de pe rndul
cmpului respectiv. Caseta Field Properties din josul ecranului va afia
proprietaile actuale ale cmpului.
2. Executai click pe caseta F'ield Size i va aparea o sgeat. Executai click pe ea
(sau apasai A+b) pentru a afia opiunile.
3. Alegei Long Integer, pentru a anuna programul c vei utiliza doar numere
intregi.
48
49
Fig 9
Dac ai creat un tabel nou, el nu va conine nici o nregistrare. Pentru a introduce o
nregistrare, completai celulele din primul rnd. Folosii j i f, sau tastele cu sgei
pentru a deplasa cursorul de la o coloan la alta pe masur ce introducei datele. Apasnd
S+f, v deplasai napoi pe coloane. Dup ce ai completat introducerea unei
nregistrri, putei apsa tasta Tab, ca s v mutai pe primul cmp al urmtoarei
nregistrri i s-o introducei pe aceasta. Continuai pn ce ai introdus toate nregistrrile
dorite.
Dac un tabel conine deja nregistrri, orice alte nregistrri pe care le vei aduga
vor fi plasate la sfritul tabelului. De exemplu, la sfritul tabelului Vinzari, pe care l-ai
creat, vei vedea un asterisc ce marcheaza o nregistrare goal. Pentru a aduga o
nregistrare, completai acest rnd, care dup aceea va deschide o nou nregistrare goal.
n zona de selectare a nregistrrilor din stnga primului cmp, un triunghi mic marcheaz
nregistrarea curent. Dac ncepei s introducei o nou nregistrare fr s fi trecut pe
rndul gol, vei scrie peste datele din inregistrarea curent. ntr-un asemenea caz, putei
terge datele noi, selectndu-le i alegnd Undo Saved Records din meniul Edit. Datele
noi sunt terse, fiind readuse cele vechi. Cnd terminai de adugat nregistrri, nchidei
tabelul i baza de date.
Microsoft Access v salveaz nregistrrile pe disc, pe msur ce le introducei. De
fiecare dat cnd deplasai cursorul pe urmtoarea nregistrare, programul salveaz n mod
automat nregistrarea introdus (ori modificat).
Dup ce ai terminat de introdus date, trebuie s nchidei tabelul i baza de date. n
acest fel va asigurai c totul este salvat n mod corespunzator pe disc i nu s-au pierdut
date. Pentru a nchide tabelul, procedai astfel:
1. Alegei Close din meniul File. Tabelul e salvat pe disc i nu mai apare afiat.
2. Dupa ce ai terminat i cu baza de date, nchidei-o, alegnd Close Database din
meniul File.
Dup ce ai introdus nregistrri, s-ar putea s descoperii unele erori ce trebuie
corectate. Din fericire, deplasarea in interiorul unei foi de date este simpl. Ca s mutai
cursorul, putei utiliza tastele de comenzi rapide.
Apsai
50
Pentru ca
Tab f
S deplasai cursorul de la stnga la
dreapta
ntre
cmpurile
unei
nregistrri
Shift+Tab S+f
S deplasai cursorul de la dreapta la
stnga
ntre
cmpurile
unei
nregistrri
Tastele cu sgei
S v deplasai n sus, n jos, la
dreapta ori la stnga
Page Up u
S derulai o foaie de date n sus ecran
cu ecran
Page Down d
S derulai o foaie de date n jos ecran
cu ecran
Home h
S deplasai cursorul la nceputul
nregistrrii curente
End e
S deplasai cursorul la sfritul
nregistrrii curente
Ctrl+Home C+h
S deplasai cursorul la primul cmp
al primei nregistrri
Ctrl+End C+e
S deplasai cursorul la ultimul cmp
al ultimei nregistrri
Ctrl+PageUp C+u
S v deplasai cu un ecran la stnga
Ctrl+Page Down C+d
S v deplasai cu un ecran la dreapta
De asemenea, putei folosi mouse-ul ca s selectai orice cmp al unei nregistrri pe
care dorii s-o editai; pur i simplu, executai click pe cmpul dorit. Putei executa click pe
sgeile din barele de derulare, ca s derulai n sus, n jos, la stnga sau la dreapta cu cte
un rnd sau o coloan. Similar, executand click n interiorul barei, putei deplasa un ntreg
ecran, sau deplasa casetele de derulare pe o alta poziie. Atunci cnd mutai caseta de
derulare, ecranul se deplaseaz corespunzator.
Pentru a edita o nregistrare dintr-o foaie de date, mai nti selectai cmpul pe care
dorii s-l editai. Utiliznd mouseul, putei poziiona cursorul oriunde n cmp. Pentru a
v deplasa la un cmp, putei folosi tastatura, fcnd unul din urmtoarele lucruri:
S nlocuii datele existente. Daca datele din cmp sunt selectate, putei ncepe
introducerea altor date. Zona selectat este tearsa i apar noile date.
S pstrai datele existente Dac datele din cmp sunt selectate, ns nu dorii s
tergei totul, apsai 2 aceasta va permite s v deplasai prin cmp cu ajutorul
tastelor cu sgei. Dup ce terminai, apsai iarai 2.
Dac dorii s tergei complet o nregistrare, executai click pe caseta selectorului
de rnd din stnga nregistrrii. n caset va aprea o sgeat i ntreaga nregistrare se
selecteaz. Din meniul Edit, alegei Delete, sau apsai tasta D. Apare o caset de dialog
care va cere s confirmai aciunea. Selectai OK.
ntruct Access sorteaz baza de date dup cmpul cheii primare, noile nregistrri
sunt inserate n mod automat la locul cuvenit. Dac folosii numere consecutive drept
valori ale cheii primare, va trebui s renumerotai nregistrrile, pentru a o cuprinde i pe
51
cea nou (dac nu este ultima). De exemplu, s presupunem ca avei zece nregistrari i
trebuie s inserai o alt nregistrare la numarul opt. Atunci, schimbai valorile cheii
primare din nregistrarile opt, nou i zece. Dup aceea, introducei noua nregistrare n
ultimul rnd al tabelului, folosind o valoare diferit n cmpul cheii primare. Cnd Access
salveaza tabelul, el va aranja nregistrrile n ordine secvenial.
Pentru a simplifica editarea, putei utiliza meniul Edit, ca s "decupai" (s tergei)
sau s copiai un material selectat, pe care dup aceea l "lipii" (l inserai). Decuparea
unei selecii va muta datele din foaia de date n memoria-tampon "Clipboard". Copierea
unei selecii pstreaza datele n poziia iniial i, simultan, transfer o copie a lor n
Clipboard. Copierea datelor din Clipboard se face prin "lipirea" lor n foaia de date.
Clipboard este o zon n care datele pe care le decupai sau copiai sunt stocate temporar.
Atunci cnd inserai datele n alt loc, ele rmn disponibile n Clipboard, pentru alte lipiri,
pn ce decupai sau copiai altceva. n felul acesta, putei utiliza comanda Paste n mod
repetat, fr a fi nevoii s decupai, s lipii mereu aceleai date. Cnd prsii Windows,
coninutul memoriei Clipboard dispare.
De exemplu, considerm baza de date prezentat anterior. Dup ce ai introdus
nregistrrile, v dai seama ca numrul Marca al lui Oaida Valentin este de fapt 100, iar
cel al lui Ionescu Nicolae este 100. Putei muta nregistrarea lui Oaid Valentin, folosind
comanda Cut.
Procedai astfel:
1. Selectai datele care trebuie mutate. n cazul de fa, executai click pe caseta
selectoare de rnd din stnga rndului pentru a selecta ntreaga nregistrare a lui
Ionescu Nicolae.
2. Deschidei meniul Edit i alegei Cut.
3. Apare o caseta de dialog, care va cere confirmarea modificrilor. Selectati OK.
4. Ca s inserai selecia n alt loc, mai nti poziionai cursorul n rndul respectiv. n
acest exemplu, deplasai cursorul pe rndul de sub nregistrarea lui Oaid Valentin.
5. Selectai o zon care are exact aceeai mrime cu zona decupat n exemplul de
fa, executnd click pe caseta de selectare a rndurilor, selectai ntregul rnd.
6. Alegei Paste din meniul Edit.
Acum, pentru ca baza de date s fie corect, mai trebuie doar s schimbai numerele din
cmpul Marca pentru Ionescu Nicolae i Oaid Valentin.
Copierea unor date selectate este similar cu decuparea lor. Singura diferena este
faptul ca datele nu sunt terse din pozitia iniial. Pentru a copia date, procedai astfel:
1. Selectai datele pe care intenionai s le copiai.
2. Din meniul Edit, alegei Copy. Asigurai-v c zona selectat n care vei lipi datele
are aceeai mrime cu zona datelor pe care le-ai copiat n Clipboard.
3. Alegei Paste din meniul Edit.
Dac intenionai s copiai o ntreag nregistrare n alt locaie, asigurai-v c ai
modificat datele din cmpul cheii primare. Trebuie s avei informaii diferite mcar n
acest cmp, astfel nct Access s poat diferenia nregistrrile.
Dac dorii s lipii datele copiate sau decupate la sfritul foii de date, alegei Paste
Append din meniul Edit. Automat, datele sunt lipite n ultima nregistrare a foii de date.
52
53
Dac apreciai c mutarea nu s-a facut acolo unde doreai, o putei anula, alegnd imediat
(Undo Move din meniul Edit).
Modificarea reprezentrii tabelului afecteaz ceea ce vedei n modul Foaie de date,
dar nu-i schimb structura fundamental. De exemplu, putei micora o coloana, ns
structura nu se modific, iar datele din coloana micorat nu sunt trunchiate.
Uneori putei dori s schimbai locul unde apare un cmp ntr-o foaie de date, fr a
schimba ordinea structurii. De pild, s pstrai o cheie primar drept prim cmp al
structurii, dar s-i conferii o poziie mai convenabil pe foaia de date. Ca sa modificai
poziia unui cmp pe foaia de date, procedai astfel:
1. Cu tabelul in modul Foaie de date, poziionai cursorul pe selectorul de cmp (zona
cu numele cmpului de deasupra rndului). Cursorul devine o sgeata descendent;
2. Executai click pe selectorul de cmp, pentru a seleciona intregul cmp;
3. Executai click pe selectorul de camp, inei apsat butonul stang al mousului i
deplasai coloana n noua poziie;
4. Ca s deselectai cmpul, executai click oriunde n alt parte pe foaia de date.
Unui cmp reordonat nu i se poate aplica Undo, totui reordonarea nu distruge datele.
Dac facei vreo greeala, reordonai cmpurile, ca s le readucei la situaia iniial.
Modificarea limii coloanelor cmpurilor ofer posibilitatea de afiare simultan a mai
multor date n fereastra. Ca s redimensionai laimea coloanei unui cmp, procedai dup
cum urmeaz:
1. Poziionai cursorul n dreapta coloanei pe care dorii s-o redimensionai, pe linia
dintre numele cmpurilor. Cursorul se modific, indicnd c latura poate fi mutat;
2. Deplasai linia pn ce coloana capt dimensiunile dorite. Putei redimensiona un
rnd n acelai fel, deplasnd linia ce separ rndurile. Atenie ns: redimensionarea
unui rnd afecteaz toate rndurile, care se redimensioneaz simultan.
Putei folosi comanda Save Table din meniul File, pentru a salva noua aezare n
pagin. Dup ce ai modificat structura bazei de date, alegei Close Database din meniul
File, ca s salvai modificrile.
3.3.5 Proprieti de ansamblu ale tabelelor
Proprietile n ansamblu ale tabelelor se introduc n fereastra Table Proprieties
care apare prin acionarea butonului Proprieties din fereastra Table Design View. Aceste
sunt:
1. Description (descriere) prezint explicaii privind o anumit tabel. Util la
dicionare de date;
2. Validation Rule (regula de validare) sunt diverse reguli sau constrngeri care pot fi
introduse cu ajutorul expresiilor i care se refer n ansamblu la o tabel;
3. Valdation Text (text de validare) reprezint textul care apare ntr-o caset de dialog
n cazul n care sunt nclcate regulile de validare stabilite. Aceste reguli se stabilesc
ulterior pentru fiecare cmp n parte;
4. Filter, specific Access 95, este un filtru care se aplic tabelei ori de cte ori aceasta
este deschis;
54
Relaiile dintre tabelele existente ntr-o baz de date ACCESS pot fi de mai multe
feluri:
one to one;
one to many;
many to one;
many to many.
Dou cmpuri care particip la o relaie trebuie s aib acelai tip de dat, sau cu
alte cuvinte atributele trebuie s aib acelai domeniu. n cazul cmpului de tip Number,
lungimea acestora trebuie s fie identic. n cazul n care dou tabele sunt asociate prin
intermediul unui cmp de tip text, este permis ca lungimea acestora s fie diferit. Totui
acest lucru poate genera neclariti n cazul interogrilor astfel nct este indicat s se
foloseasc cmpuri de aceeai lungime. Access folosete la afiarea i crearea relaiilor o
fereastr grafic numit Relationship.
Etapele pentru crearea unei noi relaii ntre dou tabele sunt :
1. Se activeaz fereastra bazei de date (click pe butonul
Database)
2. Se execut click pe butonul Relationship de pe bara cu instrumente. Va apare
fereastra relationship. n aceast fereastr sunt afiate toate tabelele pentru care sunt
definite relaii.
55
Access creaz ntodeauna un index dup cheia principal. Exist cazuri n care ntrun program se dorete indexarea i dup alte cmpuri. Pentru fiecare tabel pot fi creai cel
mult 32 de indeci, intre care 5 multiplii. Fiecare index multicmp poate avea maximum
56
10 cmpuri. Indecii se creaz la fel ca i cheia primar n modul Design Table prin
acionarea butonului Indexes de pe bara de stare.
Indecii sunt folosii pentru a gsi rapid o anumit nregistrare dintr-un tabel. Dac
avei tabele mari, vei constata ca utilizarea indecilor iuete procesul de localizare a
nregistrrilor. Atunci cnd indexai dup un cmp, indexul i comunic programului
Access unde anume s gseasca datele din tabel (aa cum face i indexul unei cri). Dup
aceea, putei folosi comanda Find ("Caut"), ca s cutai o anumit valoare n cmpul
indexat.
Un index nu poate fi vizualizat. El nu este un instrument de vizualizare a datelor, ci
doar o modalitate de cutare mai rapid. De exemplu, s presupunem ca avei un tabel
mare n care sunt stocate inregistrrile vnztorilor. Adeseori, trebuie s cautai n acest
tabel anumite nume, memorate n cmpul Nume. n aceast situaie, folosirea unui index
va permite s gsii mult mai rapid datele cautate.
Indecii sunt salvai mpreun cu tabelul i sunt actualizai n mod automat, atunci
cnd facei modificri n cmpurile indexate. Dac trebuie s schimbai multe date ntr-un
cmp indexat, nlturai indexul, actualizai cmpurile i apoi reindexai. Metoda aceasta
este mai rapid dect ncercarea programului Access de a actualiza toate cmpurile
indexate de fiecare dat cnd facei o modificare.
Pentru a crea un index:
1. Executai click pe butonul Design View din bara cu instrumente de lucru, dac nu
suntei deja n reprezentarea Table Design;
2. Executai click pe cmpul pe care-l dorii indexat. Proprietile acestuia vor fi
artate n fereastra din partea inferioar a ecranului. n exemplul nostru, vei executa
click pe campul Nume;
3. Executai click pe cmpul Indexed din caseta Field Properties;
4. Folosii caseta-list derulant pentru a selecta condiiile pentru index.
In etapa 4, putei stabili dac s se admit sau nu pentru cmpurile index valori duplicate.
n exemplul nostru, vei alege Yes (Duplicates OK), ntruct s-ar putea s existe mai muli
clieni cu acelai nume. Atunci cnd stabilii un cmp de cheie primar, Access realizeaz
n mod automat un index
Fig 10
al cmpului respectiv, i-l menine pe msura ce actualizai nregistrrile din tabel. Indexul
nu accepta valori duble, fiind de tip Yes - No Duplicates, astfel nct Access poate folosi
cmpul cheii primare pentru a deosebi intre ele nregistrrile.
Dac avei un tabel mare, putei cuta nregistrri folosind criterii din dou cmpuri
57
diferite. n acest caz, trebuie s creai indeci pentru cele dou (sau mai multe) cmpuri n
care cautai mai frecvent.
De pild, tabelul folosit anterior ca exemplu conine numele clienilor. Dac avem sute de
nregistrri, exist anse sporite ca mai multe persoane s aib acelai nume. Dac, s
zicem, cautai un client cu numele Pop Ion, este mai uor pentru Access s gseasc
nregistrarea corespunztoare dac vei crea i un index al cmpului Prenume.
Pentru realizarea unui index compus, procedai astfel:
1. Executai click pe butonul Design View din bara cu instrumente de lucru, dac
nu suntei deja n reprezentarea Table Design;
2. Alegei Indexes din meniul View. Apare o fereastra, afiand indecii cureni;
3. Introducei cte un rand pentru fiecare cmp din index, dar tastai numele
indexului doar in primul rnd. Microsoft Access trateaz toate rndurile drept
componente ale aceluiai index, pn ce ajunge la un rnd coninnd alt nume de
index;
4. (Opional) Dac trebuie s inserai un rnd, executai click pe butonul drept al
mousului pe rndul deasupra locului unde dorii s facei inserarea. Apoi alegei
Edit Insert Row.
n figura 10 se observ crearea mai multor indeci compui, dup cmpurile Nume
i Prenume, dup cmpurile Ora i Nume. Cheia primar este format din cmpul Marca.
Putei crea orici indeci avei nevoie, dar nu uitai c folosirea lor va ncetini
procesul de actualizare al nregistrrilor. Trebuie s indexai doar acele cmpuri n care
cutai mai frecvent. Dac dorii s tergei un index pentru un cmp n care nu cutai
deseori, modificai proprietatea Indexed n No, utiliznd lista derulant din caseta Field
Properties. Ca s tergei un index compus, selectai indexul n fereastra Indexes i
apsai Delete. Atunci cnd tergei un index, n realitate nu tergei nici un fel de date.
Cmpurile i datele din ele rmn exact la fel. Pur i simplu comunicai programului
Access c nu mai trebuie s in minte unde se afl nregistrrile pentru cmpul cu pricina.
Dup ce ai creat un index, putei folosi comanda Find
ca s se gseasc datele de care
avei nevoie. Pentru a gsi o nregistrare dintr-un tabel n modul Foaie de date, urmai
aceti pai:
1. Executai click pe butonul Find din bara cu instrumente de lucru, sau selectai Find
din meniul Edit. Apare caseta de dialog Find;
2. n caseta de text Find What, introducei datele pe care dorii s le gsii;
3. Alegei oricare din opiunile listate pentru caseta de dialog Find in field (Tabelul 5);
4. Alegei Find First. Access caut prima apariie a datelor specificate;
5. Daca aceasta nu este nregistrarea dorit, alegei butonul Find Next, pentru a trece
la urmtoarea apariie;
6. Cnd cutarea s-a ncheiat, apare o caseta de dialog, ntrebndu-v dac dorii s
reluai cutarea de la inceput. Alegei No, apoi inchidei caseta de dialog Find.
Opiuni ale casetei de dialog Find sunt prezentate n tabelul 5.
58
Tabelul 5
OPIUNEA
Where
SUBOPIUNEA
Any Part of Field
Match Whole Field
Start of Field
Search In
Direction
Current Field
All Fields
Up
Down
Match Case
Search fields as
Formatted
3.6
DESCRIERE
Accept cmpurile n cadrul crora
apar oriunde datele specificate
Accept doar cmpurile identice cu
datele specificate
Accept cmpurile n care datele
specificate apar la nceput
Caut numai cmpul selectat
Caut n toate cmpurile
Cutarea se face spre nceputul
tabelului
Cutarea spre sfritul tabelului
Caut doar datele scrise exact cu
acelai tip de litere (mari/mici) cu
datele specificate
Caut datele n funcie de modul cum
apar pe ecran, nu de formatul n care
au fost stocate
n loc s examinai (utiliznd comanda Find) una cte una toate nregistrrile ce
conin anumite informaii, putei cere ca acestea s fie afiate simultan; sau dorii s
specificai criterii n mai multe cmpuri. n oricare din aceste cazuri, folosii un filtru
pentru a crea un subset cu anumite date.
Filtrul utilizeaz datele pe care le-ai precizat n scopul de a forma, cu anumite nregistrri,
o foaie de date temporar numit subset.Un grup de nregistrri care conin datele
specificate n filtru se numete subset.
De exemplu, s presupunem c dorii s vedei un subset al nregistrrilor din tabela
Vnzri a bazei de date. Se dorete vizualizarea numai a acelor nregistrri pentru care
cmpul Judet are valoarea SB i cmpul Oras are valoarea Sibiu. nregistrrile se vor
afia n ordinea cmpului Marca. Pentru a crea filtrul, procedai astfel:
1. Deschidei baza de date i tabela Vanzari, dac nu este deja deschis;
2. Executai click pe butonul Edit Filter/Sort (Editare Filtru/Sortare) din bara cu
instrumente de lucru, sau alegei Edit Filter/Sort din meniul Records. Se deschide
fereastra Filter (fig. 10);
3. Calculele nu sunt permise! Putei defini criteriile i selecta ordinea de sortare, dar nu
putei efectua calcule.
4. Din lista cmpurilor, deplasai cmpul dorit n rndul Field. In exemplul nostru,
deplasai prima dat cmpul Jude n prima celul din prima coloan, apoi cmpul
Oras n rndul Field din cea de a doua coloan i cmpul Marca n cea de a treia
coloan;
5. n rndul Criteria, introducei datele care trebuie cutate. De pild, introducnd
59
Fig 11
Fig 12
Un filtru poate fi salvat sub forma unei interogri, putnd fi folosit ulterior n cadrul
unei aplicaii.
Un al doilea exemplu de filtru prezint modul n care se realizeaz o fereastr prin
care se introduc informaii de interogare. Se va realiza un filtru prin care sunt vizualizai
toi vnzatorii a cror nume incepe cu o anumit liter. Pentru acest exemplu se folosesc
funcii specifice mediului ca de exemplu funcia Left. Cmpurile care apar ntr-o expresie
a unei funcii trebuie ncadrate ntre paranteze mari [ i ]. Textul care apare n
fereastr trebuie de asemenea ncadrat ntre paranteze mari.
60
Fig 13
n Access 95 filtrrile sunt de trei tipuri i anume:
Filter by Selection (filtrare conform seleciei) este cea mai simpl metod de filtrare,
ea aplicndu-se doar asupra unui singur cmp al tabelei. Se alege din cmpul dorit un
singur caracter sau mai multe caractere i se face click pe butonul Filter by Selection
fiind afiate doar acele nregistrri care ndeplinesc condiia stabilit. De exemplu
dac avem o tabel care conine date despre angajai i dorim s afim toi angajaii
a cror nume ncepe cu I se selecteaz dintr-un caracterul I dintr-un nume care ncepe
cu I i se face click pe butonul respectiv. Dac se alege I din interiorul unui nume
atunci se vor afia toate nregistrrile care au n cmpul nume litera i. Dac se alege
caracterul I de la sfritul numelui, atunci vor fi afiate toate nregistrrile a cror
nume se termin cu litera i. Aceast metod de filtrare mai poate fi aleas i din
meniul Record, opiunea Filter i subopiunea Filter by Selection.
Filter by Form (filtrare conform formularului) permite aplicarea criteriului de
filtrare n mai multe cmpuri. De asemenea permite ca n acelai cmp s putem avea
mai multe condiii legate ntre ele prin operatorul logic OR. Pentru a activa aceast
metod se face click pe butonul Filter by Form sau se alege opiunea Record din
meniul mediului, opiunea Filter i opiunea Filter by Form. De exemplu dac exist
o tabel n care se ine evidena mai multor firme din diferite ri i orae i dorim s
afim firmele din Romania i Germania se procedeaz astfel: se face click pe
butonul Filter by Form, din cmpul ri se alege Romania dup care se face click pe
butonul OR din partea de jos a ferestrei i se alege nc o ar i anume Germania. Se
face click pe butonul Applay Filter i pe ecran apare o fereastr ce poate fi listat n
care se gsesc doar firmele din cele dou ri. Dac de exemplu, se dorete
vizualizarea firmelor din Romania i oraul Sibiu, atunci aceste dou informaii se
aleg n fereastra Filter by Form, din cmpurile orae i ri. Rezultatul este
vizualizarea firmelor din Romania oraul Sibiu. Pentru a forma expresii mai
complexe de filtrare se folosesc funcii Built In ale mediului Access sau diverse
funcii utilizator. Pentru a nu avea surpize c filtrrile alese nu merg se alege opiunea
Edit, Clear Filter sau se face click pe butonul Clear Grid din fereastra Filter by
Form
61
Advanced Filter/Sort (Filtrare ordonat avansat) este cea mai puternic dar i cea
mai dificil metod de filtrare. Cu ajutorul acestei metode se poate face pe lng
filtrare i o operaie de sortare. O astfel de metod se aseaman mult cu o metod de
interogare dar totui diferenele sunt urmtoarele:
caseta Show Table nu apare;
butonul SQL lipsete de pe bara de instrumente
Pentru acest tip de sortare nu exist buton pe bara de instrumente. Ea poate fi apelat din
meniul Record, Filter, Advanced Filter/Sort
3.7
62
Probleme propuse
Autor
Nr_inv
Data_I
Cititor
Text
Number
Date/Time
Boolean
63
Tip de dat
Counter
Number
Number
Text
Text
Comentarii
Cmp care va fi cheia primar
Codul clientului.
Codul produsului
Numele clientului
Localitatea clientului
S se realizeze urmtoarele:
Numele cmpurilor n modul Datasheet va fi diferit de numele cmpurilor;
Indexarea dup cmpurile Locclient i dup cmpurile Codclient Codprodus;
Sortarea clienilor dup nume;
Sortarea clienilor dup localitate;
Sortarea clienilor dup nume i localitate;
Filtru prin care se vizualizeaz clienii care ncep cu o anumit liter;
Filtru pentru vizualizarea clienilor sortai dup nume, dintr-o localitate care
ncepe cu o anumit liter;
64
Tip de dat
Number
Text
Number
Number
Data/Time
Number
Comentarii
Codul Produsului
Numele produsului
Greutatea produsului
Pretul produsului
Data fabricaiei produsului
Numr buci produs
S se realizeze urmtoarele:
Numele cmpurilor n modul Datasheet va fi diferit de numele cmpurilor;
Cheia primar format din cmpurile Codprodus i Datafabric;
Sortarea produselor dup nume;
Sortarea produselor dup data fabricaiei i pre;
Sortarea produselor dup numr de buci pre;
Filtru prin care se vizualizeaz produsele care ncep cu o anumit liter;
Filtru pentru vizualizarea produsele sortate dup nume, care ncepe cu o anumit
liter;
Filtru pentru vizualizarea unui anumit produs;
Filtru pentru vizualizarea produselor realizate ntr-o anumit zi.
Capitolul
4
LIMBAJUL S.Q.L.
Limbajul SQL, este un limbaj utilizat n mod obinuit n gestionarea bazelor de
date client/server. Principalul avantaj oferit de limbajul SQL este standardizarea. Se
poate folosi un set obinuit de instruciuni SQL n oricare din sistemele de gestionare
a bazelor de date, compatibile SQL. SQL este un limbaj concis care conine
aproximativ 100 de cuvinte cheie n standardul ANSI pentru SQL (ANSI - American
National Standards Institute), dar este complect relaional. Un limbaj este complect
relaional dac instruciunile sale sunt suficient de puternice pentru a extrage
rezultatele oricrei relaii definite prin intermediul expresiilor de calcul relaional.
Instruciunile limbajului sunt mprite n patru instruciuni de definire a datelor
DDL (Data Definition Language): CREATE, ALTER, DROP, INSERT i 20 de
instruciuni de manipulare a datelor DML (Data Manipulation Language): SELECT,
UPDATE, DELETE etc. Limbajul mai permite instruciuni pentru interogarea
datelor,controlul cursorului, procesarea tranzaciilor, i administrarea sau controlul
bazei de date
SQL este un limbaj orientat ctre mulimi de date, spre deosebire de limbajele
din familia Xbase care sunt orientate pe nregistrare (tupl), avnd ntodeauna ca
rezultat o relaie. SQL lucreaz cu tabelele de date (relaiile) n cadrul unei baze de
date, concept strin programelor Xbase. Limbajul permite optimizarea interogrilor i
controlul accesului la datele utilizatorului. El lucreaz cu aa-zisul dicionar de date
care este o mulime de tabele coninnd metadate, adic anumite date despre datele
analizate.
4.1 Implementarea n produsul Access a limbajului S.Q.L
Proiectanii sistemului Access au conceput sistemul Access SQL pentru crearea
de interogri, nu pentru crearea sau modificarea tabelelor. Comenzile SQL se mpart
n urmtoarele categorii:
comenzi de extragere a datelor, sunt comenzi folosite pentru extragerea
datelor din tabele i pentru stabilirea modului de prezentare a rezultatelor.
Comanda SELECT este principala comand din aceast categorie;
comenzi care adaug, modific sau terg rnduri ntr-o anumit tabel.
Aceste comenzi sunt INSERT, UPDATE, DELETE;
comenzile de procesare a tranzaciilor, reprezint comenzile BEGIN
TRANSACTION, COMMIT, ROLLBACK, care reprezint comenzi de
Limbajul SQL
66
Limbajul SQL
67
DESCRIERE
Paranteza se pune n momentul n care ncepe
descrierea cmpurilor tabelei
Definete numele cmpurilor din tabel
Definete tipul cmpului care poate fi:text,
Number, Datetime, Yes/No, OleObject, Counter,
Currency
Specific lungimea cmpului care se definete.
Definete numrul de zecimale n cazul tipurilor
numerice.
Paranteza se pune n momentul n care s-a
terminat definirea cmpurilor.
Limbajul SQL
68
NULL }] permite crearea unui index care permite sau nu prezena valorilor NULL n
cmpuri
Comanda ALTER TABLE cu sintaxa:
ALTER TABLE nume_tabel {ADD COLUMN nume_cmp|
CONSTRAINT nume_index}{DROP COLUMN nume_cmp| CONSTRAINT
nume_index} permite adugarea unor cmpuri noi, tergerea unora existente sau
adugarea i tergerea unor indeci.
Comanda DROP INDEX cu sintaxa
DROP INDEX nume_index ON nume_tabel terge indexul cu numele
specificat din tabela dorit.
Comanda DROP TABLE cu sintaxa:
DROP TABLE nume_tabel terge o tabel din baza de date.
Exemple
1. Create Table Fis2(camp1 text(30), camp2 integer, camp3 datetime, camp4
yes/no, camp5 counter, camp6 oleobject, camp7 currency) - se creaz o tabel
cu numele fis2 care conine cmpurile camp1-7, care au toate tipurile de cmpuri
permise de mediul Access;
2. Create Table Fis3 (camp1 text (10), data_nastere datetime, marca counter,
constraint index1 PrimaryKey) -creaz o tabel Fis3 i un index aferent tabelei
cu numele index1 ca i cheie primar. Dac nu este specificat numele cmpului,
acesta este implicit ultimul cmp descris n comand;
3. Create Table Angajat (matricol counter, nume text(20), varsta integer,
constraint matriol unique (matricol, nume)) - creaz tabela Angajat i cte un
index simplu dup cmpul Matricol i unul compus dup cmpurile Matricol i
Nume;
4. Create Table Angajat1 (Matricol counter, Nume text (30), Varsta integer,
constraint Pk Primarykey(Matricol), Constraint Index1 Unique (Matricol,
Nume)) - creaz tabela Angajat1 i cheia primar Pk, precum i indexul compus
Index1;
5. Alter Table Angajat Add Column Salar Number - adaug cmpul Salar la
tabela angajat;
6. Drop Table Fis2 - terge tabela Fis2;
7. Create Unique Index Index2 On Angajat (salar) with Disallow Null - creaz
un index simplu dup cmpul salar n tabela Angajat.
4.3
Comanda SELECT
Limbajul SQL
69
DENUMIRE
recorder
televizor
walkman
videocasetofon
videocasetofon
radiocasetofon
COD_DEPOZI
dep01
COD_PRODUS
prod001
PRET
800000
160000
300000
430000
280000
105000
Stocuri
CANTITATE
50
Limbajul SQL
70
dep01
dep01
dep10
dep10
prod060
prod080
prod060
prod080
150
100
200
50
COD_DEPOZI
dep01
dep10
LOCALITATE
Bucuresti
Pitesti
Depozite
Beneficiari
COD_BENEFI
bnf011
bnf012
bnf013
NUME
Vasilescu
Georgescu
Marinescu
ADRESA
Bucuresti salcimilor 27
Bucuresti salcimilor 4
Pitesti privighetorii 12
Comenzi
NUMAR_COMANDA
1014
2200
DATA
11/23/96
6/28/96
COD_BENEFI
bnf011
bnf013
COD_PRODUS
prod001
prod002
prod020
prod500
CANTITATE
2
1
2
3
Facturi
NUMAR_COMANDA
1014
1014
2200
2200
COD_PRODUS
prod001
prod060
Limbajul SQL
71
dep01
dep10
dep10
prod080
prod060
prod080
CANTITATE
SELECT DISTINCTROW *
FROM produse
WHERE (((produse.PRET) Between 400000 And 500000));
COD_PRODUS
prod060
c)
COD_PRODUS
prod001
DENUMIRE
videocasetofon
SELECT DISTINCTROW *
FROM stocuri
WHERE cod_produs like "*1";
PRET
Limbajul SQL
72
COD_DEPOZI
dep01
d)
SELECT *
FROM depozite
WHERE localitate in ( 'bucuresti');
COD_DEPOZI
dep01
e)
COD_PRODUS CANTITATE
prod001
LOCALITATE
bucuresti
SELECT *
FROM stocuri
WHERE cantitate in(50,100,200);
COD_DEPOZI
dep01
dep01
dep10
dep10
COD_PRODUS
prod001
prod080
prod060
prod080
CANTITATE
50
100
200
50
4.
Interogri cu nregistrrile ordonate dup unul sau mai multe
cmpuri.
a)
denumire
radiocasetofon
recorder
televizor
videocasetofon
videocasetofon
walkman
b)
cod_produs
prod500
prod001
prod002
prod080
prod060
prod010
SELECT DISTINCTROW *
FROM produse
ORDER BY produse.PRET DESC;
pret
105000
800000
160000
280000
430000
300000
Limbajul SQL
COD_PRODUS
prod001
prod060
prod010
prod080
prod002
prod500
4.4
73
DENUMIRE
recorder
videocasetofon
walkman
videocasetofon
televizor
radiocasetofon
PRET
800000
430000
300000
280000
160000
105000
Limbajul SQL
74
Exemple
1. S se scrie o interogare care calculeaz cantitatea total de produse i
Cantitate
300
250
Nr_inreg
3
2
Cantitate
300
Nr_inreg
3
Pentru asocierea a dou sau mai multe tabele se folosete structura JOIN_ON
care specific tabela care va fi asociat i relaia dintre cmpurile pe care se bazeaz
JOIN:
SELECT [All | Distinct|Distinctrow] list_selecie
From nume_tabele
{INNER | LEFT | RIGHT} nume_tabel JOIN tabel de legtur ON
criteriu de legtur
Where criteriu_de_cutare]
[Order By criteriu de sortare [Asc | Desc]
nume_tabel JOIN tabel de legtur specific numele tabelei care este
asociat cu celelalte tabele din lista nume_tabele. Fiecare din tabelele care
particip la o asociere trebuie s fie inclus n lista nume_tabele i nainte i
dup JOIN. Tipurile de asociere INNER, LEFT, RIGHT trebuie s apar n faa
instruciunii JOIN. INNER este asocierea echivalent, LEFT este o asociere la
stnga, iar RIGHT este o asociere extern la dreapta.
Limbajul SQL
75
COD_DEPOZI
dep01
dep01
dep10
dep01
dep10
CANTITATE
50
150
200
100
50
Al doilea select este specific QBE i demonstraz echivalena ntre clazele WHERE
i INNER JOIN
n cazul cnd n interogare se folosesc operatori relaionali se poate obine
operaia definit n algebra relaional THETA JOIN
2.
S se realizeze o interogare prin care sunt selectate acele nregistrri pentru
care coninutul cmpului cantitate din tabela stocuri este mai mare dect coninutul
cmpului cantitate din tabela Facturi. n locul denumirii tabelului sau folosit literele a
i b.
SELECT DISTINCTROW a.cod_produs, a.cantitate, b.numar, b.cantitate
FROM stocuri a, facturi b
Limbajul SQL
76
WHERE a.cod_produs=b.cod_produs
and a.cantitate>=b.cantitate;
cod_produs
a.cantitate
numar
prod001
50
1014
b.cantitate
2
produse_2.cod_produs
prod001
prod002
prod060
prod060
prod080
prod080
prod500
prod010
denumire
recorder
televizor
videocasetofon
videocasetofon
videocasetofon
videocasetofon
radiocasetofon
walkman
Limbajul SQL
77
Exemple
S se afieze situaia stocurilor din depozitul Dep01 ct i situaia stocurilor
care sunt n cantitate mai mare de 50.
SELECT DISTINCTROW *
from stocuri
where cod_depozi= "dep01"
UNION select *
from stocuri
where cantitate >50;
COD_DEPOZI
dep01
dep01
dep01
dep10
4.7
COD_PRODUS
prod001
prod060
prod080
prod060
CANTITATE
50
150
100
200
Interogri imbricate
Limbajul SQL
78
COD_PRODUS
prod001
prod002
DENUMIRE
recorder
televizor
PRET
800000
160000
COD_PRODUS
prod002
CANTITATE
1
Interogri de aciune
Limbajul SQL
79
dac nu se introduce clauza WHERE, toate nregistrrile din tabelul surs sunt
adugate n tabelul destinaie.
n cazul n care se doresc inserate anumite valori n anumite cmpuri ale unei tabele
se folosete sintaxa:
INSERT
INTO
nume_tabel
(nume_cmp1,
nume_cmp2..
nume_cmpn)
VALUE (valoare1, valoare2,, valoaren)
INSERT INTO produse (cod_produs, DENUMIRE, PRET )
values ("prod12","aspirator",1500000)
2. Interogrile de tergere au urmtoarea sintax
DELETE FROM nume_tabel
[WHERE criteriu de tergere]
dac nu se introduce clauza WHERE, ntr-o interogare de tergere, vor fi terse toate
datele din nume tabel.
DELETE from prouse
Where cod_produs=Prod12)
3. Interogrile de creere a unei tabele utilizeaz sintaxa urmtoare
SELECT [All | Distinct|Distinctrow] list_selecie
INTO nume tabel nou
From nume_tabel_surs
[Where criteriu_de_cutare]
pentru a copia tabela original se nlocuiete lista de selecie cu un * i nu se
introduce clauza WHERE
SELECT cod_produs, denumire
into produse1
from produse
where cod_produs='prod12'
4. Interogrile de actualizare utilizeaz comanda SET pentru a atribui valori
coloanelor individuale:
UPDATE nume_tabel
SET nume_coloan= valoare [,, nume_coloan = valoare]
[WHERE criteriu_de_actualizare]
UPDATE produse
SET pret = 2000000
where cod_produs='prod12'
Limbajul SQL
80
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21
22
Butoanele au urmtoarea semnificaie:
1. comutare n modul design;
2. vizualizare comand proprie limbajului SQL;
3. comutare n modul Datasheet pentru vizualizare nregistrri;
4. salvare interogare;
5. lansare n execuie a unei interogri;
6. deschide fereastra de definire a proprietilor interogrii sau cmpurilor din
tabel;
7. deschide fereastra ADD TABLE (Show table in access 95);
8. activeaz opiunea total a ferestrei de definiie a interogrii;
9. selecie nume tabel pentru interogarea selectat;
10. selecie interogare;
11. selecie interogri incruciate;
12. interogare de aciune pentru crearea de tabele noi;
13. interogare de aciune pentru actualizarea unei interogri;
14. adugare de nregistrri noi ntr-o interogare;
15. tergerea de nregistrri dintr-o interogare;
16. creare interogare nou;
17. crearea unui formular nou;
18. crearea unui report nou;
19. activarea ferestrei bazei de date;
20. activarea constructorului de expresii, funcii etc;
21. buton pentru anularea unei comenzi nedorite;
22. butoane de help, de ajutor privind mediul Access.
Limbajul SQL
81
Fig. 1
interogrile, care intr n interogare (Fig 1). Se nchide fereastra prin acionarea
butonului CLOSE i se trece la crearea structurii interogrii. Fereastra afieaz tabele,
interogri sau amndou tipurile de entiti. Dup nchiderea acestei ferestre va
aprea fereastra de realizare a interogrii (Fig 2). Cmpurile care vor aprea n
interogare sunt fie tastate, fie aduse din tabela ce apare n fereastra de creare prin
tragere n poziia dorit. Mai multe cmpuri pot fi selectate prin selecie cu ajutorul
mouse-lui i innd apsat tasta Shift sau Ctrl. Cmpurile care vor fi vizualizate n
interogare au setat butonul care apare n partea inferioar a cmpului Dac se
acioneaz butonul 9 de pe bara cu butoane atunci n fereastr va apare i numele
tabelei la care aparine cmpul.
Dac interogarea exist, atunci se apas butonul OPEN pentru vizualizare sau
Fig. 2
Limbajul SQL
82
Fig. 3
Dac se dorete realizarea unei interogri care s ofere posibilitatea de
parametrizare a cmpului profesia, adic la fiecare rulare a interogrii s se tasteze
profesia dorit, atunci se construiete o interogare conform cu figura (Fig 4).
2.
S se scrie o interogare prin care se vizualizeaz toate nregistrrile care n
cmpul Profesia conin aceeai valoare. Valoarea de cutare se introduce ntr-o
fereastr de interogare.
Va aprea o fereastr n care se va tasta profesia dorit, interogarea care va aprea
este legat de numele profesiei tastat. Cmpurile interogrii se iau din tabele sau pot
fi cmpuri calculate. Pentru a aprea o fereastr de interogare este necesar ca textul
care apare n fereastr s fie ncadrat ntre paranteze mari. Dac cmpurile tabelei
apar ntr-o tabel atunci este necesar ca aceste cmpuri s fie ncadrate ntre paranteze
drepte.
Limbajul SQL
83
Fig. 4
Fig. 5
3.
S se scrie o interogare care afieaz cmpurile Marca, Nume, Profesia i Data
Angajrii. Totodat interogarea afiaz i Vechimea care este un cmp calculat. Ca i
criteriu de evaluare se consider vechimea mai mare de 10 ani.(Fig 5)
4.
tiind c impozitul pe salar este 30% s se realizeze o interogare prin care se
vizualizeaz n ordine alfabetic angajaii, salariul lor i impozitul pe salar.(Fig 6)
Fig 6
Limbajul SQL
84
5.
S se realizeze o interogare care vizualizeaz angajaii cu vrsta mai mic de
50 de ani, ordonai descendent dup vrst i ascendent dup nume. Vrsta este un
cmp calculat (Fig 7).
Fig.7
6.
S se realizeze o interogare care grupeaz nregistrrile pe profesii, calculeaz
fondul de salarii pentru o anumit profesie (se nsumeaz cmpul salariu, pentru o
anumit profesie) i contorizeaz numrul de salariai pentru o anumit profesie(fig
8). Pentru gruparea articolelor se tasteaz butonul TOTALS i se alege opiunea
Fig. 8
Group By. Prin acionarea acestui buton devin disponibile funciile agregat care
acioneaz global asupra atributelor.
7.
Se consider tabelele Angajat i Copii. S se scrie o interogare prin care s fie
vizualizai copiii unui salariat. Relaiile ntre tabele au fost stabilite n fereastra
Relationship, activat cu butonul corespunztor din fereastra Table (Fig 9).
Tabela Copii are structura urmtoare:
Marca
Nume
Data nasterii Sex
nr copii
Marca este numele matricol al angajatului;
Nume este numele copilului;
Limbajul SQL
85
Suma
Luna
Fig. 10
Contor reprezint cheia primar fiind un cmp counter;
Marca este numrul matricol al salariatului;
Tip_reinere este un tip de reinere dintre cele enumerate;
Suma este suma reinut;
Limbajul SQL
86
Fig. 11
cmpul sau cmpurile care creeaz antetele coloanelor i criteriile care
determin valorile care apar sub ele.
S se realizeze o interogare n care sunt evideniate reinerile pentru fiecare
salariat pe lunile unui anumit an.
Pentru ca lunile s apar n ordinea fireasc este necesar ca ele s fie introduse
n aceast ordine n linia Column Heading din Query Properties.
Rezultatele interogrii sunt prezentate n tabelul urmtor:
Marc
Nume
jan feb mar apr ma jun jul aug sep oct nov dec
1020 Radulescu
3000
4000 50000
1030 Muntenas
50000
1040 Macrea Horia
20000
1100 Nora Daniel 12300
Cmpul pentru afiarea lunilor este Format ([Luna],mmm)
4.9.3 Interogri de aciune
Interogrile de aciune pot fi:
interogri care genereaz tabele noi;
interogri care adaug nregistrri noi n tabelele de date;
Limbajul SQL
87
Fig.12
interogare de aciune dorit, de pe bara cu butoane a ferestrei Query.
Se consider tabela Angajai n care se dorete creterea salariului cu 20%
pentru salariaii care au profesia inginer i economist (Fig. 12)
4.10 Probleme propuse
P1. Se consider baza de date admitere, care conine urmtoarele tabele: AC, AS,
DSUPCAND. Tabela AC conine informaii referitoare la candidaii nscrii la
admitere, avnd structura urmtoare:
COD CMP
Codf
Nr_leg
Nume
Datan
Locn
Judn
O1
O2
O3
O4
O5
Cods
Nota1
Nota2
Media
TIP CMP
Numeric
Numeric
Text
Dat calendaristic
Text
Text
Numeric
Numeric
Numeric
Numeric
Numeric
Text
Numeric
Numeric
Numeric
SEMNIFICAIE CMP
Codul examenului
Numrul de legitimaie
Numele candidatului
Data naterii
Locul naterii
Judeul n care s-a nscut
Opiunea 1
Opiunea 2
Opiunea 3
Opiunea 4
Opiunea 5
Codul sli de concurs
Prima not obinut
A doua not obinut
Media notelor
Limbajul SQL
88
COD CMP
TIP CMP
Codf
Cods
Nr_Loc
Nr_Rep
Numeric
Text
Numeric
Numeric
Dest
Text
SEMNIFICAIE
CMP
Codul examenului
Cod Sala
Numr locuri n sal
Numr
candidai
repartizai
Disciplina la care se d
examenul
Limbajul SQL
89
Capitolul
5
Formuri (Formulare)
Entitatea Formular, ofer n mediul Acces realizarea unor interfee (ecrane),
ntre utilizator i tabelele existente ntr-o aplicaie. Formurile prezint datele ntr-o
form organizat i atractiv. Cmpurile uneia sau a mai multor tabele pot fi aranjate
astfel inct introducerea sau afiarea datelor s se fac dup dorina utilizatorului.
Formularele permit selecia cmpurilor uneia sau mai multor tabele dup diverse
criterii.
Un formular este format dintr-o colecie de elemente specifice, numite obiecte
de control. n general un formular conine dou tipuri de obiecte de control:
cele care afieaz datele din tabele;
cele care afieaz informaii generale.
Formularele Access sunt multifuncionale; ele permit relizarea unor lucruri
care nu sunt permise n alte moduri de lucru ca de exemplu modul Table Viw sau
Query View. Astfel potfi validate datele de intrare ntr-o aplicaie pe baza datelor
existente n mai multe tabele. Un formular poate include alte formulare. Un formular
inclus n alt formular se numete subformular.
5.1 Tipuri de formulare
Coninutul unui formular depinde de tipul de date pe care-l conine. n general
o aplicaie pentru baze de date poate fi de urmtoarele tipuri:
Procesarea tranzaciilor, adic adaug noi informaii ntr-o tabel sau le
editeaz pe cele existente. Pentru acest tip de aplicaii, formularele trebuie
s permit scrierea n tabelele aplicaiei;
Facilitarea lurii deciziilor, furnizeaz diverse informaii fr a pemite
utilizatorului s modifice datele existente n tabele. Pentru acest tip de
aplicaii este necesar ca formularele s permit doar citirea datelor existente
n formular;
ntreinerea bazei de date, execut funcii de administrare, cum ar fi
crearea bazelor de date, a tabelelor, controlul accesului utilizatorilor la date,
asigurarea securitii informaiilor prin criptare, compactare periodic a
bazelor de date i salvarea lor. Pentru acest tip de aplicaii este necesar
accesul fr restricii la obiectele bazei de date.
Formuri n Access
92
Formuri n Access
93
Cele mai multe formulare sunt de de tipul one -to - many , n majoritatea
acestor formulare fiind necesare subformulare care s afieze datele din tabelele
asociate tabelului principal
Informaiile din cele dou tabele sunt urmtoarele:
Angajati
Marc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nume
David
Fulea
Lepad
Petrut
Bucna
Surian
Kovac
Calloi
Dodut
Hellst
Smirn
Pata
Britar
Marti
Pereir
Prenu
Nancy
Andre
Janeta
Marga
Stefan
Mihae
Robert
Laura
Anne
Albert
Timut
Caroli
Justin
Xavier
Laure
Functia
Vinzator
Viceprese
Vinzator
Vinzator
Manager
Vinzator
Vinzator
Coordona
Vinzator
Manager
Administ
Receptio
Director
Specialist
Specialist
Or
Sib
Me
Sib
De
Ara
Ti
Lu
Bra
Ag
Ora
Ba
Iasi
Ba
Iasi
Ara
Ju
SB
SB
SB
H
A
T
T
B
SB
B
B
IS
B
IS
A
Co
240
240
240
270
280
290
290
250
240
210
200
180
200
180
280
Tara
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
Nr
(206)
(206)
(206)
(206)
(71)
(71)
(71)
(206)
(71)
(206)
(206)
(206)
88 83
88 62
88 01
Nr F I S
5467
2
3457
5
3355
2
5176
2
3453
2
428
5
465
5
2344
2
452
5
7559
2
6261
3
1411
3
377
2
380
1
376
Actiuni_Personal
Nr_mat
1
2
3
4
5
6
7
8
9
10
11
12
13
Cod tip
h
h
h
h
h
Q
y
y
y
y
h
h
h
Nr
1
1
2
2
2
5
5
2
5
7
5
5
2
Data planif
Nr director
11/24/98
6
11/24/95
0
12/1/89
2
11/24/93
2
11/24/91
3
11/24/90
2
1/24/88
2
2/24/78
2
11/24/83
2
5/24/98
7
8/24/98
2
4/24/98
9
9/24/98
2
Data
Nota Salariul lunar
12/22/98
3 2,000,000.00
12/22/98
5 100,000.00
12/22/98
7 1,000,000.00
12/22/98
9 50,000,000.0
12/22/98
7 50,000,000.0
12/22/98
7
40,000.00
12/22/98
8 700,000.00
12/22/78
9 800,000.00
12/22/83
2 666,000.00
12/22/98
4
30,000.00
12/22/98
1 9,000,000.00
12/22/98
5 1,000,000.00
12/22/98
9 2,000,000.00
Comentariu
Formularul va conine date din tabele Angajai i un subformular care conine date
din tabela Actiuni_Personal. Folosind utilitarul FormWizard, formularul va fi creat
astfel:
1. Se execut click pe butonul Forms n fereastra Database dup care se apeleaz
butonul New;
2. n fereastra NewForm care apare se selecteaz tabela care se dorete pentru cazul
nostru tabela Angajai;
Formuri n Access
94
3. Se alege tipul de formular dorit adic modul n care se dorete s fie vizualizate
cmpurile tabelei:
Single Column pe o singur coloan;
Tabular, cmpurile sunt afiate pe linie;
Main/SubForm, permite crearea unui formular care conine un
subformular;
Graph permite crearea unui formular care conine un grafic;
AutoForm permite crearea unui formular simplu care conine toate
cmpurile tabelei
Pentru formul pe care dorim s-l realizm se alege opinea Main/Subform.
4. n fereastra Main/Subform Wizard se alege tabela a cror cmpuri se dorete s
apar n subformular. n cazul nostru aceasta este Actiuni_Personal dup care se
acioneaz butonul Next. Celelalte butoane au urmtorul rol:
Back ntoarcere la etapa anterioar;
Finish terminarea utilitarului;
Cancel ntrerupera folosirii utilitarului;
Hint comentarii
5. Se aleg cmpurile din tabela angajai care vor aprea n formular. Acestea vor fi
marca, nume, prenume, data angajarii, adresa, oras. Alegerea cmpurilor se
realizeaz astfel:
se selecteaz cmpul dorit;
se execut click pe butonul cu o singur sgeat. Cmpul este mutat din
fereastra Available fields n fereastra Fields on main form. Dac se
dorete mutarea tuturor cmpurilor dintr-o fereastr n alta se folosete
butonul cu sgeat dubl. Mutarea cmpurilor n sens invers se realizeaz
identic dar folosind butoanele cu sgeat n sens contrar;
Se execut click pe butonul Next;
6. Se aleg n mod identic cmpurile tabelei Actiuni_Personal. Iniial se selecteaz
toate cmpurile, dup care cmpul care conine marca salariatului se deselecteaz.
Se fae click pe butonul Next;
7. Se alege tipul predefinit al formularului, adic forma n care acesta va apare pe
ecran. Cmpurile tabelei pot apare n form standard, subliniate, ngropate, cu
umbre, etc. Se face click pe butonul Next;
8. Se alege numele care va aprea n formular, dup care se apas butonul Finish.
nainte de apariia formularului nou creat va aprea un mesaj prin care se cere
tastarea numelui subformularului. La nchiderea formularului se cere salvarea lui
sub un anumit nume.
Formuri n Access
95
Fig. 3
n partea superioar apar cmpurile fiierului angajai iar n partea inferioar
apare subformularul i toate cmpurile tabelei Actiuni_Personal cu excepia cmpului
marca care face legtura ntre cele dou tabele. Barele de derulare care apar n partea
de jos a ferestrei, permit poziionarea pe anumite nregistrri din tabele. Formularul
de baz creat astfel cu Form Wizard este utilizabil imediat, dar aspectul formularului
i al subformularului poate fi mbuntit ulterior, folosind fereastra Form Design.
5.3
Fig. 4
Formuri n Access
96
4 5 6 7 8 9 10
11
12 13 14 15 16 17 18 19 20 21
Fig. 5
Formuri n Access
97
10. activeaz sau dezactiveaz paletele de control pentru culoare necesare anumitor
obiecte de control ale formularului:culoarea textului, a fundalului sau culoarea
pentru chenar;
11. determin fontul dorit;
12. determin mrimea fontului dorit;
13. text ngroat;
14. text n modul italic;
15. alinierea textului la stnga;
16. alinierea textului la centru;
17. alinierea la dreapta;
18. activarea ferestrei Database
19. refacerea unei aciuni nterprinse din greal;
20. activarea instrumentului de ajutor Cue Cards;
21. activeaz Help-ul mediului Access.
5.3.2 Proprietile elementelor i obiectelor de control
Proprietile care se aplic unui formular n ansamblu, fiecrei seciuni a sa i
fiecrui obiect n particular sunt determinate de valori existente n fereastra
Properties. Pentru a vizualiza proprietile unui obiect sau element Access se
selecteaz fiecare element n parte dup care se face click pe butonul Properties. n
partea superioar fereastra permite alegera tipului de propriti referitoare la un
anumit obiect:
All properties se refer la toate proprietile care apar la un anumit obiect;
Data properties se refer la proprietile despre date ale obiectului;
Layout properties se refer la caracteristicile obiectului;
Other properties se refer la alte proprieti specifice unui anumit obiect;
Events properties se refer la diverse evenimente (cod program care poate fi
ataat la fiecare obiect);
Fiecare eveniment sau obiect Access are proprietile sale specifice.
Propriettile unui formular pot fi vizualizate prin selecia formularului, click pe
dreptunghiul alb din partea dreapt a acestuia urmat de selecia butonului Properties
Data Properties se refer la datele care apar n formular:
Record Source se refer la tabela sau interogarea care se ataeaz formularului i
care se gsete n baza de date;
Allow Editing se refer la faptul dac este sau nu permis editarea informaiilor;
Allow Updating se refer la permisiunea de actualizare a datelor;
Record Locks se refer la blocarea sau nu a articolelor i se folosete n special la
lucrul n reea.
Pentru cazul prezentat tabela ataat formularului este tabela Angajat avnd
permisiunea de editare i de actualizare.
Layout properties se refer la caracteristicile formului. Aceste sunt prezentate n
figura 4
Formuri n Access
98
Fig. 6
Record Selector selectorul de articole poate fi prezent sau nu;
Navigation Button butonul de derulare articole est prezent sau nu;
Auto Resize opiunea de redimensionare automat este prezent sau nu;
Auto Center proprietatea de poziionare a formului n centrul ecranului,
poate fi prezent sau nu;
Border Style definete stilul n care se face marginea formularului;
Control Box activeaz sau dezactiveaz butonul de mutare sau nchidere a
unei aplicaii dau a unei ferestre;
Formuri n Access
99
Fig. 7
Views Allowed vederile permise sunt n modul Form, Datasheet sau
amndou;
Default Editing editarea implicit poate fi: permis adic pot fi modificate,
adugate, terse nregistrri(allow edit), numai n citire(read only), nu este
permis adugarea de articole noi(cant add records), este permis
adugarea de articole noi(data entry);
Allow Filters sunt permise sau nu filtrele;
Shortcut Menu permite sau nu vizualizarea unui meniu la apsarea
butonului drept al mouse-ului;
Menu Bar specific un meniu bar din macrouri folosit mpreun cu
formularul;
Pop Up formularul este deschis sau nu ca un formular popup;
Modal deschide formul ca o fereastr de interogri;
Help File specific un fiier help creat de ctre utilizator
n cadrul unui formular poate fi specificat doar seciunea natetului sau zona de
detalii sau zona de jos a formularului(footer) executnd click pe una dintre aceste
zone. Fiecare dintre aceste zone are proprieti specifice.
Modificarea zonei de antet sau de subsol se poate realiza relativ uor fcnd
click pe barele cu acelai nume i cu butonul mouse-ului apsat trgnd bara pn la
dimensiunile dorite.
Formuri n Access
100
Formuri n Access
101
Formuri n Access
102
5. Option Buton (buton de opiune) se mai numete i buton radio care se comport
identic cu butonul comutator;
6. Check Box (caset de validare) creaz o caset de validare care atunci cnd este
selectat, comut ntre starea On i Off. Dac se doresc selectate mai multe opiuni
simultan atunci aceste casete trebuie plasate n afara grupurilor de opiune;
7. Combo Box (caset combinat) este format dintr-o caset de text editabil, n
care putei introduce o valoare i o list din care putei alege o valoare;
8. List Box (caset de list) creaz o caset care conine o list derulant de opiuni
din care putei selecta o valoare. Ea este de fapt o parte a unei casete combinate;
9. Graph (grafic) permite introducerea n formular a unui grafic;
10. Subform (subformular) ataeaz unui formular un subformular;
11. Unbound Object (obiect neasociat) include in formular a unui obiect OLE
obinut de exemplu cu Microsoft Graph sau Microsoft Draw;
12. Bound Object (obiect asociat) afieaz coninutul unui cmp OLE. Pot afia
obiecte grafice, sunete sau imagini video, etc;
13. Line (linie) creaz o linie dreapt care poate fi redimnsionat ulterior;
14. Rectangle (dreptunghi) creaz un dreptunghi ce poate fi redimensionat ulterior;
15. Page Break (delimitatorul de pagin) determin imprimant s treac la pagin
nou ncepnd de la poziia delimitatorului de pagin. n modul Run
delimitatoarele nu sunt afiate;
16. Command Button (buton de comand) execut la selectare o comad macro
Access sau o procedur VBA de tratare a evenimentelor;
17. Control Wizard activeaz utilitarul cu acelai nume;
18. Lock permite ca un element selectat s fie introdus de mai multe ori n form, prin
click pe butonul stng al mouse-lui fr s fie necesar reselectarea lui.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Fig. 8
n continuare, ne punem problema de a ilustra folosirea obiectelor de control.
Pentru aceasta, vom crea un formular nou. n formular se va afia numele i titlul
Formuri n Access
103
angajatului din tabela Angajat, precum i mai multe informaii legate de angajat,
informaii care se gsesc n tabela Actiuni_Personal.
Datorit faptului c tabela Actiuni_Personal conine mai multe informaii
despre un anumit angajat va trebui s realizm o interogare one-to-many prin care s
legm tabela Angajai de tabela Actiuni_Personal.
Se selecteaz:
opiunea query din fereastra database i se face click pe butonul New;
se aleg tabelele Angajai i Actiuni_Personal. Se face legtura ntre
cmpul Marca i nr_matricol din cele dou tabele;
se introduce n prima coloan din query caracterul * din tabela
Actiuni_Personale care semnific faptul c n interogare vor aprea
toate cmpurile tabelei respective;
din tabela Angajai se ale cmpurile Nume, Prenume, Titlu care se
introduc n coloanele 2,3,4i 5;
n coloana Nume se activeaz opiunea de sortare;
se salveaz interogarea sub un nume oarecare.
5.6
Din fereastra Database se alege opiunea Form i se face click pe butonul New,
se alege din lista derulant care apare (parete superioar a ferestrei) introgarea
realizat anterior, dup care se face click pe butonul Blank Form. n continuare se
va afia caseta Toolbox corespunztoare executnd click pe butonul corespunztor
sau din opiunea View a meniului principal.
dac formularul nu are zonele de antet i subsol se alege din meniul principal
opiunea Format, Form Header/Footer. Dac se dorete ca formularul s apar
fr gril se deselecteaz opiunea din meniu, View. Dac nu se dorete s apar
riglele de pe margine se deselecteaz opiunea Ruler din View;
Formuri n Access
104
modificarea zonei Detail se poate face prin repoziionarea liniilor Detail respectiv
Form Footer de pe ecran;
Fig. 9
n continuare este prezentat modul de realizare al formului din figura 7
5.6.1 Adugarea unei etichete n zona de antet
Eticheta este obiectul cel mai uor de realizat. Se face click pe butonul
corespunztor din zona ToolBox (butonul 1 din fig 6) dup care se poziioneaz n
zona dorit. Pe linia de stare se afieaz numrul de linii i de caractere ce pot fi
scrise n respectiva etichet. Dac eticheta depete limitele zonei de antet atunci
bara Detail se deplaseaz automat, asfel nct eticheta s ncap n zon. Dac nu se
tasteaz cel puin un caracter caseta dispare la urmtorul click al mouseului. n mod
asemntor se creaz i celelalte obiecte de control. Dac se dorete schimbarea
fontului sau a dimensiunilor caracterelor se aleg butoanele corepunztoare de pe bar.
Dac textul nu ncape n caset se poate alege opiunea Format, Size, Size to Fit
pentru ncadrarea perfect a acestuia n caset. Asemntor cu celelalte obiecte, dup
selecia acestuia, i click pe butonul Properties apare o fereastr din care se pot seta o
serie de proprieti ale obiectului. Aceste proprietti sunt structurate ca i propriettle
celorlalte obiecte deci ca i cele enunate pentru formular.
Proprietile Layout se refer la posibiliti de modificare a fontului, a mrimii
acestuia, a culorii textului, a culorii fondului, a culorii marginii, a dimensinilor, a
modului de aliniere a textului n caset etc. Data properties nu are iar other Properties
se refer la numele care I se atribuie obiectului.
Formuri n Access
105
Formuri n Access
106
Formuri n Access
107
Formuri n Access
108
Formuri n Access
109
Probleme rezolvate
DENUMIRE
recorder
televizor
walkman
videocasetofon
videocasetofon
radiocasetofon
COD_DEPOZI
dep01
dep01
dep01
dep10
dep10
COD_PRODUS
prod001
prod060
prod080
prod060
prod080
COD_DEPOZI
dep01
dep10
LOCALITATE
bucuresti
pitesti
PRET
800000
160000
300000
430000
280000
105000
Stocuri
CANTITATE
50
150
100
200
50
Depozite
Beneficiari
COD_BENEFI
bnf011
bnf012
bnf013
NUME
vasilescu
georgescu
marinescu
ADRESA
bucuresti salcimilor 27
bucuresti salcimilor 4
pitesti privighetorii 12
Formuri n Access
110
Comenzi
NUMAR COMANDA DATA
COD_BENEFI
1014
11/23/96 bnf011
2200
6/28/96 bnf013
Facturi
NUMAR
1014
1014
2200
2200
COD_PRODUS
prod001
prod002
prod020
prod500
CANTITATE
2
1
2
3
Exemplul 1
Se consider tabela produse. S se realizeze un form prin care sunt vizualizate
informaiile din tabela produse.
Pentru a realiza acest form se realizeaz urmtoarele aciuni:
din fereastra database se acioneaz butonul Forms - New;
se definete tabela din care se vor prelucra datele i se alege modul de lucru
Blank Form;
n fereastra Form care apare se alege Form Header din meniul format;
n zona FormHeader se alege un control text care conne Coninutul tabelei
Produse;
n zona Details se introduc cmpurile din tabela Produse. Se alege controlul
Text Box i n Properties - Data Properties- Control Source se alege numele
cmpului. O alt metod de definire a obiectelor dorite este urmtoarea: se
acioneaz butonul Field List i se trage cmpul dorit n zona detail. Se
procedeaz identic pentru celelalte cmpuri;
Se definesc proprietile formului i ale obiectelor don Properties - Layout
Properties.
Formul realizat este prezentat n figura 8.
Formuri n Access
111
Fig. 8
Exemplul 2
S se realizeze un formular prin care sunt prezentate informaiile din tabelele
Produse i Stocuri.
Se realizeaz o interogare prin care sunt legate prin intermediul codului
produs cele dou tabele;
Fig. 9
Se acioneaz butoanele pentru crearea unui formular nou care are zonele
Details, Form Header, Form Footer.
Se introduc n zona Detail cmpurile din interogare.
Rezultatul este formularul din figura 9
Exemplul 3
S se realizeze un form prin care pot fi apelate alte formulare.
Formuri n Access
112
Fig. 10
Exemplul 4
S se relizeze un formular prin care pot fi vizualizate unele cmpuri dintr-o
tabel prin selectarea unui anumit cmp dintr-un control List Box sau Combo Box.
se creeaz un form nou;
n zona Form Header se introduc controalele de cutare List Box i Combo
Box. Cmpul Denumire din tabela Produse se ataeaz acestor controale ;
n zona Details se introduc cmpurile tabelei Produse.
Formuri n Access
113
Formularul realizat este prezentat n figura 11. Se alege denumirea dorit din unul
dintre cele dou controale i se vizualizeaz informaiile din tabela Produse.
Fig. 11
Exemplul 5
S se realizeze un form care conine un subform. Formularul care este subform
este realizat n prealabil. n formularul principal vor fi vizualizate informaii
referitoare la tabela Produse iar n subformular informaii referitoare la tabela stocuri.
se creaz subformularul n care, se introduce n zona Details cmpurile tabelei
stocuri. Acesta este de tipul Datasheet;
se creaz formularul principal n care se introduc cmpurile tabelei produse;
se realizeaz obiectul subformular n formularul principal cu ajutorul butonului cu
acelai nume de pe bara cu butoane.
Rezultatul acestor aciuni este formularul din figura 12
Formuri n Access
114
Fig. 12
Capitolul
6
Rapoarte
n aceast capitol este prezentat modul de obinere al unui raport simplu dintr-un
tabel. Rapoartele sunt utile pentru comunicrile cu alte persoane. n cazul
programului Microsoft Access, modalitatea optim de comunicare a unor date este
prin intermediul unui formular sau al unui raport. Capitolul 5 v-a artat cum s
folosii formularele pentru a v transmite rezultatele. Formularele sunt utile pentru
raportri simple, ca i pentru trecerea n revist i editarea datelor. Limitrile lor se
datoreaz faptului c nu pot grupa datele, pentru afiare i calcule pe grupuri, c avei
mai puin control asupra aezrii n pagin i nu putei insera un raport ntr-un
formular. Rapoartele nu pot fi utilizate la trecerea n revist ori editarea datelor, dar
permit un control superior n privina aezrii n pagin, posibilitatea gruprii datelor
pentru totaluri i de inserare n raport a unui grafic, ori chiar a altui raport.
6.1
Fig. 10
n caseta de text Select a Table/Query, executai click pe sgeata descendent din
Rapoarte n Access
116
dreapta. Se deschide o caset cu lista tabelelor disponibile din care putei construi
rapoarte. Executai click pe numele tabelului dorit pentru raport, apoi selectai
Report Wizards.
Urmtorii pai v permit s creai un raport cu ajutorul lui Report Wizard:
1. Pe primul ecran, selectai Single-Column drept instrument Wizard pe care dorii
s-l folosii, apoi executai click pe OK;
2. Alegei cmpurile pentru raport, sau selectai ca s mutai toate cmpurile n
caseta-list Field order on report (fig. 2). Apoi alegei Next >;
3. Alegei cmpul sau cmpurile dup care dorii s facei sortarea i selectai Next
>.
4. Alegei aspectul raportului. Pentru exemplul nostru, alegei Executive (fig.3) i
executai click pe Next >.
5. Introducei un titlu pentru raport, apoi alegei Finish. Report Wizard creeaz
raportul i afieaza imaginea prealabil a ceea ce se va tipri.
Fig. 11
Fig. 12
Rapoarte n Access
117
Rapoarte n Access
118
mai nti trebuie s-l selectai. Ca s selectai o caset de text cu etichet, executai
click pe caseta de text asociat. Caseta de text cu eticheta asociat va fi afiat cu
puncte de control impus. Acestea va permit urmtoarele modificri:
Pentru a redimensiona o caset pe vertical, tragei punctul impus, superior
sau inferior;
Pentru a redimensiona o caset pe orizontal, tragei punctul impus, drept
ori stng;
Pentru a redimensiona o caset att pe orizontal ct i pe vertical, tragei
pe diagonala punctele impuse din col.
Fig. 13
Ca s aliniai rezultatul obinut, utilizai riglele afiate. Putei selecta i mai
multe controale simultan, innd apsat tasta S i executnd click pe ele.
6.2.3 Deplasarea controalelor
Microsoft Access v permite s deplasai o caset de text i eticheta ei asociat,
laolalt sau separat. Pentru a le deplasa separat, selectai controlul, apoi tragei
punctul cel mare de control impus din colul stng superior. Acesta e cunoscut drept
punct de mutare. Pentru a deplasa laolalt caseta de text i eticheta, executai click pe
un control. Cnd sgeata mouse-ului se transform ntr-o palm, deplasai. caseta de
text i eticheta ei n noua poziie. Atunci cnd deplasai i redimensionai controalele,
putei efectua alinieri cu ajutorul riglelor.
6.2.4 Adugarea unei etichete
O etichet nu este altceva dect text adugat ulterior unui raport, pentru a afia
informaie. Titlul deja existent dat raportului reprezint un tip de etichet. Putei, de
Rapoarte n Access
119
6 7
9 10 11 12 13 14 15 16 17 18 19
Fig.14
Rapoarte n Access
120
13. Bound Object (obiect asociat) afieaz coninutul unui cmp OLE. Pot
afia obiecte grafice sau sunete sau imagini video, etc;
14. Line (linie) creaz o linie dreapt care poate fi redimensionat ulterior;
15. Rectangle (dreptunghi) creaz un dreptunghi ce poate fi redimensionat
ulterior;
16. Page Break (delimitatorul de pagin) determin imprimanta s treac la
pagin nou ncepnd de la poziia delimitatorului de pagin. n modul Run
delimitatoarele nu sunt afiate;
17. Command Button (buton de comand) la selectare execut o comad
macro Access sau o procedur VBA de tratare a evenimentelor;
18. Control Wizard activeaz utilitarul cu acelai nume;
19. Lock permite ca un element selectat s fie introdus de mai multe ori n
form, prin click pe butonul stng al mouse-lui fr s fie necesar
reselectarea lui.
6.2.5 Configurarea textului
Putei modifica textul oricrui raport, schimbnd fonturile, mrimile, culoarea,
alinierea i atributele (normal, ngroat, cursiv). Pentru a schimba aspectul textului
dintr-un control, executai urmtorii pai:
1 Executai click pe controlul pe care dorii s-l modificai.
2 Executai click pe oricare dintre butoanele Cut, Copy, Paste, Aliniere la
stnga, Aliniere la dreapta, Centrare, Justfy, Alegere Font i Mrime Font
ale barei cu instrumente de lucru, pentru a configura textul;
3 Pentru a stabili culoarea textului, executai click pe butonul Palette sau
selectai Palette din meniul View;
4 Dup ce ai terminat lucrul, alegei Size to Fit din meniul Format, pentru a
redimensiona eticheta la dimensiunile noului text.
6.2.6 Adugarea unui cmp la un raport
Dup ce ai creat un raport, i putei aduga cmpuri. Deschidei raportul n
modul Design, apoi deschidei lista de cmpuri. Dup aceea, putei deplasa cmpurile
n locul cuvenit din raport.
6.2.7 Crearea unui raport cu date grupate
Folosind Microsoft Access, puteti crea rapoarte cu date grupate, astfel nct s
v arate subtotaluri i totaluri. De exemplu, s presupunem ca dorii s creai un
raport care sa v arate vnzrile pe regiuni, indicnd i totalul general. Vei utiliza
Report Wizard pentru a crea raportul din acelai tabel (fig 6), n modul urmtor:
1 Selectai Report din fereastra Database;
Rapoarte n Access
121
Fig 6
10 Introducei titlul i alegei Finish pentru a vedea raportul.
6.3
Crearea graficelor
n aceast paragraf vei vedea cum se adaug cum se adaug i un grafic unui
raport. Graficele ofer informaii vizuale i sunt extrem de utile persoanelor care n-au
timp s citeasc un intreg raport. De pild, un director foarte ocupat poate prefera s
examineze graficul vnzrilor pe regiuni dect s descifreze un raport statistic.
Considerm baza de date prezentat n capitolele precedente. Considerm c
dorim s obinem un grafic care ilustreaz situaia salariilor pe profesii. Pentru
aceasta procedm astfel:
1. Se alege butonul Graph ntr-un raport nou sau ntr-un raport existent. Prin
acionarea butonului se declaneaz generatorul de grafice;
Rapoarte n Access
122
Fig. 7
Capitolul
7
Funcii referitoare la tipurile de date Access
Pentru a lucra eficient n Access este necesar s tii modul n care s creai expresii
folosind operatori, constante, identificatori i funcii.
Operatorii sunt aritmetici, de atribuire i comparare (relaionali), de concatenare,
de identificare i logici. De asemenea operatori sunt operatorii: Between, In, Is,
Like;
Constantele (literals) sunt introduse de utilizator. Ele sunt folosite la stabilirea
datelor iniiale i n combinaie cu identificatorii cmpurilor la compararea
valorilor din cmpurile tabelelor;
Identificatorii sunt numele obiectelor Access: tabele, interogri, rapoarte,
formuri, module. Mediul conine cinci constante predefinite denumite care
servesc i ca identificatori: True, False, Yes, No i Null. Constantele denumite i
variabile pe care le creai n limbajul de programare Access VBA sunt de
asemenea identificatori;
Funciile ntorc n general o valoare n locul numelui funciei.;
Perechea de paranteze drepte([]), trebuie s ncadreze numele obiectelor Access.
n general la definirea numelor obiectelor este bine s nu fie folosite spaii,
eventual liniua de subliniere (underscore)_.
7.1
Tema de cas
134
Variabila de tip dat calendaristic este ncadrat ntre semnele #. De exemplu dac
dorim sdefinim variabila data_c de tip dat calendaristic avem:
data_c = #20-10-98#
Funcie
Date()
Date$()
Descriere
i Returneaz data i ora curent a
sistemului ca tip variant sau string.
La funcii n mediul Access 95
Exemplu
?date()
24.10.1998
?date
Tema de cas
135
Dateadd()
Datediff()
Datepart()
Dateserial()
Datevalue()
Day()
Hour()
Minute()
Month()
Now()
Second()
24.10.1998
?date$
10-24-1998
?date$()
10-24-1998
?dateadd("d",31,date)
?dateadd("m",31,date)
24.11.1998
24.05.2001
?dateadd("yyyy",31,date)
24.10.2029
?datediff("d","01-03-98",date)
237
?datediff("m","01-03-98",date)
7
?datediff("yyyy","01-03-98",date)
0
?datepart("d",date)
24
?datepart("m",date)
10
?datepart("yyyy",date)
1998
?datepart("w",date)
7
?dateserial(98,10,24)
24.10.1998
?datevalue("24-oct-98")
24.10.1998
?day(date)
24
?hour("01:20 PM")
13
?Minute("01:20 Am")
20
?month(date)
10
?now
24.10.1998 17:56:14
?second("01:24:23")
Tema de cas
136
?time
17:57:43
n general funcia fr caracterul $ returneaz subtipul Variant string iar cu $ tipul Text din
VBA.
7.3
Funcie
Abs()
Atn()
Cos()
Exp()
Fix()
Int()
Log()
Descriere
ntoarce valoarea absolut a unei
valori numerice
Returneaz n radiani, arctangenta
unei valori numerice
Returneaz n radiani cosinusul
unghiului reprezentat de o valoare
numeric
Returneaz exponeniala unei
valori numerice
i Funcii identice dar care se
comport diferit pentru valori
negative. Ele trunchiaz partea
zecimal.
Sintax
?abs(-34)
34
?atn(1)
0,785398163397448
pi=3.141593
?cos(pi/4)
0,707106719949293
?exp(2.302585)
9.9999990700
?int(34.65)
34
?fix(34.65)
34
?int(-34.65)
-35
?fix(-34.65)
-34
Tema de cas
137
Rnd()
Sgn()
Sin()
Sqr()
Tan()
7.4
3,13549421592915
?rnd
0,2895625
?rnd
0,5795186
?sgn(23.4)
1
?sgn(-23.4)
-1
?sin(pi/4)
0,707106842423796
?sqr(81)
9
?tan(pi/4)
1,00000017320512
Funcia
Asc()
Chr()
Chr$()
Returneaz
caracter
Descriere
valoarea numeric
Exemplu
a
unui ?asc("y")
121
?asc("Y")
89
i Returneaz irul de caractere corespunztor ?chr(121)
valorii numerice ASCII
y
?chr(89)
Y
?chr$(121)
y
?chr$(89)
Y
Tema de cas
138
?left$("adfghty",4)
adfg
Len()
Returneaz ca tip Long numrul de caractere ?len("asdfgtrewqyutytttyt")
dintr-un ir
19
Ltrim() i Elimin spaiile de la nceputul irului
?ltrim("
asdferee")
Ltrim$
asdferee
Mid()
i Extrage un subir de caractere dintr-un ir ?mid("asdfgreteee",4,67)
Mid$()
dat de la o anumit poziie
fgreteee
?mid$("asdfgreteee",4,2)
fg
Right() i Returneaz cele mai din dreapta caractere ?right("asdfghhy",5)
Right$()
ale unui ir
fghhy
?right$("asdfghhy",5)
fghhy
Rtrim() i Elimin spaiile de la sfritul irului de ?rtrim("addsasffa ")
Rtrim$()
caractere.
addsasffa
?rtrim$("addsasffa ")
addsasffa
Space() i Returneaz un ir care conine numrul de ?space(20)
Space$
spaii specificat
?space$(20)
Str()
i Transform ntr-un ir valoarea oricrui tip ?str(12345645678.678)
Str$()
de dat
12345645678.678
?str$(12345645678.678)
12345645678.678
Strcomp() Compar dou iruri i returneaz un ?strcomp("ABCD","ABCD")
rezultat ntreg cu privire la comparare; 0 0
dac irurile sunt identice i -1 dac sunt ?strcomp("ABC","ABCD")
diferite.
-1
String() i Returneaz un ir format din caracterele care ?string(6,"a")
String$()
se repet de un anumit numr de ori.
aaaaaa
?string$(6,"a")
aaaaaa
Trim() i Elimin spaiile de la nceput i de la ?trim(" asaassa ")
Trim$()
sfritul unui ir de caractere.
asaassa
?trim$(" asaassa ")
asaassa
Ucase() i Transform un ir de caractere n caractere ?ucase("yyryryrt")
Ucase$()
mari
YYRYRYRT
?ucase$("yyryryrt")
Val()
Transform un ir de caractere ntr-o valoare ?val("34334.67")
numeric
34334,67
?val("34334n67")
34334
Tema de cas
139
?val("34334,67")
34334
7.5
dat.
Funcia
Descriere
Exemplu
Cbool() Transform o valoare numeric n tipul Logical sau ?cbool(56)
Boolean (True sau False)
True
?cbool(0)
False
Cbyte() Transform o valoare numeric n tipul Byte(0-255) ?cbyte(34)
34
Ccur()
Transform o valoare numeric n tipul Currency
?ccur(23)
23
Cdbl()
Transform o valoare numeric n tipul Double ?Cdbl(98)
Precision
98
Cint()
Transform o valoare numeric n tipul Integer
?cint(67)
67
Clng()
Transform o valoare numeric n tipul Long Integer ?clng(87)
87
Csng()
Transform o valoare numeric n tipul Single ?Csng(56)
Precision
56
Cstr()
Transform o valoare numeric n tipul String
?cstr(56)
56
Cvar()
Transform o valoare numeric n tipul Variant
?cvar(87)
87
Cvdate() Transform o valoare numeric n tipul Variant ?cvar(99)
subtipul 7
99
CVerr() Transform un numr valid de eroare crend erori
definite de utilizator
7.6
Funcii diverse
Funcia
Chosse()
Iif()
Descriere
Exemplu
Returneaz o valoare din ?choose(2,"a","b","c","d")
lista de valori pe baza b
poziiei ei din list
?choose(4,"a","b","c","d")
d
Returneaz o valoare dac a=2
rezultatul expresiei este True b=3
i o alt valoare dec ?iif(a > b,"a este mai
Tema de cas
140
rezultatul
False
7.7
expresiei
Probleme
Tema de cas
141
2. Se consider irul Universitatea de turism i irul din Sibiu memorate prin operaia
de atribuire n variabilele ir1 i i ir2. Folosind funciile specifice irurilor de
caractere:
s se determine lungimea celor dou iruri;
s se concateneze cele dou iruri;
folosind cele dou variabile ir1 i ir2 s se afieze irul TURISM DIN SIBIU
s se determine poziia irului SIBIU din irul de mai sus.
3. Considernd funciile referitoare la tipul Date/Time:
s se afieze data i ora curent;
s se afieze data peste 20 de zile de la date curent;
s se afieze data peste 10 sptmni de la data curent;
s se afieze data peste 15 luni de la data curent;
s se afieze data peste 23 ani de la data curent.
4. Considernd funciile referitoare la tipul Date/Time:
s se calculeze numrul de zile ntre data curent i data 15-01-67;
s se calculeze numrul de sptmni ntre data curent i data 15-01-67;
s se calculeze numrul luni ntre data curent i data 15-01-67;
s se calculeze numrul de ani ntre data curent i data 15-01-67.
5. Se consider irul 345.56 56.89. S se scrie instruciunile n fereastra Immediate care
calculeaz suma 345.56+56.89, valorile fiind luate din irul dat.
6. S se calculeze partea ntreag a expresiei:
sin( x ) + cos( y )
unde x=pi/4 i y=pi/3 pi=3.141593
sin( x ) cos( y )
7. Folosind funcia de comparare a dou iruri s se testeze dac irurile ir1=turism este
identic cu irul ir2=TURISM. Folosind funcia IIF s se afieze n caz de identitate
mesajul iruri identice iar n caz contrar iruri neidentice.
8. Se consider irurile
Universitatea de Geografie
, din Sibiu
. S se
concateneze cele dou iruri obinnd irul Universitatea de Geografie din Sibiu.