Sunteți pe pagina 1din 34

Laborator7

SIG

Aplica1e operatorii Access


Pentru exemplicare se u1lizeaz tabela Clien1 care va
modicata as9el incat cuprinde clien1 din localita1le
inserate in baza de date cu sau fr telefon. Tabela
modicata are urmtoarele cmpuri:
cod_client, nume client,Tara,Localitatea,cod postal,
strada, nr, sector, nr_telefon, data_instalrii

Se cere:
1. Realizarea unei interogri pentru obinerea unei
liste cu persoanele care au numrul de telefon
care ncepe cu 7 (gura 2)
Sub cmpul nr_telefon pe rndul Criteria se scrie
expresia: LIKE 7*

Fig. 2. Interogarea abonai cu numrul de


telefon care ncepe cu 7

De asemenea se cere i:

2. Realizarea unei interogri pentru obinerea unei


liste cu abonaii care au numrul de telefon care nu
ncepe cu 7.
Sub cmpul nr_telefon pe rndul Criteria se scrie expresia:
NOT LIKE 7*

3. Realizarea unei interogri pentru obinerea unei
liste cu abonaii care nu au telefon.
Sub cmpul nr_telefon pe rndul Criteria se scrie expresia:
IS NULL

4. Realizarea unei interogri pentru obinerea unei
liste cu persoanele din sectorul 6 care au numrul
de telefon care ncepe cu 7 sau a celor care nu au
telefon.
Pe rndul Criteria sub cmpul sector se scrie 6, iar sub
cmpul nr_telefon se scrie expresia: IS NULL OR LIKE 7*

5. Lista telefoanelor instalate ntre 1 Ianuarie 2015 i 31 Mar;e 2015


se obine printr-o interogare n care pe rndul Criteria sub
data_instalarii se scrie expresia: LIKE *.*.2015
6. Lista telefoanelor instalate n luna Aprilie 2015 se obine
dac sub cmpul data_instalarii pe rndul Criteria se scrie
expresia: LIKE *.04.2015
7. Interogarea pentru obinerea listei persoanelor crora li sa instalat telefon n luna 04, 2015 va cuprinde sub cmpul
data_instalarii expresia: >= # 01.04.2015 # And <= # 30.04.2015 #

8. Pentru a obine o list a persoanelor din sectoarele 1, 2 i
3 care nu au telefon instalat, se va realiza interogarea: sub
cmpul sector se scrie expresia: IN (1,2,3) iar sub cmpul
nr_telefon se scrie expresia: IS NULL
9. Pentru a obine o list cu telefoanele instalate n ultimul
trimestru al anului 2014, se va realiza interogarea: sub cmpul
data_instalarii se scrie expresia: Between #01.10.2014# And
#31.12.2014#

Campuri calculate
in interogarile de
selectie

Interogrile de selecie
pot cuprinde i cmpuri
calculate. Aceste cmpuri
returneaz, la
executarea interogrii,
valoarea expresiilor
Access asociate lor.

Pentru a aduga un cmp


calculat ntr-o interogare se
tasteaz numele acestuia ntr-o
nou coloan din grila Query
Design, se adaug simbolul dou
puncte (:)i apoi se completeaz
expresia dorit.

Pentru a crea un cmp calculat


trebuie avute n vedere urmtoarele:
se introduce n celula Field a grilei de interogare un
nume de coloan (dac nu se specific se atribuie
numele implicit Expr l, Expr2, ...), urmat de semnul :
i formula de calcul, asHel:

Valoare: [can1tate]*[pret_unitar]

Sau
stoc_nal: [stoc_ini1al] + [Cant_intrata] - [Cant_iesita]

De asemenea cmpuri calculate pot


create i pentru text (concatenarea
cmpurilor):

Numepren: [Nume] & & [ Prenume]
cmpurile calculate pot sortate, li se pot
aplica criterii de selecie sau se pot
totaliza.

n cmpurile calculate se poate utiliza funcia


IIF cu urmtoarea sintax:
IIF ( <expresie>, valoare 1, valoare2)
unde:
<expresie> este o expresie a crei
valoare de adevr este evaluat pentru
fiecare nregistrare;
valoare 1 este valoarea returnat dac
expresie este adevrat;
valoare2 este valoarea returnat dac
expresie este fals.

Exemplu: Interogarea din figura 1 (pentru


aplicaia de la interogari) calculeaz data limit
pn la care trebuie onorat ecare comand.

Fig 1. Exemplu de cmp calculat ntr-o interogare

Expresiile pot fi utilizate ntr-o interogare de


selecie fie drept criterii de selecie fie pentru a
calcula anumii indicatori. \
Expresia poate fi tastat n rndul Field al unei
coloane (exemplul din figura 1) sau poate fi
construit cu ajutorul generatorului de
expresii (a crui fereastr se activeaz
efectund click dreapta n linia Field i
selectnd din mediul contextual opiunea Build
(Generare)).
Exemplul din figura 2 prezint utilizarea
generatorului de expresii pentru a calcula
valoarea fiecrui produs de pe o comand.

Fig. 2. Fereastra Expression Builder

Fig 4 Rezultatul Interogari

Aplica;a 1

Pe baza tabelelor:
nrcmd (nr_comanda, data, cod_furnizor, cod_gestiune, cod_factura)
material (nr_comanda, cod_material, cant_aprov, pret_aprov),
S se realizeze o interogare pentru calcularea valorii materialelor, a
taxei pe valoarea adugat i valoarea total (figura 5.)

Fig 5 Campuri calculate

Fig. 6. Rezultatul interogrii

Aplicaia 2: S se creeze tabelul Studeni cu urmtoarea structur:

Nr matricol

Number

Cap1on: Numar
matricol

Se cere:
1. s se creeze o interogare care s
afieze doar numele i prenumele
studenilor afiai n ordine alfabetic

2. s se creeze o interogare care s
calculeze media studenilor i care s
afieze doar numele, prenumele i
media acestora precum i dac au fost
admii sau nu.

Rezolvare 1. S se creeze o interogare care s afieze


doar numele i prenumele studenilor afiai n ordine
alfabetic
Nr matricol

Fig. 7 Interogarea

Fig. 8 Rezultatul Interogari

Rezolvare 2. S se creeze o interogare care s calculeze media


studenilor i care s afieze doar numele, prenumele i media
acestora precum i dac au fost admii sau nu.

- Se de click pe butonul Creare i se alege


opiunea Proiectare Interogare
- Aducem cmpurile Nume, Prenume.
- Completm urmtoarele dou coloane din
gril cu
Medie: ([Nota 1]+[Nota 2]+[Nota 3])/3
Rezultat: IIf([Medie]>=5;"admis";"respins")
cu:

La linia Sort pentru campul media alegem tipul de sortare

ascendent Interogarea va arata ca in figura 9:

Fig. 9 Interogarea

nchidem interogarea de la butonul x, se salveaz sub numele Interogarea 2,


apoi vizualizm rezultatul prin deschiderea acesteia din panoul Queries
(Interogri) (figura 10).

Fig. 10 Rezultatul Interogari

Interogari
parametrizate

Interogari parametrizate
Interogrile de selecie prezentate pn
n acest moment returneaz ntotdeauna
nregistrrile din tabelele surs care
corespund unei anumite cereri fixe.
EX:clienii trebuie s aib domiciliul n
Bucureti sau Ploieti iar data livrrii s
fie anterioare datei curente (vezi exemplul
de interogare de selecie prezentat ntr-un
paragraf anterior).

De multe ori ns, ar fi util o


interogare al crei criteriu de
selecie s poat fi precizat la nivel
general i particularizat de
utilizator n funcie de necesitile
sale de informare (precizndu-se
concret ce realizri ale atributului
sunt cutate) chiar n momentul
execuiei cererii.

O astfel de interogare se
caracterizeaz prin faptul c n
grila Design, pe coloana dorit, n
linia Criteria, se va preciza ntre
paranteze drepte un mesaj ce
urmeaz a fi afiat la executarea
cererii permind ca utilizatorul
s introduc criteriul de selecie
dorit.

Parametrii pot u1lizai nu


doar n rndul de criterii, ci
i n formulele cmpurilor
calculate, dac se
dorete introducerea
unui termen variabil n
expresii.

Cnd se creeaz i salveaz o interogare


este posibil s nu se cunoasc valorile
pentru un cmp.

Se va crea un parametru pentru


interogare (un nume de cmp diferit de
numele cmpurilor tabelei sau
interogrii, ncadrat de paranteze
drepte).

La execuia interogrii apare o caset de
dialog prin care se cere valoarea pentru
cmpul parametru.

Exemplul din figura 1. prezint o cerere care va solicita


utilizatorului numrul comenzii ce se dorete a fi afiat i
procentul ce va fi folosit pentru a calcula cmpul Reducere.

Parametru

Fig. 1 Interogare cu parametri

Aplicaia 3: Pe baza unei tabele existente cu


structura:
studen1 (Nr matricol, Nume, Prenume, Tip
student, Facultatea, Grupa, An studiu, Media)

S se realizeze o interogare parametrizat
care s listeze studenii unei grupe dintr-o
facultate, n ordine alfabetic (figura 2.).
Rezultatul este prezentat n figura 3.

Nr matricol

Nr matricol

Fig. 2. Interogare cu parametri

Nr
matric

Fig. 3 Rezultatul interogrii