Sunteți pe pagina 1din 103

(1531) UNIVERSITATEA DE STAT DIN MOLDOVA

FACULTATEA DE TIINE ECONOMICE Catedra Contabilitate i Informatic Economic

Nicolae PRODAN, Natalia APETRII, Claudia GAIDU, Natalia GORECHI, Valentina TRU, Ala TATARCIUC

Elaborarea BD cu ajutorul SG B D Access


Lucrri de laborator

Aprobat de Consiliul Facultii de tiine Economice

Chiinu, 2011 CEP USM

CZU 004.65(076.5) E 35

Recomandat de Catedra Contabilitate i Informatic Economic

Descrierea CIP a Camerei Naionale a Crii


Elaborarea BD cu ajutorul SGBD Access: Lucrri de lab. / Nicolae Prodan, Natalia Apetrii, Claudia Gaidu [et al.]; Univ. de Stat din Moldova, Fac. de tiine Econ., Catedra Contabilitate i Informatic Economic. Chiinu: CEP USM, 201 1. - 102 p. 50 ex. ISBN 978-9975-71-121-0. 004.65(076.5) E 35

ISBN 978-9975-71-121-0

Nicolae PRODAN, Natalia APETRII, Claudia GAIDU, Natalia GORETCHI, Valentina TRU, Ala TATARCIUC, 2011 USM, 2011

INTRODUCERE De mai bine de dou decenii, bazele de date, prin performanele i avantajele lor, au fost i vor rmne n continuare modalitatea principal de structurare i organizare a datelor n cadrul sistemelor informatice. In plus, productorii de software au creat Sisteme de Gestiune a Bazelor de Date (SGBD) tot mai performante i n acelai timp ct mai simplu de uti lizat. Avnd n vedere utilizarea din ce n ce mai larg a tehnicii de calcul n activitatea zilnic i acumularea unui volum din ce n ce mai mare de informaii reinute pe suporturi magnetice, se pune problema determinrii unor metode mult mai eficiente de reprezentare i prelucrare a acestor in formaii. In bun parte, acestea fac obiectul unui domeniu al informaticii numit baze de date, domeniu n plin dezvoltare n ultima perioad. SGBD Access a devenit una dintre cele mai populare aplicaii pentru colectarea, stocarea, prelucrarea i transmiterea datelor. MS Access este un SGBD relaionale, care poate rula pe un calculator personal sau pe reele locale dirijate de sistemul de operare de Microsoft Windows. Aceast lucrare este destinat studenilor care studiaz disciplina Tehnologii informaionale de comunicare ca suport pentru elaborarea unei interfee simple de ghidare a aciunilor pentru un utilizator la exploa tarea unei BD relaionale. Fiecrui student i se va propune o problem individual (Anexa 3). Acea sta se va diviza n subprobleme n conformitate cu temele lucrrilor de labora tor. Modelele de subprobleme sunt prezentate n fiecare lucrare de laborator. Pentru executarea lucrrii individuale sunt naintate urmtoarele cerine: 1) profesorul formuleaz problema general i, mpreun cu studentul, subproblema pentru fiecare lucrare de laborator; 2) studentul analizeaz iniial problema i subproblema, modelul de soluionare a unei subprobleme analogice descrierea cruia se conine n indicaiile la lucrarea de laborator respectiv, ntrebrile de autoevaluare i structura raportului individual pe care trebuie s-l prezinte. Apoi, stu dentul elaboreaz soluia subproblemei individuale i raportul la lucrarea tic laborator n corespundere cu indicaiile metodice specificate n lucrarea tic laborator respectiv; V ) raportul individual al studentului, la fiecare lucrare de laborator, pre zentat conform structurii indicate n cadrul lucrrii de laborator respective. ndrumarul metodic conine opt lucrri de laborator, care cuprind cele mai importante aspecte de valorificare iniial a programului MS Access.
-

Fiecare lucrare de laborator este structurat n patru niveluri: - noiuni teoretice; - exemple rezolvate; - ntrebri i subiecte de autoevaluare; - descrierea structurii raportului individual la lucrarea de laborator respectiv. Lucrarea de laborator nr.l include noiuni teoretice fundamentale i exemple de proiectare i creare a bazei de date (BD) unitabelare. Lucrarea de laborator nr.2 - proiectarea BD multitabelare i stabilirea legturilor dintre tabele. n lucrarea de laborator nr.3 sunt date exemple de interogri de tip Select i cu parametru, precum i construirea expresiilor logice, calcule pe grupuri. Lucrarea de laborator nr.4 are ca obiectiv nsuirea deprinderilor prac tice n crearea i redactarea interogrilor de aciune n SGBD Access. Lucrarea de laborator nr.5 - studierea metodelor de organizare a inte raciunii dintre aplicaiile MS Access i MS Hxcel, pentru a nsui deprin deri practice n exportarea i importarea datelor n Access. Lucrarea de laborator nr.6. reflect modul de proiectare i redactare a macrocomenzilor. Lucrarea de laborator nr.7 propune operaii de proiectare, redactare a rapoartelor n regim de vizualizare Design View. Lucrarea de laborator nr.8 include un material teoretic amplu i practic privind proiectarea i redactarea formularelor. Subiectele de verificare la finele fiecrei teme consolideaz cunotin ele teoretice i practice. Materialul este expus astfel, nct s fie neles i nsuit n mod succesiv. Se consider c cititorul va introduce i va lansa n execuie exemplele propuse, va rspunde la ntrebri i va efectua lucrul asupra subiectelor de evaluare propuse. Autorii exprim sincere mulumiri dnei Cristina DOLGH1, conf. univ., pentru ajutorul acordat, dl ui Nicolae MAGARIU, conf. univ., pentru atenia i sfaturile valoroase oferite la scrierea lucrrii. Aportul autorilor: Nicolae PRODAN - doctor, confereniar universitar, USM Natalia APETRII - lector universitar, USM (LL1, LL2, LL6) Claudia GAIDAU - lector universitar, USM (LL3, LL8) Natalia GORECHl -- lector universitar, USM (LL4, L.L5) Valentina TRU - lector universitar, USM (LL7) Ala TATARCIUC - lector universitar, USM (LL8)
-

Lucrarea de laborator nr.1

Tema: Noiuni introductive de baz. Crearea bazelor de date relaionale unitabelare


Scopul lucrrii: familiarizarea cu principiile de baz aplicate n lu crul cu SGBD (Sistem de Gestiune a Bazelor de Date), nsuirea deprin derilor practice n crearea tabelelor; efectuarea operaiilor primare asupra datelor. Noiuni generale
O Baz de date (BD) poate fi definit ca o colecie de date aflate n interdependen, mpreun cu descrierea datelor i a relaiilor din tre ele. BD n special sunt utile pentru a prelucra un volum mare de informaii. BD relaional reprezint o mulime de relaii (tabele bidimensio nale legate reciproc), fiecare relaie reprezentnd un tip de entitate (de exemplu: produse, colaboratori) sau o asociere dintre dou sau mai multe tipuri de entiti. SGBD reprezint un ansamblu de programe ce permit utilizatorilor s interacioneze cu o BD n vederea crerii, actualizrii i interogrii acesteia. Obiectivul esenial al unui SGBD este oferirea unui mediu eficient, adaptat utilizatorilor care doresc s consulte informaiile coninute n baz [1]. Microsoft Access 2003 este un SGBD eficient i accesibil n crearea i dirijarea BD, cu o interfa prietenoas i o utilizare simpl. Fiecare sistem de gestiune administreaz datele conform unui anu mit model de date. Exist mai multe modele de date utilizate n SGBD: modelul ierarhic, modelul reea, modelul relaional, modelul obiect orientat, modelul obiect relaional. Dintre acestea, n momentul de hv, modelul relaional este cel mai larg rspndit, n special n aplica iile comerciale, i acesta va fi studiat n continuare n lucrarea de fa. MS Access permite proiectarea i crearea bazelor de date la un nivel destul de nalt fr a utiliza limbaje de programare. Aplicaia Access se lanseaz prin apsarea butonului Stort -> Programs -> MicrosoftOffice -> MS Access (des. 1.1).

Interfaa MS Access 2003, n afar de elementele standarde (bara de titlu, bara de meniuri, bara cu instrumente, zona de lucru, bara de stare), conine i panoul de lucru, amplasat n partea dreapt a inter feei cu mijloace care pot fi aplicate de ctre utilizator la soluionarea anumitelor sarcini (crearea i deschiderea BD, cutarea datelor infor mative .a.).

Formularea suhproblemei: De proiectat BD unitabelare pentru o unitate economic (soluio narea subproblemei este prezentat n baza exemplului de mai jos). 1.1. Stabilirea obiectivelor BD Se cere de proiectat o BD unitabelar pentru firma Omega", care presteaz servicii de televiziune digital n oraul Chiinu cu scopul automatizrii evidenei serviciilor. nainte de a crea o BD este necesar a determina sarcinile problemei, i anume: I) analiza domeniului de aplicare n care va fi creat i utilizat BD; II) formularea problemelor ce urmeaz a fi soluionate; III) definirea ansamblului de obiecte (tabele, interogri, formulare, rapoarte .a.), care se presupun a fi realizate n BD.
-

Proiectarea BD urmeaz s nceap cu descrierea domeniului de aplicare. Domeniul de aplicare este examinat ca un complex de obiecte reale mpreun cu interdependena dintre ele, de exemplu, evidena mr furilor vndute de o oarecare firm. Descrierea domeniului de aplicare reprezint descrierea verbal a obiectelor, proceselor, fenomenelor i legturilor reale care sunt pre zente printre obiectele descrise (vezi Exemplu de descriere a dome niului de aplicare). Proiectnd o BD, utilizatorul trebuie s defineasc tipul informaiei ce se va pstra n BD i s prevad informaia de care va avea nevoie n viitor [1]. Exemplu de descriere a domeniului de aplicare: Se cere de proiectat o BD pentru firma Omega", care presteaz servicii de televiziune digital n oraul Chiinu cu scopul automati zrii evidenei serviciilor. Firma propune dou tipuri de pachete. Fiecare pachet este caracterizat prin urmtorii parametri: pachetul posed un cod unic; preul; numrul de canale n pachet. Pachetul n r.l conine 20 de canale. Preul pachetului - 30 lei/lun. Pachetul nr.2 conine 40 de canale i clientul poate s-l cumpere la preul de 60 lei/lun. Cu fiecare client firma ncheie un contract de prestare a serviciilor pentru 2 ani, care este notificat printr-un cod unic. n contract se stabilesc toate condiiile serviciilor prestate, pa chetul selectat i obligaiile clientului. La expirarea termenului abona mentului informaia referitoare la client se lichideaz din BD, La dorina clientului contractul poate fi prelungit cu alt cod unic. Firma Omega" deine informaii despre clieni i duce evidena operaiilor de achitare a serviciilor prestate. Se nregistreaz urmtoarele date despre clieni: nume, prenume; domiciliul; sectorul oraului Chiinu; codul contractului. Pentru achitarea serviciilor prestate, clientului i se elibereaz fac tura de plat (Ordin de ncasare) [Anexa 1]. Clienii sunt obligai s

achite plata abonamentului pn la termenul stabilit. Perioada de eviden a serviciilor este de la 1 pn la 30 a fiecrei luni, deci, o lun. Pentru neachitare n termenul stabilit, clientul se consider da tornic. Pentru a doua lun consecutiv de neachitare el este deconec tat. La dorin, clientul poate achita plata n avans. Achitarea facturii se efectueaz la banc. Dup achitarea facturii, firma Omega" nregistreaz urmtoarea informaie (aceste date sunt utilizate la ntocmirea facturii curente): codul contractului; suma spre achitare; perioada de calcul (luna pentru care exercit achitarea); data achitrii. Informaiile n BD, se pstreaz dou luni apoi se transfer n co piile de arhiv. n lucrul cu BD curent operatorul trebuie s soluioneze urmtoa rele probleme: 1) introducerea (redactarea) informaiei despre clieni i pachete; 2) nregistrarea noilor clieni; 3) lichidarea informaiei despre clienii care nu mai solicit servi ciile firmei; 4) actualizarea pachetelor; 5) obinerea informaiilor despre client (clieni) pentru o anumit perioad, deci, efectuarea selectrii datelor n conformitate cu anumite condiii de selecie; 6) depistarea datornicilor i stabilirea sumei datoriei; 7) ntocmirea facturii; 8) elaborarea raportului pe venit; 9) pentru secia contabilitate se va prezenta informaia referitoare la datornici, suma datoriilor i veniturile firmei. Aceast abordare denot faptul c nainte de proiectare este ne cesar posedarea descrierii corecte i depline a domeniului de aplica re, de altfel i a scopului BD elaborate. Lipsa obiectivelor definitivate a BD poate conduce la o proiectare neadecvat a BD, incomod, ne potrivit obiectului real modelat i sarcinilor expuse spre soluionare prin aplicarea BD [1].

1.2. Proiectarea BD unitabelare


Crearea BD pentru exemplul descris mai sus (vezi descrierea domeniului de aplicare) presupune executarea urmtoarelor aciuni: pentru crearea BD noi, selectai meniul File ->New, apoi din panoul de lucru - Blank database (panoul de lucru este amplasat n dreapta interfeei Access). Se deschide caseta File New Database (des.1.2). n cmpul Save in indicai mapa, iar n cmpul File name introducei denumirea BD datal.mdb. Activai butonul Create.
....., , Cdil liivnl Ivolv KlrrJvw (M' Adobe PDF , ' ; ; ... . : v : x v . ; |

:T i! ! J;| ;\ t

|
M y CiwpiiHv

*w . PilfiQMOi pJ-AM .rm Jb MyNMwerk * . Sv* t'/pe: :M tro*oft 0 <e Access database (.m db)

V iv i

i | ... Cancel ; . |;

Des. 1.2. Caseta File New Database.

n domeniul de lucru apare caseta BD (des.1.3). BD Access conine tabele i legturile dintre ele (dac ele exist), de asemenea, interogri, formulare, filtre, rapoarte etc. n caseta Database pe vertical sunt prezentate barele: Objects (obiecte) i Groups (grupe). Bara Objects conine pagini pentru fiecare obiect care poate fi creat n BD: tables (tabele), queries (interogri), forms (formulare), reports (rapoarte), pages (pagini web), macros (macroinstruciune), modules (module). La selectarea obiectelor din bara Objects n domeniul de lucru se reflect lista obiectelor corespunztoare deja create i lista metodelor propuse pentru crearea obiectelor de tipul dat. La fel, caseta Database posed bara cu instrumente proprii.
-

:|

^ IS

Tables Ouerie^ Forms Reports Pages Macros Modules Groups

j ; N~|j '^

Create table by using wizard Create table by entering data

i'M

Favorites

Des.1.3. Caseta bazei de date - datai.

ncepem elaborarea tabelului propriu-zis. Crearea tabelului se efectueaz n dou etape: definirea structurii (setul de cmpuri, eti chetele de cmp, tipul i dimensiunea fiecrui cmp, cmpuri-cheie i alte proprieti) i includerea nregistrrilor n tabel (completarea cu date). Tabelul conine informaii omogene legate de anumite entiti. Datele n tabel sunt grupate pe linii (nregistrri) i coloane (cmpuri). Pentru nceput, s determinm componena cmpurilor tabelului Abonai n conformitate cu exemplul precedent:
Nume Nr. de Pre Adresa Sector Pachet Prenume contract pachet Nr. de canale Suma spre achitare Data achitrii Perioada de achitare

n caseta Database accesai opiunea Tables. n domeniul de lucru sunt prezentate trei regimuri de creare a tabelelor. Selectai regimul de creare Create table in Design view (prin dublul clic). n caseta con structorului de tabele Design view (des.1.4) urmeaz s se defineasc manual denumirea, tipul i proprietile cmpurilor [2].
-

10

Caseta constructorului de tabele este alctuit din dou seciuni: . tea de sus reprezint structura tabelului - enumer cmpurile (coloana Field Name), tipul datelor (coloana Data Type) i descrierea cmpurilor (Description); partea de jos - proprietile cmpului selectat

(TicId Properties).
n*ld N .?iiyi* Data Type | Description I a If ji

.......... Field Properties ; (Sonorei ; Lookup I

iv

A field name can be up to 64 characters long., including spaces. Press FI for help on fieid names, (1

Des. 1.4. Caseta constructorului de tabele n regim Design.

Seciunea Field Properties este format din dou pagini: General i Lookup. Pagina General conine setul de proprieti pentru fiecare tip de date, unele proprieti fiind comune pentru toate tipurile. Pagina lookup realizeaz a doua metod de creare a cmpurilor bazate pe o list de cutare. Descrierea proprietilor de baz ale tabelului sunt prezentate n Anexa 2. Completai cmpurile constructorului de tabele dup cum este reim von tatn desenul 1.5. Coloana Description servete pentru include i omentariilor i completarea ei nu este obligatorie. Pentru proprietile cmpurilor suma i pret definii valorile marr.ilo n desenul 1.5 cu sgei. nchidei caseta i salvai tabelul cu numele Abonai. La apelul de includere a cheii primare selectai No. I'.ibelul, ca rezultat, apare n domeniul de lucru al paginii Tables
(des.1.6).
-

11


Field '

adresa sector contract pachet pret canale suma| data luna

1 Data Type ! Text 1Text : Text : Text Number Number Number Date/Time Text


adresa abonatului

Description

i j

.t

sectorul oraului numrul contractului denumirea pachetului preul pachetului numrul de canale incluse in pachet suma spre achitare data achitarii ; peioada de achitare

jl | I I { I I 0 1 I I General j Lookup ; Field S iz e ..... I Format ' Decimal Places Input Mask I Caption ; Default Value : Validation Rule I Validation Text Required I Indexed iDouble

....... Field Properties

A field name can be up to 64 characters long., including spaces. Press F I for help on field names.

I Smart Tags

Des.1.5. Tabelul Abonai n regim Design.

f| Open

Design

...j New

111
! \ 1 Create table by using wizard Create table by entering data Abonai

Des. 1.6. Caseta BD datai.


-

12

Deschiderea tabelului pentru introducerea datelor se efectueaz prin dublul clic pe numele lui din domeniul de lucru. Completai tabelul <ii date (des.1.7).
nunu? Il.ii ! A IIiu Dorin hiiiliiMijii lr)ni li ii i j FlflflU Alia rinia Anei Negru Ootlno l logiu Dorina fVui.i Ion Uihii lr ii pe. . : 7 ) ] n' i' ij of 11 adresa Chljjnay, sir Gogol, 124 ap 45 Chiinu, str Gogol, 124 ap 45 Chlflnau, sir I Creang, 60, ap 15 Chiflnau, sir 1Creang, 60, ap 15 Chiflnau, str Gogol, 128 ap 5 Chiinu, sir Gogol, 128 ap 5 Chlinau, cir Gogol, 124 ap 60 Cliljlnau, sir Gogol. 124 ap 60 ( iii ...... . str 1Creang, 26, ap 5 l hlinu, fir 1Creang, 26, ap 5 1 $6Ctor | contract D-459 c ..... D-459 D-517 D-517 D-259 :......... D-259 " .' . D-458 D-458 D-457 0-457 | pachet) pret | canale | suma | 60 40 60 2 .2 ... 60 40 .....60 " 30 11 30 20 30 20 .... 3 0 .... 40 60 2 60 60 60 40 2 30 30 20 ... 1................. 30: 20 so : ;i...... 30 20 30;" ;1 30 20 30 o: 0 0 data | iuna .03.02.2010! ianuarie 03.03.2010: februarie 07 02.2010 ianuarie 07.03.2010.; februarie 03.02.2010 ianuarie 03.03.2010 februarie 09.02.2010 ianuarie 04.03.2010 februarie 02 02.2010 ianuarie 05.03.2010; februarie j/j ft jfj || |j || | | | j

Des. 1.7. Tabelul Abonai n regim Datasheet.

ntrebri dc autoevaluare: I Definii noiunile de SGBD i BD. ( .tm sunt funciile generale ale unui SGBD? \ I numnrni modelele de date utilizate n SGBD. 4 Definii noiunea de BD relaionale. S, Numii obiectele BD Access. Subiecte de autoevaluare: Pentru consolidarea cunotinelor i a deprinderilor practice nsu ite executai urmtoarele aciuni (sarcini): 1. Reproiectai tabelul Abonai atribuindu-i alt nume. 2. Deschidei tabelul n regim de design, adugai i lichidai coloane. 3. Modificai tipul d a te lo r- analizai rezultatul. 4. Modificai proprietile cmpurilor - analizai rezultatul. 5. Dup aciunile executate, lichidai tabelul creat. Structura raportului individual: i Poala de titlu. ) Introducere. \ I cumularea problemei. A. Definirea scopului i destinaiei BD pentru domeniul de aplicare. f). Aiidliza i descrierea domeniului de aplicare. (), Proiectarea BD unitabelare (prezentarea tabelului n regim design i datasheet).
7, Bibliografie.
-13
-

Lucrarea de laborator nr. 2

: Crearea bazelor de date multitabelare


Scopul lucrrii: crearea tabelelor n BD multitabelare i a legturi
lor dintre tabele.

Noiuni generale Microsoft Access este un sistem eficient pentru crearea i admi nistrarea BD relaionale. La descrierea BD relaionale se va utiliza urmtoarea terminologie: Relaia - tabelul. Tabelul este un obiect fundamental al bazei de date i conine date privind o anumit tem (entitate) cum ar fi clieni sau produse. Tabelul reprezint un obiect informaional ce conine nume, cheie primar, atribute (cmpuri), nregistrri. Toate datele stocate n BD sunt sistematizate n tabele. nregistrarea - rnd n tabel. Fiecare nregistrare dintr-un tabel conine informaii despre un element al entitii cum ar fi un anumit client sau produs. Cmpul (atribut) - o nregistrare este compus din cmpuri cum ar fi numele, adresa i numrul de telefon pentru un c lie n t... . Cmpul conine date de acelai tip pentru toate elementele entitii [1]. Formularea subproblemei: De proiectat tabelele BD multitabelare pentru o unitate economi c (soluionarea subproblemei este prezentat n baza exemplului de mai jos).

2.1. Proiectarea BD multitabelare Problema se soluioneaz pe baza domeniului de aplicare descris n lucrarea de laborator n r.l. Se cere de proiectat o BD multitabelar pentru unitatea economic Omega". O astfel de proiectare a BD ne cesit o abordare complex. Etapele de proiectare a BD: I) Definirea scopului i domeniului de aplicare a BD - scopurile sarcinile n baza exemplului domeniului de aplicare Televiziunea digital" (vezi LL nr.l).
-

14

II) Definirea tabelelor pe care trebuie s le conin BD, stabilirea i impurilor ce urmeaz a fi incluse n tabele i legturile dintre ele [2]. Una dintre cele mai importante etape ale procesului de proiectare ,t Iii) este elaborarea tabelelor.

La proiectarea tabelelor se recomand a se respecta urmtoarele principii: 1. Informaia n tabele nu se dubleaz (depozitarea informaiei ntr un singur tabel permite redactarea informaiei doar ntr-un singur l.ibel). Acest principiu face lucrul mult mai eficient i exclude posibi lii. itea de necorespundere a informaiei dac s-a repetat n mai multe t.ilx'le. De exemplu, adresa i telefonul clienilor se pstreaz n acelai l.ibnl ). fiecare tabel conine informaia bine structurat ce descrie o rtiuimit cnlitate. Informaia separat pentru fiecare entitate se preIiii itM/.i mult mai uor dac este depozitat independent una fa de rtllfi Dt1 exemplu, adresa i serviciile comandate de clieni se vor de pozit.i in diferite tabele, astfel ca la lichidarea comenzii informaia ( h ( l i nii s se pstreze n BD. I i i stabilirea cmpurilor pentru fiecare tabel este necesar a se ine ( onl de urmtoarele: I fiecare cmp are legtur cu informaia stocat n tabel. 2. Denumirile (etichetele) cmpurilor descriu esena coninutului. 3. n tabele nu se includ date care pot fi calculate n baza altor date. <\. Se recomand evitarea mbinrii mai multor date n aceeai coloan (de exemplu, se separ n coloane diferite numele i pronumele ...). . I .iimlizm tabelul Abonai (vezi LL n r.l, des.1.7) pentru a depista iineln ii omoditi i neajunsuri. I iIiiiiiI neajuns - dublarea datelor n tabel: n fiecare lun se intimlm i> informaia despre clieni (NP, adresa, sectorul, numrul m ntr.u lului) i pachete (denumirea pachetului, preul i numrul de i rtiirtlt), dei aceste date sunt constante. Al doilea neajuns - dificultile care apar odat cu modificarea il.itHOi Dac clientul i schimb adresa (sau adresa a fost scris
-

15

greit) va fi nevoie s se modifice informaia n toate nregistrrile corespunztoare din tabel, ceea ce este neefectiv. Al treilea neajuns - dificultatea lichidrii datelor. Dac clientul re fuz serviciile, atunci toat informaia ce se refer la datele personale ale clientului trebuie lichidat, ns n acest caz se pierde i informaia despre achitarea serviciilor de ctre el, ceea ce nu este de dorit. Pentru a evita aceste neajunsuri, este necesar ca tabelul Abonai s fie divizat n mai multe tabele, fiecare dintre care va conine infor maia cu referire la o anumit entitate:

Pachet- informaia despre pachete


Pachet Pre pachet Nr. de canale

Abonai - informaia despre clieni


Nume Prenume Adresa Sector

A chitri- achitrile efectuate de clieni


Nr. de contract Suma spre achitare Data achitrii Perioada de achitare

Des.2.1. Tabelele BD Abonai la a doua etap de proiectare. III) Stabilirea cheilor primare i legturilor dintre tabele. Pentru ca mediul Access s combine datele amplasate n diferite tabele, ele trebuie s conin un cmp (sau un set de cmpuri) cu un identificator unic pentru fiecare nregistrare. Un astfel de cmp (set de cmpuri) este numit cheie primar. Dac pentru tabel s-a stabilit cmpul cheii primare, programul Access exclude dublarea sau includerea valorilor NULL n acest cmp. Legtura dintre tabele este bazat pe cmpul comun, identic (dup tipul de date) n ambele tabele. De obicei, cmpul comun este cheia primara n tabelul de baz i cheia strin n al doilea tabel.
-

16

'..I stabilim cheile primare i strine pentru tabelele create: /Y/ het - cmpul pachet este cheie primar. Abonai - ar fi logic s stabilim cheia primar compus pentru i flmpurile nume i prenume, dar ntruct cmpurile conin pn la 30 di' simboluri, nu este comod a fi utilizat n calitate de cmp de legtiiM cu alt tabel. Pentru identificarea fiecrei nregistrri, n tabelul Abonai includem cmpul nr. contract., stabilim acest cmp - cheia primar. Cmpul pachet l adugm n tabelul Abonai pentru a face leg11 it,1 tabelului Abonai cu tabelul Pachet. Cmpul pachet n tabelul Abonai - cheia strin. Achitri - acest tabel va fi legat cu tabelul Abonai prin intermediul ( flmpului nr. contract. Cmpul nr. contract. n tabelul Abonai - cheia sii.lln.V I .ihclul Achitri nu conine cheia primar. I'onlru comoditate, cmpul luna (perioada de achitare) n tabelul luni '-sit* definit ca cheie primar. n continuare, tabelul Luni l vom uliliM in ( alltate de lista lunilor. stiiblllm cmpul comun luna pentru combinarea tabelelor Luni i Achitri. Dup modificrile efectuate, BD va arta n modul urmtor:
Abonai
lumii act nume prenume adresa sector pachet

Pachet
pachet t

pre

canale

Ai l ill nr I

Luni

I- olHirtt < i

data luna

luna

Des.2.2. Schema BD relaionale Abonai


la etapa a treia de proiectare.
N\ i(ti

( halit? primare pe desen sunt subliniate.

17

2.2.

Crearea tabelelor n regim Design i adugarea datelor

Creai o BD nou, atribuii numele data2.mdb. Deschidei BD i creai 4 tabele conform structurilor prezentate n des. 2.3 - 2.13. Tabelelor atribuii numele indicate n des.2.3-2.13. Pentru cmpurile marcate stabilii valori privind proprietile cmpului [3].

pachet

pret|

canale

j Text..... j Number ^ Number

denumirea pachetului preul pachetului numrul de canale incluse in pachet Field Properties

I beneral ; Lookup i | Field Size I Format I Decimal Places I Input Mask I Caption : Default Value j Validation Rule I Validation Text j Required I Indexed j Smart Tags ;Long Integer lAuto

fnumar pozitiv' No No

; A field name can be up to 64 characters lohgj j including spaces. Press FI for help on fieid names.

Des.2.3. Tabelul Pachet n regim Design.

Data Type

|____________________ Description

Field Properties General Lookup ; | The ... ........ ; A :i i maxim - : Um .......................... i 5 !: ! numb .: : 8 Of

Field Size Format Input Mask Caption Default Value Validation Rule Validation Text Required Allow Zero Length Indexed Unicode Compression IME Mode IME Sentence Mode '-.nwl; <

. . .

.7

'. \ ' 7 ' Z . 7 7 .

.......

.........................

; chara

I 1cters
.......................... I No .......................... Yes Yes (No Duplicates) Yes........................................................... i i Z I I I Z j No Control ...... i None ! can N enter ; in the field. 1 ! The Marges t h f j maxim

Des.2.4. Tabelul Luni n regim Design. - 18 -

1 1ititI.ii I
|i|s||l||||n

Held Name Text Text Text Text Text Tex! Text Memo Number Date/Time 50 Currency AutoNumber Yes/No OLE Object Hyperlink

idrtn
M*l I I l|

(Ifll I

Description numrul contractului numele abonatului prenumele abonatului adresa abonatului ;sectorul oraului 1numrul pachetului iperti.es

1|| | ,* |

ookip

HleldSlie

ritnil

input M ftsk ' if il lorI I -I.ii ill Vilue Validation Rult Validation Ip*I
Mm jl lilBfj

Lookup Wizard...
No Yes No

Allow / no Iph'jHi liiijpsil


I If ill Mils I OITlpI fu sio n

1 M inis IM l "iiin iMnM odi sm art \*

Yes
No Control None

! The data i type |determine I s' the kind : of values j that users I can store I in the ; field. ! press FI I for help i on data I types.

I)es.2.5. Tabelul Abonai n regim Design.

Pentru cmpul cheie strin - pachet din tabelul Abonai fixm tipul datelor Lookup Wizard... (des.2.6), astfel crend o list fix cu valori pentru acest cmp. Lista (lista derulant) este utilizat pentru ( omoclit.ite la completarea cmpului cu date. Valorile n listele deru lante pol li lixate sau selectate din cmpurile tabelelor/interogrilor. in ( .mpurile de legtur, datele pentru cheia strin sunt foarte imiihmI 1 II selectate din valorile cmpului cheie primar. n cazul , p riiliu cmpul de legtur Pachet din tabelul Abonai, alc tuim o list .1 i u valorile ntlnite n cmpul pachet din tabelul Pachet. iv iitlti ,i 1 1 im lista derulant, urmm indicaiile programului Wizard ( ilf . I. .M l).

Lookup Wizard
This wizard creates a lookup .column, which displays a list of values you can choose from. How do you want your lookup column to get its values? the lookup coiurnn to look up the yaiues in a table or I will type in the values that I want.

Cancel

Next >

Des.2.6. Caseta Lookup Wizard la pasul 1. Lookup Wizard


Which table or query should provide the Values for cduran?

lookup

j
3

Tdbic! Phtite

View -.la tte

Queries

Q B flth

CmcH

- |

<e*Ck

J Ne<t > j

D es.2.7. Caseta Lookup Wizard la pasul 2,

2 0

H IIII IIIIN

Which fields contain the values you want included in your lookup column? The fields you select become columns in your lookup column,

Avflihliln l ielcls:
[cmale

Selected Fields:

m i
Cancel

'

: '

] [

< Back

Next >

V':! -

I)es.2.8. Caseta Lookup Wizard la pasul 3.

Wl \\ mii I order do you want for your list? You I -ii I sort records by up to four fields, in either .im nndlng or descending order . 1 ^ ~ I Ascending 1 A5,:endin,3 ) 1

f-\

: :V :H Q

'! I

: '

Cancel

] I

< Back

Next >

l)cs.2.9. Caseta Lookup Wizard la pasul 4.

2 1

H o w w id e w o u ld y o u like t h e co lu m n s in y o u r lo o ku p co lu m n ? T o a d ju s t t h e w id th o f a colum n., d rag its rig h t e d g e to t h e w id th y o u w an t., o r d o u b le -click t h e

lig ht edge of the column heading to get the best fit,

C ancel

< B ack

N ext >

j j

F in ish

Des.2.10. Caseta Lookup Wizard la pasul 5.

.........

W h a t lab e l w o u ld y o u like fo r y o u r loo kup co lu m n ?

::
T h o s e a r e all th e a n s w e r s th e w iza rd n e e d s to c r e a t e y o u r lookup co lu m n .

j D is p la y H elp o n cu sto m izin g th e lookup co lum n.

C ancel

<

F in ish

Des.2.11. Caseta Lookup Wizard la pasul 6.

n tabelul Achitri, pentru cmpul luna cu ajutorul programului Lookup Wizard creai lista cu valorile cmpului luna din tabelul Luni. - 22-

Number

Tex
4 P h b il I , |.1

Date/Time

Field Properties

'1 .' 1 11|fivM fie . iitin lN ai;ti 1 aif M p I Hill H ill I

Double

M wit Vd u* Vll>IaIInn M id* VallCjitidn l l NfH]l HIB(| lfidr*pi|


M l 111 1.1U i

> w ,0 .........................

:Smart. Tags to be appfed to this ib id

Viumar pozitiv" No

No

ra

l)es.2.12. Tabelul Achitri n regim Design.

Imiplrltii Ubelul cu date.


pachet + 1 +2 | pret 30 60 0
; ji fV li H ji>+j of ! '

canale 20 40 0

['cord: 1H 1

li luna + aprilie + august + decembrie + | februarie ianuarie ' ' 1 ' ' iunie mai mart ......M iluiL' III 1"1 ,1 1 1l 1 ' 1 1 1 11 1 1 1 1li 1 : 1

' ir *

I : ' ;:1 13.......1

"Tf

1......

Drs.2.13. Tabelele Pachet i Luni n regim Datasheet.


-

23

] contract nume + D-259 Florea Rusu + D-457 + D-458 1Negru + D-459 ' Al b + D-517 : Bulrnaga ;

prenume Ana Ion i Dorina : Dorin ; Irina

adresa Chiinu , str Gogol, 128 ap 5 Chiinu, str 1Creang, 26, ap 5 Chiinu, str Gogol, 124 ap 60 Chiinu, str Gogol, 124 ap 45 Chiinu, str 1Creang, 60, ap 15 --

tor

pachet j

j Pecord:

QJT]

'<

iii]
data luna 03.02. 2010 ianuarie 03.03. 2010 februarie 02 . 02 . 2010; ianuarie 05.03. 2010; februarie 09 02. 2010 ianuarie 04.03. 2010: februarie 03"02. 2010 ianuarie 03.03. 2010 februarie 07.02. 2010 ianuarie 07.03. 2010 februarie

||
D-259 D-259 D-457 D-457 D-458 D-458 D-459 D-459 D-517 D-517 60 60 30 30

3 0
30 60 60 30 30

IT

Des.2.14. Tabelele Abonai i Achitri n regim Datasheet.

2.3. Proiectarea relaiilor dintre tabele La proiectarea BD multitabelare, mediul Access permite crearea le gturilor dintre tabele (meniul Tools->Relationships) cu alegerea tipu lui de asociere (butonul Join Type) i asigurarea integritii referenia le a datelor (meniul Relationships->Edit Relationships, vezi des.2.16). Deschidei caseta Relationships (vezi des.2.15). Ca urmare, auto mat se va deschide caseta Show Table; adugai tabelele. Legturile formate cu ajutorul programului Lookup Wizard ntre tabele sunt automat stabilite de sistem.
...h *

'T~'
pachet
rilpret li canale

: contract

linume :prenume .:adresa |sector Ipachet

suma L i; data liluna

Des.2.15. Caseta Relationships.


-

24

I '.ir necesar a stabili legtura dintre tabelele Abonai i Achitri. -li i i.ii cmpul contract din tabelul Abonai i deplasai-l n tabelul wnituri, peste cmpul contract. Sistemul va afia automat caseta Edit llehiilonships. Completai aceast caset conform desenului 2.16 i llvn|l butonul OK. Ca rezultat, va fi creat legtura de tipul one-toimtny Intre tabele (des.2.17).

i
Table/Query; Related Table/Query: Create Cancel Join Type,. Create New.

contract

contract

F I Enforce Referential Integrity 0 Cascade Update Related Fields 1 ............I Cascade Delete Related Records Relationship Type: One-To-Many

I)es.2.16. Caseta de organizare a legturilor dintre tabele.

JM H H
luna
li suma data .luna

I It nl

Des.2.17. Caseta Relationships.

Susinerea integritii refereniale a datelor n BD poate fi conside 1 .1 protejare a datelor de modificrile nedorite.
-

25

La stabilirea legturilor dintre tabele sau modificarea tipului de le gtur avem posibilitatea s definim parametrii integritii refereniale a datelor: Enforce Referential Integrity (impune nregistrarea referenial) prentmpin apariia nregistrrilor n tabelul subordonat ce nu co respund nregistrrilor din tabelul principal. Cascade Update Related Fields (reactualizarea n cascad a cm purilor legate) - permite, ca la modificarea datelor din cmpul cheie primar amplasat n tabelul principal, s fie modificate automat datele corespunztoare din tabelele subordonate. Cascade Delete Related Records (lichidarea n cascad a nre gistrrilor legate) - permite, ca la lichidarea nregistrrilor din tabelul principal, s fie lichidate automat nregistrrile corespunztoare din tabelele subordonate. Exist trei tipuri de relaii: 1 : 1 (one-to-one) - se caracterizeaz prin faptul c unei nre gistrri dintr-un tabel i corespunde o nregistrare din cellalt tabel. 1:M (one-to-many) - se caracterizeaz prin faptul c unei nre gistrri dintr-un tabel i corespund mai multe nregistrri din cellalt tabel. n Access relaia 1:M poate fi creat, dac n tabelul principal cmpul de legtur este cheie primar, iar n cel subordonat - cheie strin. M:M (many-to-many) - se caracterizeaz prin faptul c unei n registrri din primul tabel i corespunde una sau mai multe nregistrri din cellalt tabel, i invers. n Access relaia M:M poate fi creat numai printr-un tabel intermediar.

ntrebri de autoevaluare:
1. Descriei metodele de creare a tabelelor. 2. Enumerai tipurile de legturi ntre tabele. Metode de formare a legturilor n Access. 3. Explicai noiunea de reactualizare n cascad a cmpurilor i noi unea de lichidare n cascad a nregistrrilor? 4. Ce reprezint noiunea de asigurare a integritii refereniale a datelor?
-

26

t ai n suni tipurile de date predefinite n Access? t m im ru i proprietile cmpurilor, citai exemple de proprieti I* * * 1111 u ( .impuri de tipul: number, text, date/time. i Ital rxtimple de descriere a domeniului de aplicare i stabilii cmI it t pmvl ru BD unitabelar, abordnd urmtoarele teme: chioc ci / ji f* ; magazin alimentar; policlinic (registratur); evidena p if ionelului. h u le i inl o BD multitabelar pentru temele propuse n p.12, sta bilit! leciile dintre tabele.

Niiiiini \r ele autoevaluare: lldhoi * 1 l proiectul BD multitabelare, stabilind cheile primare i ibilMijl dintre tabele:
0 v.iibM ii de* p ro d u s e ;

li) biblioteca;
) .<^ d(' imobil; ti) i|*rii|i<* de turism. Mi ut tin raportului individual: 1 i o ila (\v titlu.

Introducere.

f ormularea problemei. 4 Proiectarea BD multitabelare (numrul de tabele n BD se reco mand a fi de la 3 la 5): * schema BD relaionale; tabelele n regim Design i Datasheet. 5 Bibliografie.

27

Lucrarea de laborator nr.3

Tema: Interogri. Interogri de tip Select.


Interogri cu parametru Scopul lucrrii: proiectarea interogrilor de tip Select i cu para metru. Construirea expresiilor logice, calcule pe grupuri.

Noiuni generale 0 interogarea (query) realizeaz extragerea unor date din una sau mai multe tabele/interogri conform unor criterii de selecie precizate de utilizator n vederea vizualizrii i actualizrii datelor din BD sau pentru a crea alte tabele n vederea pstrrii informaiilor. O intero gare nu are date proprii i opereaz cu date din tabelele BD. O interogare de selecie (select query) regsete datele din una sau mai multe tabele/interogri pe baza criteriilor de selecie. De ase menea, se poate folosi o interogare de selecie pentru a forma cm puri calculate sau pentru a grupa nregistrri i a efectua nsumri, contorizri, medii aritmetice i alte tipuri de totalizri. Criteriu de selecie este expresia n baza creia se extrag nregistr rile din BD. Expresia poate conine: constante, variabile (cmpuri), operatori relaionali, operatori logici. Cmpul calculat returneaz, la executarea interogrii, valoarea expresiilor asociate lor. Interogare cu parametru (parameter query) este o interogare care la execuie afieaz propria sa caset de dialog prin care se solicit introducerea unor criterii de selecie sau valoarea ce se insereaz ntr-un cmp. Rndul totaluri se utilizeaz pentru a efectua calcule ntr-o anu mit coloan cum ar fi medii, contorizarea numrului de elemente, gsirea valorii minime, ct i formarea unor grupuri de date [1, 3, 9]. Formularea subproblemei: De formulat enunul i de proiectat interogri de selecie i cu para metru pentru extragerea datelor, la soluionarea anumitelor probleme, din BD multitabelar despre o unitate economic (soluionarea sub problemei este prezentat sub form de exemplele citate mai jos).
-

28

I 1 Interogri de selecie hniiM tnrea interogrilor de selecie n regimul Design View. La i>f ! t i,jr,i interogrilor de selecie n regimul Design View, este posiihi i * ihi^rrea datelor din unul sau mai multe tabele, precum i inteM -t j i ,i eroarea criteriilor de selecie se vor utiliza: n a ra to ri aritmetici: +, -, /, V *, A, nriod; npri.itori relaionali: <, >, =, >=, <=, <>; npnintori logici: And, Or, Not, Like, In, Between; s f mr.i.mte: numerice (1200, 5, 0,...), texte (Toma Ion", 123",...), Halt? calendaristice (#31.10.2010#); li Im tificatori: sunt nume de obiecte Access (tabele, formulare i < )
ijtiaryl |Sttltct Query

P isicii iiblei
Toiul!

L. : B y
5urn Avg
Min

ilhiw :
ill iii* :

l o r ti

it j J

M a x
Var

Co u nt StD e v

---------------------

Dcs.3.1. Caseta Select Query n regim Design View.

< i .etn Select Query n regim Design View (des.3.1) este format lin iii i.li seciuni. Prima seciune - partea de sus listeaz tabelele sau inii uif Hile anexate la interogare, a doua seciune - reprezint grila Intuinurtrli; * lndul Field - se completeaz cu denumirea cmpurilor ce cu|iilml Informaia care urmeaz a fi afiat, printr-un dublu clic pe nuMH'lu i flmpului din tabelele din partea de sus a casetei Select Query;

29

rndul Table - se completeaz automat cu denumirea tabelului sau interogrii de unde vine cmpul nscris n rndul Field; rndul Sort - definete ordinea de sortare; rndul Show - prezena bifei, determin afiareadatelor di cmpul respectiv pe ecran la executarea interogrii; rndul Criteria - conine criterii de selecie a datelor; rndul O r - pentru criterii de selecii suplimentare.

Rndul Total conine urmtoarele funcii predefinite: Avg - media aritmetic; Min - valoarea minim; Count - numrul total de valori; StDev - deviaia standard a First - prima valoare; valorilor; Last - ultima valoare; Sum - suma valorilor; Max - valoarea maxim; Var - varianta valorilor.
Pe lng aceste funcii mai sunt disponibile opiunile Group by, Where i Expression. Opiunea Group By se va utiliza pentru a defini criteriile de grupa re. Ordinea de evaluare a criteriilor de grupare este de la stnga la dreapta. Opiunea Where se va utiliza dac un cmp trebuie utilizat pentru a preciza anumite criterii de selecie, dar nu se dorete efectuarea gruprii dup cmpul respectiv. Opiunea Expression se va utiliza pentru cmpurile calculate ce returneaz un singur rezultat la nivelul grupului.

Exemplul 1. S se proiecteze o interogare care afieaz lista abo nailor ce dein pachetul - 40 canale. 1. n caseta Database executai clic pe pagina Queires de pe bara Objects. 2. n zona de lucru sunt prezente dou regimuri de creare a inte rogrilor: Create query in Design view i Create query by using wizard. Alegei regimul Design View; 3. Ca urmare se deschide caseta Select Query n regim Design View i caseta Show Table (des.3.2), Caseta Show Table conine trei
pagini:
-

30

Uihltn ini lude lista tabelelor create n BD curent; i lunile*, include lista interogrilor deja create n BD curent; pulh ini ludo lista tuturor tabelelor i interogrilor create n BD
U IH Ili l t

$ (luwiyl ! Select Query

Tables

Queries | Both

j Achitri

: Luni
j Pachet

aii.

F iilii

fillet
t f i M F l l

f1 P h iW I

H i

I ii1 , '.2. C'ascta Select Ouery n regim Design.

( lables selectai prin dublu clik urmtoarele tabele: Abonai, /'ui lu'l. Dup anexarea tabelelor la grila interogrii nchidei
i i im 'I.i 'i I i d w l i i h l i .

I ( nm pleUi grila interogrii conform desenului 3.3.


- l a i x j

r
i

H e iim i
M ijite pf iiu r tf ii iJ r ii* Ufe hri

I 1

|1 pi li i a n s le

\ v m te

i!

fi g> i

? Abuii.aU

p re n u m e A b o n a i 0

pachet P achet

c a n a le Pachet 0

ULJ
... Interogarea n regim Design.

5. Specificai criteriul de selecie pentru coloana canale-. 6 . Executai clic pe butonul Save din bara cu instrumente, introdu cei un nume pentru interogare - Abonai_40canale i apoi executai clic pe butonul Ok. Pentru a vizualiza interogarea Abonai_40canale n regim Data- '

sheet View (des. 3.4.) executai clik pe pictograma: ' S i sau S i din bara cu instrumente.

A b o n a ti_ 4 0 c a n a le ; S e le ct Q u e ry

\ Record; IH

contract! nume D-459 Albu D-259 : Flo re a

prenume Dorin Ana (H )

| 2 2 of ii

pachet 1

~ |
ifanale 40) 40

| (

i jJ

Des.3.4. Interogarea abonai_40canale n regim Datasheet

Exemplul 2. Afiai informaia referitoare la abonaii care au n cheiat contracte cu urmtoarele numere: D-517" i D- 459" pentru perioada 01/02/2010-30/04/2010. Completai grila interogrii conform desenului 3.5. : "-"''.. :: "

tbSu Abonai Ascendina 0 "d-5171 ' "d-459"

1prenume j Abonai 1 0

num* Abonai 0

pachet Pachet 0

cre Pachet L 0

SumaAchitata: suma Achitai 0

!, r,. Achitai 0

data Achitai Ascending 0 >=#01.02.2010# And <=#30.04.2010# =#01.02.2010# And <=#30.04.2010#

Des.3.5. Interogarea AbonaiJnfol n regim Design.


contract] prern lilEfcfc] Dorin D-459 Dorin D-459 : Doriri D-517 Irina D-517 ; Irina
Record: H j j|

'

Albu Albu Al b : Bulrnaga Bulrnaga

....... 3 5
actual+ actual+ aclual+ actual actual

AQl
.........

60 60; 60; 30; 30:

60: i 60 februarie 100 martie 30 ianuarie 30 februarie

data 03.02.20101 03.03.2010; 04.04.2010] 07.02.2010; 07.03.20101

Des.3.6. Interogarea Abonai_infol n regim Datasheet.


32 -

t rmflul l Alitii lista abonailor care au achitat factura pe luna N iM iM H r in (!timr*li sau ultimele dou zile ale termenului de achitare (riinMMUl dr tit hit ir i 1 primele zece zile ale urmtoarei luni). ! nrild Interogrii conform desenului 3.7.
contract suma data luna

HRiHimn Aliniiatl

suma Actiitarl_________ Achitri

<#03.02.2010# Or >#07.02.2010#

ianuarie"

L L
! 1,7. Interogarea AbonaiJnfo2 n regim Design.

I N

lliHiftIi i i i l t |MfH t Query *"U lm i| mima prenume 1 ftiHij Ion i *N! Niyiu I inrina t ........... 1 .... t; H i < II 1H 1 J Of

f
suma

II
30 30

.jQ jx j data 1 luna | 02.02 2010 ianuarie 09.02.2010: ianuarie

Mrs, ,N. Inlcrogarea Abonai_info2 n regim Datasheet.

I Ht-mi)lul 4. Creai o interogare care afieaz lista abonailor pentru u aiin.i hltcHd n ianuarie coincide cu preul pachetului: umpluLil frlla interogrii conform desenului 3.10. Mmttm i inpul suma (ntruct valoarea cmpului respectiv trebuie 1 ^ T ,| < vrtlonrea cmpului pre din tabelul Pachet) formai criinHul lf* * Im i (* in urmtorul mod: executati dublu clic pe pictograma
M m /M a* l din brti i de Instrumente Query Design. Ca rezultat se deshl h ! * * l * I* * (ll.ilog Expression Builder (des.3.9). Executai clic pe ) tiu mmp.H.iip
p

IN

, selectai obiectul Tables->Pachet->pret,

pt iii i i llk pe b u to n u l O/c. 33


-

Pentru cmpul luna -n scriem denumirea lunii ianuarie, iar pentru cmpul data - perioada de achitare.
Expression Builder
=[Pachet]![pret]f
Cancel

*/ :

I = > < <>j And Or Not Like i ( )f

Help

CD exemplu Tables CD Abonai D Achitri CD Luni S ] Queries (+] Forms Reports

Des.3.9. Caseta de dialog Expression Builder.

II
pret canale contract nume prenume adresa sectot pachet 1 O Q contract suma data luna

jRj J
i Feid: contract Table: Abonai Sort; Stow: 0 , Criteria: 1: or: ! bY : : " nume Abonai prenume Abonai ....... pachet Pachet 0 pret Pachet 0 suma Achitri 0 [Pachet]![piet] luna Achitri 0 "ianuarie" data Achitri 0 >#01.02.201# And <#11.02.2010#

<U

Ir

I Abonai_info3: Select Query


contractj nume D-457 Rusii D-458 Negru 0-517 Bulmaga Florea D-259 D-459 Albu |

______
prenume Ion Dorina Irina Ana i Dorin

Des.3.10. Interogarea Abonai_info3 n regim Design.

| pachet | actual actual actual actual+ actual+

pret

j 30 30 30 60 60

luna 30: ianuarie 30 ianuarie 30 ianuarie 60 ianuarie 60 ianuarie

J ..
Record:- H

1< i

..

-1.M .1 J o f6

Des.3.11. Interogarea Abonai_info3 n regim Datasheet.


3 4 -

I H ttn fiU il Sil si> determine numrul abonailor pentru firma Omega". S w -JOj.X|
;

1 I Ml: iili'W M ai iui 1 ieu t


- ,

| | -------- 7 11
.

N r^AbonaN
C o u n t O fc o n r a c t

- ini xj


| j Recofd: H i ; 1f*

I1 * * I/ InltMGgiirea Nr_Abonati In h jim Design.

if1

Des.3.13. Interogarea Nr_Abonati n regim Datasheet.

t (>hil f ( r stime de bani a ncasat firma Omega" pentru fieh 1 (in | |i!H*l(* trei luni) a anului 2 0 1 0 . * t.il (41 il.i Interogrii conform desenului 3.14.
jn ix j

FteM? t iM r f

jllH J fv fii'fl!! U jn 'iii

suma
A ch itri

d a ta Achitri W h e re

------ -

Sum

4 * 1

> # 3 1 . 0 1 . 2 0 1 0 # An d < # 0 1 . 0 5 . 2 0 1 0 -:

4 4 * ii|

i i i

\u

S I I Inlrm^area Suma ncasat n regim Design.

- 35 -

i i

W !

g p S u m a Jto c a s& tra ;! luna 1 S u m O fs u m a j| februarie .. j _ 21 Op ianuarie 2 10 J m artie 230 ' [ Record: H [ |P i l

Des.3.15. Interogarea Suma_Incasat n regim Datasheet.

Exemplul 7. Ce sum de bani urmeaz s ncaseze firma Omega de la fiecare abonat n primul trimestru al anului i ct a ncasat de facto. Completai grila interogrii conform desenului 3.16. gfp Sume: Select Query rJPjxJ
7 ..............................

contract
pret canale nume prenume adresa sector pachet \ * v ' ~ contract suma data luna

| \
; ;

Field: Table; Total: Sort: Show: Criteria: or:

contract Achitri Group By

nume Abonai Group By Ascending

TotalSuma: [pret]*3 Group By

SumaAchitata: sum; Achitri Sum

data Achitri Where

-j

0
J jj

0 '

:> = # 0 1 .0 2 .2 0 1 0 # And < = # 3 0 .0 4 .2 0 1 0 #

>

Des.3.16. Interogarea Sume n regim Design.


. r lQ j >S TotalSuma | SumaAchitata | \ 180 22| : 90 so, 180 190:;; 90 90 90 90-

contract D-459 D-517 D-259 D 458 D-457|


R e c o rd : |

] nume Albu Bulmaga Florea Negru Rusu


5 | |

< |j

of 5

Des.3.17. Interogarea Sume n regim Datasheet.

Exemplul 8. Ce sum de bani ncaseaz firma Omega" n medie pentru fiecare lun.
-

36-

nmplH.ti grila interogrii conform desenului 3.18.


lu m ajiied ie : Select Quera _

-la l l

contract
M

data
li ii ia

rifilil! |ima| 1.Nr; Achitri 1ni. ill Group By


nil!

T
i

Suma medie: suma Achitri Avg

iliBWi iii il !
1

jj
*

: :
:
luna aprilie februarie ianuarie mai martie | Suma_medie 48,88866886871; 42 42 30 57 ,5

* IN . Interogarea Sumajnedie n regim Design.

>

-jJ

l-nuord: H j ' II

lh

VI1 ). interogarea Sumajnedie n regim Datasheet.

i Im* * f:,ii cu parametru i Allai informaia complet despre un anumit abonat, m HHiHin.t |hm ioad de timp. -mp!- Li(j j! ||n interogrii. i.tmhil Criteria ~ introducei textul n paranteze ptrate care fi *!i * ! ni rftsnta de dialog a parametrului: , antract - [introducei numrul contractului]; | data > .- [nceputul perioadei] And <=[sfritul perioadei]. i

1 |

num e Field; contract Table: A Abonai bonai Sort: Ascending Show: 0 0 Criteria: [intrewiceti num rul ediRJ

prenum e A bonai 0

pachet A bonai 0

pret Pachet 0

sum a Achitri 0

luna Achitri 0

data A ch iftari Ascending 0 >=[ !1perioaaeiij < l sticiji per aaeij ;

Des.3.20. Interogarea AbonatJ n fo n regim Design.

Salvai interogarea cu numele lnfo_obonot i rulai-o. Ca urmare, se vor deschide consecutiv casetele de dialog ale interogrii cu para metri (des.3.19).
. . introduced numrul contractului ........ .......................... ............_ (D-459 OK '
W '* '

" ' ' f nceputul perioadeii , I jI j 10/01/2010 j 1 .. OK .

'

t i 'j 1

Cancel

Cancel j | ...... ...... .... i

?lxl

j sfritul perioadei | 11/03/2010 1 1 . . OK Cancel

Des.3.21. Casete de dialog Enter Parameter Value.

Introducei valorile respective i tastai butonul Ok (rezultatu executrii, vezi des.3.20).


... . .

| | P Abonat In fo : Select Query contractf nume D-459 Albu D-459 Albu | prenume Dorin Dorm

K' | pachet | : actual; actual-


pret 60 ..............60 | suma | luna 60 ianuarie 60; februarie | data .1 03.02.2010 03.03.2010

__ _

I I

I Record: H j < |i

T ] \ "[.." I V . . . ................ ............ 3 j | j of 3

J
- 38 -

Des.3.22. Interogarea AbonatJ n fo n regimul Datasheet.

I * u % 0

In lu h;iri do autoevaluare: * (hiji noiunea de interogare. tfiiimpi l modalitile de creare a interogrilor n Access, I i( I dr interogri cunoatei? r Mi nt opnratorii, funciile utilizate la crearea cmpurilor calcu lat** its f % I ni It*so utilizeaz rndul Criteria i rndul Or? In <- in * utilizeaz opiunea Group by, Where iExpression? in n Miti.iln (* utilizeaz caseta de dialog Expression Builder? Ijiii j p In de utilizare a operatorilor logici.

nhi* dn autoevaluare: 1 tniijlij abonailor din sectorul B. 1 in hnln ofer firma Omega"? f Ii rtl l solicit pachetul cu 2 0 de canale? 4 in * * pnihhidn nbonaii cu numerele de contract D-517, D-458 iic liifri fm I urile. i hi ihiiii.tji Mint n fiecare sector? i Hi IijiI pentru fiecare pachet? i i < 111I plata ultima dat abonatul Albu? it 1 hitiit de abonai pentru o anumit perioad, u i u Minhi 11n Ihinl ncasat firma n luna ianuarie? iu t ! dn 1 urma s ncaseze firma n luna martie? f i tu ! dn 1 urma s ncaseze firma i ct a ncasat n urma bifrii fm Uli ilor pe luna martie de la abonaii din sectorul C? I f r i i I ncasat firma pe fiecare sector, n urma achitrii frit tiiillni fini lunn ianuarie? * r - - || informaii cu referire la un anumit pachet (cu paraWilPU)i 1 1 i m ! diniifliloi ce au achitat factura pentru o anumit lun. 1 di Infombiia cu referire la abonatul ce deine un anumit numftt d i i ontrm l (cu parametru), i*i * * n iti* Informaia despre achitrile efectuate de un anumit rihiHtat pe < anumit perioad (cu parametru).
V)

Structura raportului individual:


1. Foaia de titlu. 2. Introducere. 3. Proiectarea interogrilor de selecie (formularea enunului pentru fiecare interogare, prezentarea interogrilor n regim Design i

Datasheet). 3.1. interogri de tip Select ce nu conin rndul total, dar conin cmpuri calculate i criterii de selecie; 3.2. interogri de tip Select ce includ rndul total, cmpuri cal culate, criterii de selecie i gruparea se face dup un singur cmp; 3.3. interogri de tip Select ce includ rndul total, cmpuri cal culate, criterii de selecie i gruparea se face dup mai multe cmpuri; 3.4. interogri cu parametru. 4. Bibliografie.

40

Lucrarea de laborator nr.4

Tema: Interogri de aciune


% i opul lucrrii: nsuirea deprinderilor practice n crearea i redac ta h- In kn o p rilo r de aciune n SGBD Access.

Naiuni generale
mi. torurile de aciune (Action Query) sunt interogrile care efecf hlinlbiri la nivelul bazei de date; aceste modificri afecteaz tui .1 Uibelelor (interogri pentru crearea de noi tabele), ct >i i n. h coninute de acestea (celelalte interogri de aciune). De ^ i tmhulf* ui fim prudeni n lucrul cu aceste tipuri de interogri, i tirile lichidate, modificate nu pot fi restabilite, iiiiiMf H mi 11 t |. .ini tipuri de interogri de aciune: - !iiU fn|4 iroa UpDate (de actualizare) este utilizat pentru actua li m n i t | M.li Ai1Hor dintr-un tabel care corespund criteriilor stabilite; - inn lojsiiiM Delete (de lichidare) lichideaz nregistrrile din mfll mulln cibele ce corespund criteriilor stabilite; Append (de adugare) adaug nregistrri dintr-un tutiil n riltul; - hiti 4 ciHtt<M Make-Table (de creare a tabelelor) creeaz un tabel hmi, (m h.i/.i nregistrrilor ce satisfac criteriile stabilite, din unul sau mm ! m ylle inhole nsociate.

t oi mulutvu suhproblemei:
i = lmul.li Miiitiul i de proiectat interogri de aciune pentru a - ii. ii Ih hltlri, ri tictualiza datele i a crea tabele noi n BD multitabeIfMI (im a imil.ih* economic (ca baz pentru soluionarea subr i .hh t i ( i i vi oxemplele de mai jos). i i Ittfi Miluiri pentru modificarea datelor din tabele (Update
t I m p * y)

I pfpctu.i actualizarea datelor, trebuie s se precizeze: it Im - i i ui vor fi modificate i expresia de modificare a l ^ e H i *;h >i i ftmpurih' cu criterii.
-

41

Exemplul 1. Modificai denumirea pachetului din 1 " n Actual" mrii numrul de canale pentru pachetul respectiv cu 5 . 1. Creai o interogare pe baza tabelului Pachet. 2. Includei n rndul Field cmpurile pachet i canale. 3. Selectai opiunea Update Query din meniul Query (des.4 . 1 ). Ca rezultat, titlul constructorului de interogri se modific n Update Query, iar n partea de jos apare rndul Update To (des.4.2).
.'* =f<t V iw in s e rt <2,uery | * W in d o w H elp

US -

gj -,

I -^p{: S e l e c t Q u e r ) '

A g p e n d Q u e r y ... I S Q L S p e c ific

P a r a m e -te r s...

T a b ie :

Pachet

Des.4.1. Proiectarea interogrii de aciune Update.


J l Q ue r/5 : Update Query'

Pdchst

ipachet jpret icanale

Reid: ptamet : Pachet


Update To: 'actual4

canse

Pachet

Criteria; i or:

Des.4.2. Interogarea de aciune Update n regim Design.


-4 2 -

I liiim iliii i>|| n rndul Update To: pentru cmpul pachet - Actual, * itMi I ampul fanale - [canale]+5. Intlii ii in rndul Criteria pentru cmpul pachet criteriul 1. ". liinfli butonul Datasheet View H din bara cu instrumente, ........ < i filijliif* v.ilorile curente ale cmpurilor pachet i canale care ............. i fl modificate. i biilifii propriu-zise vor fi operate numai dup revenirea n i|lm i'' ii/n View i executarea comenzii Run din meniul Query. Ca .... im (im oi mu va aprea mesajul (des.4.3) despre numrul total al ................. ........... lini (,iro urmeaz a fi modificate. Acionnd butonul *1 i efectua modificrile respective. Pentru a renuna la ittHilili. h i lonai butonul No.

(W itr A c c e s s
Voii re about to update 3 row(s}.
( you dick Y e s , you can't use the Undo command to re v e r se the ch a n g e s.

At you sure you w an t to up date th e se re co rd s?

. 'fes

No

lh s.4.3. Confirmarea actualizrii datelor.

Ininogarea atribuindu-i numele Modificore_denumire_conaL

l ' unt m vi/u,iliza rezultatele, deschidei tabelul Pachet (des.4.4),

Abonai (dos.4.5) din grupul de obiecte Tables (tabelul Pachet ni f h i tu t tabelul Abonai; modificrile efectuate n tabelul Pachet mi (i vUuali/rth1 i}\ n tabelul A b o n a i ntruct datele se actualizeaz rtiiti ih h I )

l)cs.4.4. Tabelul Pachet n regim Datasheet.


-43
-

. j Ab o n ai:

^contractf
i Florea

I prenume [

:D457 : Rusu ID-458 I NSru D-45S ibu -517 ; Bulrnags

N o n
Dorina | Dorin Urina

! Chiinu, Chisinau, Chisinau | Chiinu, Chiinu,

adresa I str Gogol, 123 ap 5 str I Creang. 26, ap 5 str Gogol, 124 ap 60 str Gogol, 124 ap 45 str I Creanga, 60, ap 15

sector I p ach e t|

|2 i2

: actual actual actual

rd : <7

l [ of 5

Des.4.5. Tabelul Abonai n regim Datasheet.

Remarc. Interogrile de tip Update se execut, de regul, o sin gur dat. n cazul executrii repetate a interogrii, datele se actuali zeaz n tabele tot de attea ori, de cte ori executm interogarea.

4.2. Interogri de creare a tabelelor (Make-Table) i de adugare (Append) Exemplul 2. Afiai abonaii ce nu au achitat plata pe o anumit lun (luna este introdus de utilizator). Problema dat se va rezolva n trei etape. Etapa I Folosii interogarea de tip Make Table pentru a crea tabelul info care va include informaia despre toate contractele i suma spre achi tare (va fi zero). Procedai n urmtorul mod: 1. Creai o interogare pe baza tabelului Abonai. 2. Includei n rndul Field cmpurile contract i suma. Pentru cmpul suma stabilii suma.O (toate nregistrrile vor avea valoarea zero) (des.4.6). 3. Din meniul Query alegei opiunea Make Table Query. n caseta de dialog Make Table indicai numele noului tabel (info) i tastai Ok (des.4.6).

:contract

Make New Table TabieName: jr-.foj

inunie

lixenmw

Current Database
: Another Database:

Table: I Abona ii Sort: j Show:

Des.4.6. Interogarea CreareaJabeliilui info n regim Design.


44

n final, salvai interogarea cu numele Crearea_tabelului_info. Pentru a lansa interogarea, executai dublu clic pe denumirea ei sau dac suntei n regim Design tastai butonul Run ! . Pentru a putea vizualiza rezultatele, deschidei tabelul info (des.4.7) din grupul de obiecte Tables.
..I in fo :Table

contract
D-457 D-453 D-459 D-517

Record: Q jJ J

1 | [ H |>* j of 5

Des.4.7. Tabelul info n regim Datasheet.

Etapa II Prin intermediul interogrii de tip Append, adugai n tabelul info Informaia despre plile efectuate de abonai pentru luna aleas de utilizator (n cazul nostru va fi luna martie). Remarc. La crearea interogrii de tip Append se anexeaz tabelul (sau tabelele) din care se preiau datele. 1. Creai o interogare pe baza tabelului Achitri. 2. Includei n rndul Field cmpurile: contract, suma i luna. Pentru cmpul luna scriei criteriul: [introducei luna] (des.4.8).
y|l U 'im y i; Append Qyc-% AWb.ri .......... t' ^

|8
Append To Table Na^e:

r.lA ln
Imn

Current-Database Another Database:

htkJi tablei
flori:

Iks.4.8. Interogarea Adaiigarea_datelorJa_tabelulJnfo n regim Design.


-

45

3. Alegei din meniul Query opiunea Append Query. Pe ecran apare caseta de dialog Append (des.4.8). Din lista derulant Table Name selectai numele tabelului info n care vor fi copiate noile nre gistrri i tastai Ok. 4. Ca rezultat, titlul constructorului de interogri se modific n Append Query, iar n gril apare rndul Append To (des.4.9), unde urmeaz s selectai cmpurile n care se vor aduga datele din listele derulante respective.
3 Adaugarea_datelor_la_tabelulJnfo : Append Query

ika-j

Field; |contract Table: j Achitri Sort: :i ------ ------ 1 Append To: |contract

suma Achitri suma

luna Achitri

Des.4.9. Interogarea Adaugarea_datelor_la_tabeliil_info n regim Design.

5. Salvai interogarea cu numele Adaugarea_datelor_la_ tabelul_ info. Lansai interogarea, n caseta de dialog indicai luna (des.4.10):
Enter Parameter Value introduce!} luna ;martie 1 . *

1i

Cancel

Des.4.10. Caseta de dialog care solicit parametrul.

6. nregistrrile vor fi adugate n tabelul info (des.4.11).


-j

info: T able
c o n tr a c t D -5 1 7 D -2 5 9 D -4 5 8 D -4 5 7 D -4 5 7 D -4 5 9 D -4 5 8 D -2 5 9

i c:?
sum a

.......... ,

o|; ol ol ol
3d 100]; 30; : 70

1 i .1 Des.4.11. Tabelul info n regim Datasheet. R eco rd : jM | j

Remarc. Interogrile de tip Append se execut o singur dat. n cazul executrii repetate a interogrii, datele se adaug n tabele tot de attea ori, de cte ori executm interogarea.
Etapa III La aceast etapa proiectai tabelul datorii cu ajutorul interogrii Make-Table. 1. Creai o interogare pe baza tabelului info. 2. Includei n rndul Field cmpurile ce se vor conine n tabelul nou: contract i suma. Pentru a calcula totalurile, includem rndul Total (completai grila conform des.4.12) n cmpul suma indicai condiia 0 - vor fi selectate nregistrrile cu abonaii care nu i-au achitat facturile.
;Jp J M k e Tabfe Query ; crn 05 7Z

M a k e T a b le M ate New Table

1t ?
datoriij

!
:. Fieid: Table: Total: Sort: Show : [ Criteria: f

Tab ieN am e:

I JJ2L ., J 1
Cancel j

# Current D atabase
f)
Another Database:

.................................... j

! >

: 1

Des.4.12. Interogarea Crearea Jabehilui_datorii n regim Design.


-

47

3. Din meniul Query alegei opiunea Make-Table Query.1 n caseta de dialog Make-Table indicai numele noului tabel (datorii) i tastai
O/c.

4. Salvai interogarea cu numele Crearea_tabelului_datorii. Pentru a vizualiza rezultatele deschidei tabelul datorii (des.4.13) din grupul de obiecte Tables.

Des.4.13. Tabelul datorii n regim Datasheet.

4.3. Interogri pentru lichidarea nregistrrilor din tabele (Delete Query) Exemplul 3. Lichidai abonatul cu contractul D-457, care nu mai solicit serviciile firmei. Pentru soluionarea acestei probleme creai copiile tabelelor Abonai i Achitri, pentru a nu modifica datele din tabelele-surs. 1. Cu ajutorul interogrii Crearea_copie_tabelului_Abonati de tip Make-Table creai copiile tabelelor Abonai i Achitri: Copie_tabel_ Abonai (des.4.14) i respectiv Copie_tabel_Achitari (analog crerii tabelului Copie_tabel_Abonati).

Des.4.14. Interogarea Crearea_copie Jabelului Abonati n regim Design.


-

48 -

2. Deschidei tabelul Copie_tabel_Abonati n regim Design i sta bilii cheia primar pentru cmpul contract. 3. n caseta Relationships (des.4.15) stabilii legturile perma nente dintre aceste dou tabele (pentru a lichida datele concomitent din ambele tabele).
*'f Relationship? icp' ip j

Edit Relationships
/Q uery: Rele ted T ab le/Q u ery: I j OK Cancei

j Copie_tabe!_Abon< Ic o p ie Ja b e i.A c h it ri

I contract

contract

join Type,,

f j En fo rce R e f e r e n t Integrity i Q C a s ca d e U pdate Related Fields

j Cre a te New, ,

j C a sca d e De ie ts Related R eco rd s


Relationship T y p e One -To -Many

Des.4.15. Stabilirea legturilor dintre tabelele Copie J a bel_Achi tari i Copie_tabel_Abonati.

4. Creai o interogare pe baza tabelului Copie_tabel_Abonati (tabelul Copie_tabel_Achitori nu se anexeaz la interogare, deoarece este stabilit legtura dintre aceste dou tabele i opiunea Cascac/e Delete Related Records este selectat). 5. Selectai opiunea Delete Query din meniul Query. Ca rezultat, titlul constructorului de interogri se schimb n Delete Query, iar n gril apare rndul Delete. 6. n rndul Field includei cmpurile care vor fi afiate sau pentru care vor fi specificate condiiile de selecie, adic cmpurile contract, nume, prenume. Ca rezultat, n celulele respective pentru fiecare cmp apare opiunea Where (din engleza - unde, n carej (des.4.16). 7. Introducei n rndul Criteria criteriile de seleciei. n cazul nostru, pentru cmpul contract scriem condiia D-457 (des.4.16).

49

secto r

r .................................. ................. F ie ld : T a b le : D e le t e : C r it e r ia : o r:

C o p i e _ t a b e i_ A b o n a W h ere j d -4 5 7 *

i-

num e C o p ie _ t a b e l_ A b o n a W h e re

p ren u m e C o p ie _ t a b e i_ A b o n a W h ere

........ *

< 1 :

Des.4.16. Interogarea Lichidarea contractului_d457 n regim Desig.

8. Pentru a vizualiza lista nregistrrilor care urmeaz a fi excluse, acionai butonul (Datasheet View) din bara cu instrumente. Ca rezultat, obinei fereastra reprezentat n desenul 4.17.
_ip Li ch ida rea_c on tra ctu Iu i_d457 : Delete Query
contract
zk.
jggSj

i Ru s

prenume Ion

Record: j M j: j |

1 [> . 1

Of

Des.4.17. Datele ce vor fi lichidate din tabelul Copie_tabel_Abonati.

9. Dac rezultatele obinute n p.8 sunt cele dorite, revenii n re gimul Design View pentru a elimina nregistrrile selectate, executai comanda Run din meniul Query sau acionnd butonul (Run) din bara cu instrumente. Ca rezultat, pe ecran apare un mesaj despre numrul total de nregistrri care urmeaz a fi lichidate. 10. Salvai interogarea cu numele Lichidarea_contractului_d457.
-

50

Exemplul 4. Lichidai toate datele din tabelul Copie_tabel_Achitari. 1. Tabelul Copie_tabel_Achitari este deja creat (vezi ex. 3, p .l). 2. Creai o interogare pe baza tabelului Copie_tabel_Achitari. 3. Selectai Delete Query din meniul Query. Ca rezultat, titlul con structorului de interogri se schimb n Delete Query, iar n grila inte rogrii apare rndul Delete. 4. Pentru a anexa tabelul la grila interogrii, selectai cmpul ce este marcat cu semnul *" din tabelul Copie_tabel_Achitari i includei-l n rndul Field (des.4.18). Ca rezultat, n celula respectiv din rndul Delete apare opiunea From (din englez - din, de laj. n cazul dat, n rndul Criteria nu se introduce nici un criteriu. 5. Salvai interogarea cu denumirea Lichidarea_datelor_din_ copie_ tabelul_ Achitri.
;JJ L f c h id a r e a jf a t e io r _ d i n _ c o p ie _ t a b e l u l _ A c h t t a r i ; D e le te Q u e p / I II 1 3 i M 3 l

----------------------- Field:. Copie_tabd_Achitari. * Table: Copie tabel Achitri Delete:: Criteria:: or::
*

----1 u
i

.... - ....

Des.4.18. Interogarea Lichidarea-datelorjiin_copie_tabelul_Achitari n regim Design.

ntrebri de autoevaluare:
1. Ce nseamn interogri de aciune? 2. Cum poate fi vizualizat rezultatul interogrilor de aciune? 3. Ce aciune ndeplinete interogarea Make-Table ? 4. Pentru ce se utilizeaz interogarea Append ? 5. n proiectul interogrii de tip Append indicm tabelul din care se adaug datele sau tabelul la care se adaug datele? 6. De cte ori se poate executa interogarea de tip Append ? Argu mentai rspunsul.

7. Pentru ce se utilizeaz interogarea Update? 8. Pentru ce se utilizeaz interogarea Delete ? 9. Explicai n ce cazuri la interogarea de tip Delete se utilizeaz opiunea From i n ce cazuri - Where. 10. Care este deosebirea dintre acionarea unei interogri de tip Append sau Make Table de una de tip Select? 11. Cum putem deosebi tipurile de interogri pe pagina Queries?

Subiecte de autoevaluare:
Pentru consolidarea cunotinelor i a deprinderilor nsuite nde plinii urmtoarele sarcini: 1. Schimbai denumirea pachetului 2 n actual +. 2. Afiai lista abonailor ce au achitat parial abonamentul pe luna aprilie. 3. Afiai lista abonailor ce au achitat un avans pentru luna.... 4. Creai tabelul Contract. De stabilit legtura cu tabelul Abonai. Com pletai tabelul Contract n modul urmtor: fiecrui abonat i cores punde un numr de contract, contractele se ntocmesc pe 6 luni. 5. Creai un tabel n care se vor include datele despre abonaii a cror contract a expirat n luna mai. Creai o copie de rezerv. 6. Lichidai informaia despre abonaii a cror contract a expirat n luna mai i nu au datorii. 7. Facei o copie a tabelului Achitri. Lichidai din tabelul Copie_Achitari informaia despre abonaii ce au achitat plata pentru lunile ianuarie i februarie.

Structura raportului individual:


1. Foaia de titlu. 2. Introducere. 3. Proiectarea interogrilor de aciune (formularea enunului pentru fie care interogare, prezentarea interogrile n regim Design i Datasheet). 3.1. Make-table query; 3.2. Append query; 3.3. Update query; 3.4. Delete query. 4. Bibliografie.
-

52

Lucrarea de laborator nr.5

Tema. Crearea macrocomenzilor (Macros)


Scopul lucrrii: \nsuirea deprinderilor practice n crearea i redac tarea macrocomenzilor. Noiuni generale O macrocomand este un instrument care permite ridicarea gra dului de eficientizare a activitilor. Crearea macrocomenzilor n aplicaia Access poate fi efectuat n dou moduri: - prin utilizarea limbajului Visual Basic for Applications - VBA; - prin utilizarea macrocomenzilor, care reprezint o form simplifi cat a limbajului de programare VBA. n cadrul macrocomenzilor pot fi incluse un anumit numr de aciuni. La selectarea unei aciuni urmeaz a fi completate argumentele soli citate pentru aciunea dat. Microsoft Access ofer un numr mare de aciuni ce pot fi executate n cadrul macrocomenzilor. Cele mai des utilizate sunt prezentate n tabelul 5.1. Tabelul 5.1 Aciuni, destinaia lor i argumentele Argumentele Destinaia Aciunea Macro Name (numele macroRunMacro Lanseaz pentru comenzii) execuie o Repeat Count (numrul de repetri) macrocomand Repeat Expression (criteriul de repetare) OpenQuery Afieaz cererea Query Name (numele cererii) View (regimul de vizualizare) selectat n Data Mode (regimul de date) regimul ales Report Name (numele raportului) Afieaz ra OpenReport View (regimul de vizualizare) portul selectat Filter Name (numele filtrului) n regimul ales Where Condition (condiiile de selecie) Window Mode (regimul ferestrei)
-

53

OpenTable

DeleteObject

OpenForm

Afieaz tabelul selectat n regimul ales Lichideaz obiectul indicat (ales) Afieaz for mularul selectat n regimul ales

Table Name (numele cererii) View (regimul de vizualizare) Data Mode (regimul de date) Object Type (tipul obiectului) Object Name (numele obiectului) Form Name (numele formularului) View (regimul de vizualizare) Filter Name (numele filtrului) Where Condition (condiiile de selecie) Window Mode (regimul ferestrei) Object Type (tipul obiectului) Oject Name (numele obiectului) Save (salvarea)

Close

Quit

nchide obiectul indicat sau fereastra activ (dac lipsete argumentul) Iniiaz ieirea din Access

Options (parametrii)

Formularea subproblemei:
De proiectat macrocomenzi pentru automatizarea activitilor i mbuntirea funcionrii formularelor, rapoartelor i controalelor n BD multitabelar a unei uniti economice (ca baz pentru soluio narea subproblemei pot servi exemplele de mai jos).

5.1. Crearea macrocomenzii Exemplul 1. Creai o macrocomand care va afia informaii de


spre abonaii ce nu au achitat plata pe luna cerut de utilizator. Pentru soluionarea acestei probleme vei utiliza interogrile de tip Make-Table i Append create n LL nr.4. 1. Din caseta Database selectai obiectul Macros, apoi butonul New din bara de instrumente. 2. Se deschide constructorul de macrocomenzi (des.5.1).

54-

j ! : Macro
Action L [ Comment

(to I1G D jEj


|

Action Arguments

Enter an action in this column,

Des.5.1. Constructorul de macrocomenzi n regim Design.

Constructorul de macrocomenzi conine dou seciuni: Action - n care se aleg aciunile necesare ce urmeaz a fi execu tate, fiecare aciune pe o linie distinct. Precizarea aciunii se face prin selectare din lista derulant afiat de Access. Comment-e ste opional i la necesitate se descrie comanda. Prima aciune n exemplul nostru va fi OpenQuery i va deschide interogarea crearea_tabelului_info care creeaz tabelul info (des.5.2).
2 M a c r o l : M a cro
!...

.
O p e n O u e ry IjO p e n R e p o rt

Action !>*

i >

\ _ ; OpenM odiile
I Opentor-edProcedure j O p e n T sb ie
| Qp enY iew

>
Action Argumente

j O u tp utTo
| P rin to u t

Enter an acbon in this column.

Des.5o2. Aciunile care formeaz macrocomanda.

Argumentele sunt uniti de informaii solicitate pentru executarea unei aciuni individuale.

55

Un argument este o valoare care furnizeaz informaii pentru aciune. Anumite argumente sunt obligatorii, altele sunt opionale. Argumentele sunt vizualizate n panoul Action arguments din partea de jos a constructorului de macrocomenzi. 3. Pentru argumentul Query Name selectai din lista derulant denumirea interogrii crearea_tabeluluiJnfo (des.5.3), argumentele View i Data Mode au valori implicite (care dup necesitate pot fi modificate).
M a c r o l : M acro Action ! Comment: O p en Q u ery........................................ Crearea tabelului Info ^ a ju to r u l Interogrii Crearea J a ^ i ^ M n f o :7:; jS 'V - l | *.

1
Action Arguments Q uery -Jsme View Data Mode | A.d su gare a_ d teio rJaJab eiu lJn fo i i A daugarea_datebr J a tabelulJ n f o I Crearea_copie_tabelulu_Abonati j efeci the names o f the Query to open. T he fisi shows a$ queries in. the current database. Required argument. P ress F I for heto'on this argument.

Des.5.3. Argumentele aciunii OpenQuery

4. Adugarea datelor din tabelul Achitri n tabelul info este exe cutat de interogarea Adaugarea_datelor_la_tabelul_info de tip Append). n cmpul Action alegei aciunea OpenQuery i indicai argumentul - Adaugarea_datelor_la_tabelul_info (des.5.4).
.M ac ro i
r M acro Action j 6 r .W -? C rearea: tabeLiut info cu ajutorul ineogari; Crea reaJa b e lU u iJn fo Adaugarea datelor d- tabelul A ch tan la . iabeiui info, foios-m. A d a u g a re a _ d a ce b r_ a Ja b e lu lJn fq " f OpenOuery O penOuery

Acbon Arguments : Q uery Name : Data Mode [Adaugarea_datsior j a ja b e iu ! j n f o ji T .: Datasheet

M i l Z 'Z .
Select Ihe nam e o f the query to open. T he list shows all queries in the current d atabase, Required argument, Press ? l ffcr help on this argum ent

Des.5.4, Argumentele aciunii OpenQuery.

-56-

5. Interogarea Crearea_tabelului_datorii de tip Make-Table (vezi LL nr.4, exemplul 2) creeaz tabelul datorii. n cmpul Action alegei aciunea OpenQuery i indicai ca argument Crearea_tabelului_datorii (des.5.5).
J
1 M a c r o l : I_____________ Acpon______________J____________________________________________________________________________________ Crearea tabelului nfo cu ajutorul interogrii CreareaJtabeluiiJijnfo OpenQ uery Adaugarea cateior d: {abekil A^ita^ri Sa tabelul irifo> foiosinuerere5 A ri5 LiC 3 re a _ d a te io rJa j3 b e iu iJn fe OpenQ uery Crearea tabelului datorii, folosim interogarea Crearea_tabelay_datori; L L OpenQ uery

L
Action Argumente Query Name

V ie w

llia is s io ..... s
l Select the n a n e o fih e query
to open, The list shows a i queries in the current database. Required argum ent, Press F l for help on this argument.

Data Mode

Dcs.5.5. Argumentele aciunii OpenQuery. 6. Afiai tabelul datorii, deci alegei aciunea OpenTable i indicai ca argument datorii (des.5.6).
(d
M a c r o l ; M acro . OpenQuery OpenQuery .i^enQury..., CtoenTatfc j Co ;m en t XCrearea tapelulu: info cu ejuO;pi r:tero9ar4 Creat'ea_abelului Jr:fo ........................ Adaugarea d a e b rd i tabelul Achitri le info, folosim cererea Atfaugarea_fi telor la tabelul =nfc C rearea tabelului datori, foiosan interogarea Crearea Jabeli;i_datotfi ...A fiarea tabsIuM dsor ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Table Nstne ; Data Mode

Des.5.6. Argumentele aciunii OpenTable. 7. Salvai macrocomanda atribuindu-i numele Crearea_si_afisarea_ tabelului_datorii. 8. Lansai macrocomanda, fcnd dublu clic pe denumirea lui sau I ii activnd butonul_: . Ca rezultat apar mai multe casete de dialog n cascad, pentru care alegei butonul Yes.

Remarc. Exist un nume special Autoexec ce poate fi atribuit unei macrocomenzi. Numele Autoexec se poate atribui unei singure m acro comenzi dintr-o aplicaie pentru a desemna macrocomanda ce se execut automat la activarea aplicaiei cu baze de date.

ntrebri de autoevaluare:
1. 2. 3. 4. 5. Ce este macrocomanda? Cte cmpuri are fereastra de proiectare? Ce este o aciune macro? Este obligatoriu sau nu s indicm argumentele? n ce condiii se utilizeaz ca denumire de macrocomand numele

Autoexec?

Subiecte de autoevaluare:
1. 2. 3. 4. 5. 6. S se creeze macrocomenzi pentru: Deschiderea unui tabel - MACRO-1. Ieirea din aplicaia Access - MACRO-2. Rularea unei interogri- MACRO-3. Redenumirea unui tabel - MACRO-4. Lichidarea unui obiect - MACRO-5. Deschiderea unui formular - MACRO-6.

Structura raportului: macrocomenzile vor fi utilizate la proiectarea formularelor (vezi LL nr.8).

Lucrarea de laborator nr.6

Tema: Importarea/exportarea datelor n aplicaia


MS Office 2003 (Access, Excel) Scopul lucrrii: studierea metodelor de organizare a interaciunii ntre aplicaiile MS Access i MS Excel. nsuirea deprinderilor prac tice n exportarea i importarea datelor n mediul Access. Noiuni generale Utilizatorii aplicaiilor Office sunt nevoii frecvent s prelucreze informaii provenite din diferite surse, ceea ce implic necesitatea de a importa i a exporta date. Totodat, este necesar a ine cont c transferul datelor dintr-un format n altul urmeaz a fi efectuat fr erori i pierderi de informaii importante. n lucrul cu datele, pentru comoditate, informaia se pstreaz i se prelucreaz n tabele. Aplicaiile de baz Microsoft Office 2003 per mit lucrul cu tabelele. Fiecare aplicaie are posibilitile sale particu lare, astfel, cu documentele i informaia ntr-un anumit program este mult mai comod de rensrcinat executarea anumitelor proble me altei aplicaii. De exemplu, calculele tabelare se execut destul de comod i uor n Excel. Prin urmare, va fi necesar exportarea datelor din Access n Excel. n aplicaiile MS Office pentru schimbul datelor sunt prevzute trei tipuri de aciuni: 1) exportul (trimiterea datelor); 2) importul (primirea din extern a datelor); 3) legtura. n cazul aciunilor de import i export, rezultatul obinut nu este legat de datele iniiale, dar este o copie (adic, toate modificrile ulterioare asupra datelor n aplicaia-surs nu vor conduce la modi ficarea datelor n aplicaia-receptor). Doar aciunea de legare a datelor permite pstrarea lor n documentul-surs (modificarea datelor n aplicaia-surs duce la modifica rea datelor n aplicaia-receptor i invers). Astfel, n lucrul cu o surs de date legtura permite s utilizm posibilitile diferitelor aplicaii.
-

59-

Formularea subproblemei: De formulat probleme pentru exportarea/importarea datelor din/ n BD multitabelar pentru o unitate economic (ca baz pentru solu ionarea subproblemei pot servi exemplele de mai jos).

6.1. Exportul datelor din Access n Excel


Ct de comod i productiv ar fi prelucrarea datelor n BD Access, totui, mijloacele lui de calcul sunt mult mai restrnse dect n Excel. Pentru a trimite datele din Access n Excel, n caseta Database a aplicaiei Access este necesar a selecta tabelul, interogarea, forma sau raportul, apoi a executa comanda Tools-Office Links -> Analyze it

with MS Excel. Exportul datelor din Access n Excel l vom prezenta n baza exem plului 1. Exemplul 1. Este necesar a calcula datoriile abonailor i avansul achitat de abonai pentru luna martie. Pentru soluionarea acestei probleme crem tabelul info2 privind colectarea informaiei de achitare pentru luna martie (a se vedea LLnr.4). Creai o copie a interogrilor Crearea_tabelului_info, Adaugarea_datelor_ la_tabelul_info i redenumii-le (corespunztor Crearea_tabelului_info2 i Adaugarea_datelor_la_tabelul_info2). Deschidei interogrile men ionate mai sus n regim de design i efectuai urmtoarele modificri: pentru ambele interogri modificai denumirea tabelului info2 (des.6.1-6.2). ' * li: - ' v : - -. '

contract
lijnume | prenume |i ad resa || sector pachet

Table Name: 0

;jnfo2j

Cu rren t D atabase

O Another Database:

Field: Table: Sort: Show : Criteria:

contract Abonai

suma: 0

.
<

pi

i >

Des.6.1. Interogarea Crearea tabelului Jnfo2 n regim Design.


-

60

1^^
Ap p en d To T ab le Nam e: |jnfo2

I con tract
I sum a j d a ta |: luna

C u rre n t D a tab a se A n o th er D a tab a se :

<
Field: Table: So rt: j A pp e n d To: con tract sum a co n tract Achitri sum a Achitri luna Achitri

>

IM ^ v ::::;

.. ' 1 1 * mm !
lf | | |

Des.6.2. Interogarea Adaugarea_datelorJa_tabelid_info2 n regim Design.

n continuare executai ambele interogri. Rezultatul este prezen tat n tabelul info2 (des.6.3).
contract
::urna

D-459 D-517 " D-259 " D-458 ! D-457 ' D-457 " D-459 " D-458 ' D-259

II I Og 'O l Oj Ol Ol 30 io o l 30J 70

S mI H

* o B l

Des.6.3. Tabelul info2.

Datele din tabelul info2 se utilizeaz pentru crearea interogrii informatii_abonati (des.6.4). Informaia obinut cu ajutorul interogrii informatii_abonati se folosete pentru calcularea avansului depus de ctre abonai i a da toriilor abonailor. Calculele sunt efectuate n Excel, n prealabil n deplinind exportul datelor - selectai interogarea informatii_abonati i consecutiv selectai comenzile pentru exportarea datelor (des.6.5).

icontract suma

n u m e
:sector

contract

iprenume Iadresa ipachet

contract Table; Abonai Group By Show; Criteria;

num e Abonai Group By

prenume A b o n ai Group By Abonai Group By

jsuma Group By Group By

Des.6.4. Interogarea informaii abonai.


lo o ls | Window Help Adobe PDF F7 I Online Collaboration Relationships.., Analyze Database Utilities Security Replication Startup ... Macro Modificare_denumire_canal ActiveX Controls... [gp Add-Ins AutoCorrect Options.. Customize... O ptions... ;p Nr Clienilor raport raport2 Stergerea_datelor_din_tabelul_Copie_tabel_Pachet Suma_Incasata I p ij j Merge It with Microsoft Office Word Publish It with Microsoft Office Word Analyze It with Microsoft Office Excel

%?

Spelling..,

'
|sign
I

.....
i
Exemplul2 ExemplulS

rfpNew | X

" [EE j il ll

; j i
:

Xf

Des.6.5. Instruciunile necesare pentru exportarea datelor.

MS Access va salva interogarea n form de document MS Excel (.xls) i-l va deschide n cartea de lucru MS Excel. Fiierul se pstreaz sub acelai nume ca i interogarea informatii_abonati.
-

62

Remarc. Fiierul cu numele tabelului, interogrii sau al altui obiect din BD se pstreaz n directoriul de lucru curent (implicit C:\My Documents). Rezultatul executrii comenzilor este prezentat n desenul 6.6.
A ...... . ................. .......... 1 contract I nume J prenume | 2 ; D-259 Florea Ana |Chiinu, T Rusu Ion :Chiinu, ....... i D-457 j D-458 j Dorina Negru Chiinu, 5 1D-459 ibu Dorin : Chiinu, 6 D-517 Bulmaga Irina iChiinu, i 71 .................................................... 0
adresa

i |
sum a |

F
pachet

'
1

G
P.fet

str str str str str

Gogol, 128 ap 5 I Creang, 26, ap 5 Gogol, 124 ap 60 Gogol, 124 ap 45 1Creang, 60, ap 15

70 30 30 100 0

actual+ actual actual actual+ actual

60 ..............30 30 60 30

Des.6.6. Tabelul obinut n Excel.

n continuare, redenumii coloana Sum-Suma n suma. Completai tabelul adugnd trei coloane: datoriii, avans, de lucru (des.6.8). n coloanele de lucru, datorii, avans includei formulele prezentate n des.6.7 i copiai-le pn la rndul ase inclusiv. Valorile coloanei de lucru vor fi utilizate pentru calcularea avansului i datoriilor. Valorile negative din aceast coloan denot faptul c abonatul a pltit mai mult dect costul pachetului (avans); 0-c pachetul este achitat n ntregime; numrul pozitiv exprim suma datoriei (abonatul fie c n-a achitat sau a achitat parial). Salvai modificrile n fiierul informatii_abonati i nchidei-l.

[ ' ' IL', '.7 B 7 X'X L I " T I T I 11''i t : ~ ] I j '"'7FTTT 1 (


: i a*ans | fjlu c fll

j 2 D-259

Florea

Ana

Chisinau, sir Gogol, 128 ap 5

70

actual-

60=IF(J2>=0;J2;0):=IF(J2<0;ABS(J2);0)

Des.6.7. Tabelul n regim de formule.


T;
2 3 4 5 6 A .... contract i D-259 ; D-457 ] D-458 j D-459 iD-517 | nume Florea Rusu Negru Albu Bulmaga | prenume Ana Ion ; Dorina j Dorin Irina

D. . . . . adresa 128 ap 5 Creang, 2 6 ,ap 5 24 ap 60 24 ap 45 Creang, 60, ap 15

.....

j suma

. . . . . .

F. . . . ' G . . . . H ' . . . . . . . . . . . I . . . . . . ). . . . . JJ | pachet 1 pret | datorit | avans | de lucru j 70 actual+ 60; 0 10 -10 30 actual ....... 30' 0 ........0 0 30 actual ...... 30 ....oi 0 .......0 60 40 100 actual + j 0 -40 0 actual ' 30: 30 0 30:

Des.6.8. Tabelul obinut n Excel cu modificrile ulterioare.

6.2 Importarea i legarea datelor n Access


Transferul informaiei n Access este posibil cu ajutorul importului sau prin stabilirea legturii cu datele-surs. Importul - n meniul File selectai comanda Get Externai Data ->

Import.
-

63

Pentru stabilirea legturii tabelului extern cu BD, este necesar a executa comenzile din meniul File - Get External Data -> Link Tables. Exemplul 2. S se execute transferul datelor din cartea de lucru Excel (informatii_abonati.xls) n Access (data2.mdb): din meniul File selectai comanda Get External Data -> Import (des.6.9).
; File 1 Edit View Insert lools Window Ctrl+N Ctrl+O Help 1 I ' ft 0 ; Import... 14^3 Link Tables... > Adobe PDF

JJ
I 5

New...

I ,,

..... ,| _
Get External Data Close

Open...

1
L

Des.6.9. Instruciunile necesare pentru importarea datelor.

n caseta de dialog deschis Import selectai tipul fiierelor Micro soft Excel, selectai fiierul-surs, n cazul nostru informapfi_abonati.xls i acionai butonul Import.
Look [n: i

. Visual FoxPro Projects ; My Recent Documents : .... Paint.NET ; >1

ESookl.xls Si.1ex.xls
-3ln at.xls

I File name: My Network Places


j

Fi,es of type:

Microsoft Excel (*.xls)

Des.6.10. Caseta Import.

Dup aceste aciuni lucrul este continuat de programul Wizard, care permite importarea n Access a coninutului foii de lucru Excel. Urmai instruciunile programului Wizard (des.6.11-6.15.).
-

64-

! to te

M icrosoft A c c e s s ca n u s e yo u r column h e ad in g s a s field n a m e s for you r tab le. D oes th e first row sp ecified co n tain column h e ad in g s? hTj |First R o w C o n ta in s Colum n H ead in g s

contract D-259 2 D-457 3 D-458 4D-459 5 D-517


1

nurne Florea Rusu [ Jeg ru Albu Bulmaga

prenurne Ana Ion Dorina Dorin Ir in a

adresa Chiinu, Chiinu, Chiinu, Chiinu, Chiinu,

s tr s tr s tr s tr s tr

Gogol, 128 I Creang, Gogol, 124 Gogol, 124 I Creang,

ap 26, ap ap 60,
.1

|
C a n ce l N ext >

Finish

Des.6.11. Caseta Import Spreadsheet Wizard la pasul 1.

m
Y o u c a n s t o re y o u r d a ta in a n e w ta b le or in a n e xistin g ta b le . W h e r e w o uld y o u like to s t o re y o u r d a t a ? !ln a N e w T a b le In a n E x is tin g T a b le :

contract D-259 2 D-457 D-458 4 D-459 5D-517


1 4

nimie Florea Rusu Megru Alb u Bulmaga

prenume Ana Ion Dorina Dorin Ir in a

adresa Chiinu, Chiinu, Chiinu, Chiinu, Chiinu,

s tr s tr s tr s tr s tr

Gogol, 128 I Creang, Gogol, 124 Gogol, 124 I Creang,

ap 26, ap ap 60, |

j,i
j Cancel I J < B ack | N ext >

Fin ish

Des.6.12. Caseta Import Spreadsheet Wizard la pasul 2.


65 -

'm
Field O p tions I Field N am e: I In d e x e d : ;Mo jv ..............

,.

Vou ca n s p e c ify inform ation a b o u t e a c h of th e fields yo u a re importing. S e le c t field s in th e a re a below . Vou ca n th e n modify field inform ation in th e 'Field Options' a r e a . ...................................................................................................................................

'

Do not import field (Skip)

contract 1D-259 2 D-457 3 D-458 E l D-459


D-517

nume Florea Rusu Megru Albu Bulmaga

prenume Ana Ion Dorina Dorin Irin a

|adresa [Chiinu, Chiinu, Chiinu, Chiinu, Chiinu,

s tr s tr s tr s tr s tr

Gogol, 128 I Creang, Gogol, 124 Gogol, 124 I Creang,

ap 26, ap ap 60,

1 ! i L J
C a n ce l

-If

Des.6.13. Caseta Import Spreadsheet Wizard la pasul 3.

mm l i O i i f e i

M icrosoft A c c e s s re com m en ds th a t y o u d efin e a p rim ary ke y for y o u r n e w ta b le . A prim ary k e y is u s e d to un iq u ely id e n tify e a c h re co rd in y o u r tab le . It allow s yo u to r e trie v e d a ta m ore quickJy.

Le t A c c e s s ad d p rim ary ke y, C h o o s e m y ow n p rim ary k e y , .......................

(jIM g prim ary k e y .

contract nume Florea Rusu Megru 3D-458 Albu 4 D-459 D-517 Bulmaga 1 D-259 2_D-457

prenume Ana Ion Dorina Dorin Irin a

adresa Chiinu, Chiinu, Chiinu, Chiinu, Chiinu,

s tr s tr s tr s tr s tr

Gogol, 128 I Creang, Gogol, 12 4 Gogol, 124 I Creang,

ap a : 26, ap ap 60,

J .U
j C ancel I < Back * N e xt > | [

Finish

Des.6.14. Caseta Import Spreadsheet Wizard la pasul 4.


-

66

j i j j l i y t i sj f d i l i ^ 4 fe V i

ji

That's all the information the wizard needs to import your data.

Import to Table: }informatii_abonati_martie|

I would like a wizard to analyze my table after importing the


data.

Display Help after the wizard is finished.

Des.6.15. Caseta Import Spreadsheet Wizard la pasul 5.

Tabelul informatii_abonati_martie va aprea n domeniul de lucru al paginii Tables din caseta data2.

Exemplul 3. Creai o copie a fiierului informatii_abonati.xls i redenumii-l informatii__abonati2.xls. Fiierul redenumit va fi utilizat pentru legtur. ndeplinii urmtoarele aciuni: File -> Get Externai Data -> Link Tables, (des.6.16).
File

\ Edit
New... Open...

View

Insert

Jools

Window Ctrl+N Ctrl+O

Help

Adobe PDF

!
1

. . . . . . . ^

Get External Data Close


1
. ...

i -rj

Import... Link Tables. ..

...7 ;...... .............. ;.......... ......................................................... .........

Des.6.16. Instruciunile necesare pentru legarea datelor.


-

67

Lansai programul Link Spreadsheet Wizard, paii cruia sunt ana logii cu aciunile Import Spreadsheet Wizard. La ultimul pas indicai numele tabelului - informatii_abonati2. Ca rezultat va fi stabilit leg tura dinamic cu datele din Excel, iar n lista tabelelor din BD Access va aprea tabelul informatii__abonati2, nsemnat cu o pictogram n form de sgeat (des.6.17), care indic c tabelul dat este legat.

33Open igDesign Jftew Objects _J jjl Tables Queries Forms Reports Pages
2

-fi > [ ! informatii_abonati_martie informatii_abonati2_martie Luni Pachet

I j ijy

Create table in Design view Create table by using wizard Create table by entering data Abonai Copie_tabel_Abonati

i S i

j:fv]

i l l

Macros Modules

Copie_tabel_Achitari Copie_tabel_pachet datorii info2

info

\ i

Favorites

Des.6.17. Caseta BD datal.

Dup stabilirea legturii, datele ce sunt pstrate n tabelul legat pot fi prelucrate att n Excel ct i n Access. Dac n continuare fiierul-surs va fi redenumit sau transferat n alt map, atunci legtura va fi ntrerupt. Pentru restabilirea leg turii va fi necesar a indica amplasarea nou a fiierului-surs cu aju torul comenzii Tools -> Database Utilities -> Linked Table Manager.

ntrebri de autoevaluare:
1. 2. 3. 4. Ce este importul, exportul datelor? Cum se realizeaz importul datelor? Cum se realizeaz exportul datelor? Ce reprezint legarea datelor?

Subiecte de autoevaluare:
1. Proiectai tabelul Angajai n BD curent. Introducei n tabel informaia din tabelul 1. Exportai tabelul n Excel. Executai calculele, aplicnd funciile predefinite n Excel pentru a stabili suma ajutorului material acordat angajailor firmei. Suma se stabilete n urmtorul mod: pentru doi i mai muli copii - n mrime de un salariu mediu pe firm pentru fiecare copil. Tabelul cu calculele ndeplinite importai-l n Access. Tabelul 6.1 Lista angajailor firmei Salariu Nr. de copii N. P. 1600 3 Cuco 2 500 Cebanu 5 550 Ivanov 3 100 Andrie 1 2300 Botnarenco 2 1800 Cucut 2 3700 Rusu 2. Proiectai tabelul AngajaH n BD curent. Introducei n tabel informaia din tabelul 2. Exportai tabelul n Excel. Realizai tabelul de calcul al salariului angajailor firmei. Salariul se calculeaz dup for mula: <salariu> = <zile> * <tariful conform categories + < ajutorul material:. Executai calculele aplicnd formulele predefinite. Tabelul cu cal cule importai-l n Access. Tabelul 6.2 Lista angajailor firmei Ajutorul Total Zilele Categoria Salariul Angajaii material Andreev A.A. 20 1 2 Lungu S.P. 10 2 Popa 1 . T. 15 3 22 Duminic I.B. 17 3 Popescu A.D. 1 Coman S.S. 20
-

69

Tabelul 6.3 Creai tabelul Reeaua tarifar n Excel Categoria Tariful Ajutorul material Reeaua tarifar 1 2 50 70 500 700 3 90 1000

Structura raportului individual:


1. Foaia de titlu. 2. Introducere. 3. Exportarea datelor din BD multitabelar (formularea enunului problemei, prezentarea obiectelor utilizate n regim Design i

Datasheet). 4. Importarea datelor n BD multitabelar (formularea enunului problemei, prezentarea obiectelor utilizate n regim Design i Datasheet). 5. Bibliografie.

Lucrare de laborator nr.7

Tema: Crearea rapoartelor n regimul de vizualizare Design


Scopul lucrrii: nsuirea deprinderilor practice n crearea i redac tarea rapoartelor n regimul de vizualizare Design View. Noiuni generale
Raportul este un instrument eficient de prezentare a informaiei stocate n BD prin imprimare. Raportul ofer utilizatorului un control complet asupra dimensiunii i aspectului fiecrui element constitutiv. Regimul de vizualizare Design este destinat pentru crearea de sine stttor a rapoartelor i pentru mprirea raportului n seciuni (des.7.1, p.3), acestea fiind componentele individuale care controleaz ce elemente apar i modul n care sunt formatate. Seciunile raportului: Report Header (Antet raport) - seciunea respectiv se impri m o singur dat, la nceputul raportului. Utilizai antetul raportului pentru a afia informaiile care apar n mod normal pe o copert, cum ar fi o sigl, un titlu sau data. Cnd plasai un control calculat, de exemplu funcia Sum n antetul raportului, suma se calculeaz pentru ntreg raportul. Antetul raportului se imprim nainte de antetul paginii. Page Header (Antet pagin) - seciunea dat se imprim n par tea de sus a fiecrei pagini. De exemplu, utilizai un antet de pagin pentru a repeta titlul raportului sau un antet de tabel pe fiecare pagin. Group Header (Antet grup) - aceast seciune se imprim la nceputul fiecrui grup de nregistrri. Utilizai antetul de grup pentru a imprima numele grupului. De exemplu, ntr-un raport grupat dup luni, utilizai antetul grupului pentru a imprima numele lunilor. Cnd plasai un control calculat care utilizeaz funcia Sum n antetul grupu lui, suma se calculeaz pentru grupul curent. Detail (Detalii) - aceast seciune se imprim o dat pentru fiecare rnd din sursa de nregistrri. Seciunea Detail este locul n ca re se plaseaz controalele ce formeaz corpul principal al raportului. Group Footer (Subsol grup) - aceast seciune se imprim la sfritul fiecrui grup de nregistrri. Utilizai un subsol de grup pentru a imprima informaii rezumative pentru un grup.
-

71

Page Footer (Subsol pagin) - aceast seciune se imprim la sfritul fiecrei pagini. Utilizai un subsol de pagin pentru a imprim,i numerele de pagin sau informaiile pentru fiecare pagin. Report Footer (Subsol raport) - aceast seciune se imprim o dat la sfritul raportului. Utilizai subsolul de raport pentru a impri ma totalurile raportului sau alte informaii de rezumat pentru ntreg raportul. Fiecare element dintr-un raport - cum ar fi un nume de cmp, o valoare calculat sau titlul raportului - este reprezentat n regimul de vizualizare Design de un control. Controalele sunt obiecte care afi eaz date, efectueaz aciuni i permit vizualizarea informaiei, cum ar fi etichetele i imaginile. Mediul Access accept trei tipuri de con troale: legate, nelegate i calculate: Control asociat - un control al crei surs de date este un cmp din tabelul sau interogarea anexat la raport, aceste cmpuri le gsii n caseta Field list (des.7.1, p.4) din bara cu instrumente. Valorile pot: fi text, date sau numere, valori Yes/No, imagini sau grafice. Un control asociat are o etichet ataat, iar eticheta primete numele cmpului n mod implicit. Controlul asociat motenete multe din setrile cmpului din tabelul sau interogarea anexat (cum ar fi proprietile: Format, Decimal Place, Input Mask). Astfel, aceste pro prieti ale cmpului rmn neschimbate atunci cnd creai un control care se asociaz la acel cmp. Control neasociat - un control care nu are o surs de date (un cmp sau o expresie). Utilizai controale neasociate pentru a afia informaii, linii, dreptunghiuri i imagini - din caseta Toolbox (des.7.1, p.2). De exemplu, o etichet care afieaz titlul unui raport este un control neasociat. Control calculat - un control al crei surs de date nu este un text, ci o expresie. Specificai valoarea dorit, definind o expresie ca surs de date pentru control. O expresie este o combinaie de ope ratori (+,-, *,/), nume de controale, nume de cmpuri, funcii (Sum, A v g ,...) care returneaz o singur valoare i valori constante. Exemple de expresii utilizate n rapoarte: ="datornic" - afieaz textul datornic;
-

72

=[Prenume]&" "&[Nume] - afieaz valorile care se afl n cmpu rile din tabel denumite Prenume i Nume incluznd un spaiu ntre ele. n acest exemplu, operatorul & este utilizat pentru a combina aceste dou cmpuri i spaiul; =Year(date())-Year([AnulAngajarii])-calculeaz stagiul de munc; =[Page] - returneaz numrul paginii curente; ="pagina "&[Page]&"din "&[Pages] - returneaz numrul paginii curente i numrul total de pagini; ^"Imprimat la data de: "&Date() - returneaz textul Imprimat la data de: i data curent; =Count([Pachet]) - funcia Count returneaz numrul de nregistrri din controlul Pachet. =Sum(Count([Pachet])*[Pret]) - funcia SUM returneaz suma produsului valorilor din controalele Pret i numrul de nregistrri din controlul Pachet [17].
.rJjQi 21
js i j Report Format j Data j Event I[ Other ^ All 3 |

Record Source.................... , fdportQ ! F ilte r............................ f i l e r O r*.............................. . Order 8 y ...................... Order By O n ....................... Caption Auto

4l

m
No Mo locks

,,

Record lo c k s ....................... .

, < Yes All Pages All Pages , Use System Settings No Mo . Yes Both Enabled , Yes , Per Column

Auto C e n te r.................... .. . . No

4 Page Footer

contract: nume
prenum e

Paqe H e ad e r.................... .. , Page F o o te r.................. Dale Grouptnq * . < ,. Grp Keep T ogether. ,

pret

sumdjM&
surrrjpbfifscta

P opup . ........................... .. , Modal . . . . . . . * . , . . < . . Border Style Control Bo x . , . . . . Mn

, , Stable . .;. ;

M axB uttons_____

Close Button

Z li

Des.7.1. Constructorul de rapoarte n regim Design. 73


-

1 - Foaia de proprieti se utilizeaz pentru a modifica propriety ile elementului selectat. 2 - Caseta de instrumente Toolbox conine toate instrumentele care pot fi utilizate pentru a aduga controale proiectului raportului. 3 - Proiectul raportului este mprit n seciuni. 4 - Caseta FieldList care conine cmpuri din tabelul sau intero garea anexat la raport. MS Access permite operaii de grupare i de sortare a nregistrri lor att la nivelul interogrilor de selecie, ct i la nivelul rapoartelor. Se pot efectua grupri imbricate (sunt permise pn la 10 niveluri de grupare) i se pot sorta datele n interiorul fiecrui grup. Pentru acea sta se utilizeaz caseta Sorting and Grouping prezentat n desenul 7.2. Pentru a deschide caseta Sorting and Grouping, urmeaz ca rapor tul s-l deschidei n regimul de vizualizare Design, apoi tastai clic pe butonul |0=| [Sorting and Grouping) din bara cu instrumente [8].
Sorting and Grouping

Field/Expression contract

liib liiiil Sort Order Ascending ...........

1= Group Properties Group Header Group Footer Group On Group Interval Keep Together Yes Yes Each Value

1
No|

Keep group together on one . page?

_d

Des.7.2. Caseta Sorting and Grouping.

n aceast caset de dialog, din lista derulant a cmpului Field/ Expression sunt selectate cmpurile dup care Access va efectua gru parea i/sau sortarea datelor (cmpul Sort Order). Pentru a efectua gruparea datelor, urmeaz a seta proprietile grupului: Group Header (antet grup) - adaug sau elimin antetul de grup; Group Footer (sub sol grup) - adaug sau elimin subsolul de grup; Group On (grupare dup) - pentru a specifica valoarea sau intervalul valorilor care ncepe
-

74

un grup nou; Group Interval (interval grupare) - pentru a indica nu mrul de caractere care vor fi grupate; Keep Togethe (seciune unit) pentru a pstra/nu pstra mpreun fiecare grup de nregistrri pe o singur pagin. Simbolul l(^> din coloana din stnga denot c i cmpul respectiv este utilizat pentru gruparea datelor [9].

Formularea subproblemei: De formulat enunul i de proiectat rapoarte pentru a prezenta informaia stocat n BD multitabelar a unei uniti economice (ca baz pentru soluionarea subproblemei pot servi exemplele de mai jos).
7.1. Crearea rapoartelor n regimul Design View La crearea unui raport de la zero, cel mai eficient este s adugai i s aranjai, n primul rnd, toate controalele asociate, mai ales dac reprezint majoritatea controalelor din raport. Apoi completai struc tura raportului, adugnd controalele neasociate i pe cele calculate. Exemplul 1. Proiectai raportul - Evidena achitrilor pe ultimele

patru luni. Creai o interogare cu informaia-surs necesar (vezi des.7.3), atribuindu-i numele raportQl.

Vi contract data

%
fi | |

Field: contract Table: Abonai Total: Group Ely Sort: Show: p; Criteria:

nume Abonai Group By pi

prenume Abonai Group By p;

pret Pachet Group By pi

suma_platita: suma Achitri Sum pi

suma_planificata: [pret]*4 Group By M

" f '

................. . . . "

Des.7.3. In tero g are a raportQl n regim Design.

Pentru a proiecta raportul, trecei pe pagina Report n caseta Database i selectai comanda New. n caseta de dialog New Report (des.7.4) selectai regimul de vizualizare Design i indicai sursa de date pentru raport (n cazul nostru selectai interogarea raportQl), activati butonul OK.

75


Report Wizard AutoReport: Columnar AutoReport: Tabular Chart Wizard Label Wizard

Create a new report without using a wizard.

Choose the table or query where the object's data comes from: info2 informatii_abonati informatii_abonati_martie informatii_abonati2_martie Luni NrClientilor Pachet raportQ2 Suma ncasata

Des.7.4. Caseta New Report.

Pe ecran va aprea raportul n regimul de vizualizare Design (des.7.5). Salvai raportul cu numele raportRl. n timpul sesiunii de lucru salvai periodic modificrile efectuate. ncepem proiectarea raportului de la antetul raportului. Din meniul View selectai comanda Report Header/Footer. Ca urmare, n raporl vor fi adugate nc dou sectoare. Selectai butonul labei din casetei de instrumente Toollbox i plasai cursorul n sectorul raportului Report Header (cursorul va lua forma unui plus). n continuare apsai butonul stng al mouse-lui i meninndu-l activat, deplasai mouse-ul n dreapta, pn obinei un element de mrimea dorit. Introducei textul Evidena achitrilor pe ultimele patru luni". Rezultatul aciuni lor ndeplinite sunt prezentate pe des.7.5. Selectai elementul creai mai sus (des.7.5), executai o apsare pe butonul drept al mouse-lui i din meniul contextual selectai opiunea Properties. Pentru mrimed textului Font size includei mrimea 16.
-

76

17 I 18 I ' 19 '

/id^na achitarilor pe ultim e


Page l-leader

4 Detail

4 Report Footer

A a b| Qj r l" tfe L' w kt* * M i o P J JSi ^ ri

:} _ J

... .. v:s :^ V ' ^


"f,''
'*< '.*>

...

fc

v : ::.:

*'** > * ^ 4 ,vr

: ;

^AlJ

Des.7.5. Raportul raportRJ n regim Design.

n continuare, formm antetul tabelului i nsi raportul. Pentru aceasta, acionai tasta CTRL i meninnd-o activat cu ajutorul mouse-lui, selectai cmpurile din caseta Field List (des.7.6), eliberai tasta CTRL i transferai cmpurile n sectorul Detail. Deoarece cm purile sunt asociate, pentru antetul de tabel urmeaz a separa etiche tele cmpurilor (partea stng a controlului) i s le transportai n sectorul Page Header (partea dreapt a controlului rmne n secto rul Detail). Selectai partea stng a controlului (des.7.7), din meniul contextual pentru grupa format selectai comanda Cut. n continua re, amplasai cursorul n sectorul Page Header i executai comanda

Paste.

-~li -

R ep o rt H eader

|E(vid^na jachi]tril<:> r pe ulimefe patru uni [ i ..... 1 ...... |-....... ......| ......| ...... S \ &
'9 P a g e
Header

ico n tra ct: inum s:

^ co n tra ct

'

Iv , ,

$
.-! 7

iprenum

js u m a j:

sum ajplatigi ...... Jteum a jn la n ^ ic a t a

: cU - N Aa: a b |Q ^ P li ii m m

:p r
< - Vv

P a g e

F o o te r

* R e p o rt F o o te r;

-j

p ^

II. _ I f~ :
;

... ..... ........ ........;............... :..... : ..j


Des.7.6. Raportul raportRJ n regim Design.
I i I I I I i
i

f Detail
jcontrjicFT
iprenifne: f Ipret: Icontract

'i

i I . .

Hnume

* .....x... .... ..i..... I i

jprenume

Ipret

:ums _platrta:
sums[_planifiA ata:l .......L ......" ....

'

Isum ajjlatfta

isuma_planificata

Des.7.7. Grupul de etichete selectat n sectorul Detail.

Amplasai elementele raportului n sectoarele Page Header i Detail precum sunt prezentate n desenul 7.8. n sectorul Page Header mo dificai denumirea cmpului pret n plata lunara. Creai un cmp adugtor profit/pierderi cu ajutorul elementului de comand labei n sectorul Page Header - un control neasociat cu textul profit/pierderi.
-

78

Pentru cmpul profit/pierderi creai un control calculat: selectai ele mentul de comand Text Box din caseta Toollbox; n sectorul Detail trasai controlul propriu-zis i includei formula =[suma_platita][suma_planificata], Facei o copie a controlului calculat i amplasai-l n sectorul Report Footer modificnd formula astfel: -Sum([suma_platita][suma_planificata]), tot aici adugai un control labei cu textul Total (des.7.8).
' 2 l 3 l 4 l 5 I 6 I 7 Report Header iE V id e ji a a c h il a r ilo r ............j...........1 ............ i............ i P < u l t i m e l e p a j t r u lj n i ........ 1 1 1 7 i 1 8 i 1 3 i 20

j ui J !J
! 1 i

: 4

..... I............ I Page Meade inuihe:: j ' I .... i . !* nume:! i i prenume

.....

1 ............ 1 j prot pierdei i

f* & F
ab! Q

_|

lM -

contract:! ............ .... _ !..

:pja|blunaraji:suma|platita: j isumej_planifilata' j . I ipret I ! !j isuma _platitji isuma_planific: ........1 ............

4 Detail
contract j inume

Wm
[suma_pl;i ! L| T Toal ; j ..... SutnQsum!

vi

L il la

\O

4 Page Footer 4 Report Footer


j ; '

1 ..
:

. i

....... .............. 1

contract prenume pret suma_platita suma_planificata

1 !

Des.7.8. Raportul raportRl n regim Design forma final.


- i n i xj j

Evidena achitrilor pe ultim ele patru luni


:ortrad: rune:
Florae

prerum e:
A na

pista luiara sunajnlatita

anajjlarilicria:

profit^iercteii

2 9 3
103

CM 57

Rusu

Io n

D458

Negru

D o rir

D459

Albu

Dorin

D -517

B tim aga

I l ira

Page:

|f -----------

| ,|

<1

>

f~i

Des.7.9. Raportul raportRl n regim de vizualizare Print Preview


-

79

Exemplul 2. Proiectai raportul - Factura. Urmeaz a pregti factura pentru luna aprilie pe baza datelor din luna martie (tabelul informatii_abonati_martie, LL nr.6, exemplul 2) Factura este prezentat n Anexa 1. Pe baza tabelului informatii_abonati_martie creai o interogare ce ar conine informaia necesar (des.7.10). Atribuii numele raportQ2.

Des.7.10. Interogarea vaport02 in regim Design.


[jp raportQ2: Select Query
contract I nurne D-259 : Florea D 45? Rus D-458 Negru D-459 A|bu D-517j Bulmaga
R e c o rd : H [ <

| Chiinu, Chiinu, Chisinau, Chiinu, Chiinu, str str str str str

?t .datorii

[ prenume Ana ; Ion ; Dorina ; Dorin li ina

adresa Gogol, 128 ap 5 I Creang, 26, ap 5 Gogol, 124 ap 60 Gogol; 124 ap 45 I Creang, 60, ap 15

60:
30 30 60

301

spre_plata 1 50 ............ 0;...... .........0 ........ 30 o: ......0 ......... 30 0 .......40.......... 20 30 0 60

avans

0;

10

Des.7.11. Rezultatul interogrii raportQ2 n regim Datasheet.

n continuare, pentru a proiecta raportul, trecei pe pagina Report n caseta Database i selectai comanda New. n caseta de dialog se lectai regimul de vizualizare Design i indicai sursa de date pentru rapo rt-raportQ2 i activai butonul OK. Pe ecran va aprea raportul n regimul de vizualizare Design (des.7.1). Salvai raportul cu numele raportR2. Proiectai antetul facturii (des.7.12): amplasai elementele de comand pentru aceast seciune n conformitate cu desenul 7.13. Pentru afiarea lunii i datei de achitare, utilizai un control neasociat. Pentru afiarea datei curente, utilizai funcia Date().
-

80

Omega SRL

Abonatul Adresa

Florea

Ana

perioada de calcul data eliberaii: termen de achitare:

februane 20/02/10 10/03/10

Chiinu, str. Gogol, 128 ap. 5

Nr. contract D-259

Des.7.12. Antetul facturii.

raportR2 : Report
; | i - 1 i 2 i 3 i 4 5 i 6 I 7 i 8 i 9 I 1 0 1 1 1 2 1 3 i 1 + i ' A j j I # Page Header 1 1H i 1 C

)m e<

3R L

! ii Det;a

_ _ L i
1

I 1 I 2!
| 3 fi

lAbo iati.il I | nurne .Adt'i ;sa | ; i adesa

iprenume ! c z ::::! L . J ____

| ' |p erioadi i de CcIcul:! luna


i......

. idata eliber ti:

[.. _

1-

.
j !V >

=E ateO { ...... :... j

:orrra; # i c o t rac.

..... ...........

en ; ... terirerrd rguhitpre~ q term .......T |


......... 'j

j 4 l |<
IllliliniiinilllillI l l l l i l i l

Des.7.13. Raportul raportR2 n regim de Design.

n continuare, formai seciunea facturii destinat bncii (des.7.14): includei controalele n sectorul Detail dup controalele antetului fac turii i amplasai-le n conformitate cu desenul 7.16. Pentru linia ver tical utilizai elementul line din caseta Toolbox. Pentru linia punctat includei un rnd din simbolul . ". Stabilii mrimea textului individual.

B e n e fe c ia r u !

C o dul fiscal al benaf. Contul de decontare B an ca beneficiara

"Om ega" S R L 1074601901954 22576019783743 B a n c a de Eco n o m ii S

fii

nr 1

Pentru banc

Ordin de ncasare a numerarului nr.1


Plata abonam ent: Avans Datorii Total spre achitare: 60 10 0 50
m

let ies

Des.7.14. Seciunea facturii destinat bncii.


I 1;
4-

Detail

iAbo Adr
~ .

i M rne re sa 1 tt COJ itract

iprenurne

P
Ip^noad: de ;: I | idata ielib era?n luna f N C )ate 0

ii *i i

| .~

| .....iternerrd? rachrt areri"" terme n r: i i ! ... L ..... i....... 1 "On ieqa" ;r l 107 460191 JI954 225 76019; *8374:^ Bar ca de Ecom irnii' S A fii.ni .1

5i e|

|Ben feci.ar Jl ICod j| fisc al ai b srief. |Con ul de decor tare |Ban :a bei leficiar

.
1 0j

n tru

t v U .1 j i>01irrji ...........j

Ordin! ele ncasare a numeraruilui nr.1 "| ...Plata abij ri;:imonr! bAyanj iB-ato) ......1 Total) spre. a!c hit ai 4

........ ...j ..... r* ....... ilg j


avans
i j..... datorii i spre | Diata i Ni i ."i... H ----- 1

|| |

1 1 !

<

1 2

'

>

D es.7.15. Sectorul Detail n regim Design.


-

82

Seciunea facturii pentru abonai se formeaz analog seciunii precedente.

Pentru Client

Ordin de ncasare a numerarului nr.2


Fio rea Adresa: Am Chiinu, str. Gogol, 128 ap. 5 februari e

F1 eri o ada de al cui: Total spre achit are:

50 lei

Des.7.16. Seciunea facturii destinat abonatului.


I I 13 !:
!1 4:

, i 3 ' i 10 i 11 i 12 i 1: 1 14 i 1 A : i 1 i 2 i 3 i ' 4 I 5 i 6 i 7 i i>


i.

......

.............j............. j.............1 1

......

.............1

Pentru clieiTt

___ :Ord in deJncasare( a numeraru lui nr.,2........ |


i
i

1 15 ;

.e ............... J 1 .... ....m L

| 16

... fedre?<

adri rsH'

F z i

j :j
1 17 ^

iP erio a :1a de < :alcul: jluna

: j h le ii
! >

: j : ! 18
\<

if, otal s pre ac nitare: isp r e jp ia ta

1^ :

Des.7.17. Sectorul Detail n regim Design.

Pentru subsolul facturii n sectorul Report Footer amplasai textul prezentat n desenul 7.18.
J

4- Page Footer
)

...................................... ............ 'entru informai suplimentare Apelai numerel^ de telefon:

............

'^ 6 45-6^, 78-8Sj-99

jf

Des.7.18. Sectorul Report Footer n regim Design.

ntrebri de autoevaluare:
1. Definii noiunea de raport. 2. Enumerai metodele de creare a rapoartelor. 3. Un raport poate fi proiectat pe baza cror obiecte?
-

83

4. Cte sectoare poate avea un raport? Cum se adaug i se lichi deaz sectoarele? 5. Cum se adaug sectoare pentru grupuri de date? 6. Cum pot fi sortate datele dintr-un raport? 7. Enumerai tipurile de controale pe care le cunoatei. Care este deosebirea dintre aceste controale? 8. Ce este eticheta unui control? Cum pot fi formatate controalele? 9. Enumerai metodele de efectuare a totalurilor n rapoarte. 10. Pentru ce pot fi utilizate opiunile din grupul format din lista pro prietilor? 11. Cum pot fi ascunse sectoarele ntr-un raport?

Subiecte de autoevaluare:
1. S se realizeze un raport pentru a afia lista cu informaiile privitoare la abonai i numrul total de abonai. Abonaii vor li ordonai alfabetic. Raportului i se va aduga o coloan ntitulai Numr abonat n care se vor numerota liniile raportului. 2. S se realizeze un raport pentru a lista la imprimant un anumil contract a crui numr va fi solicitat ca parametru n momentul deschiderii raportului (raportul se va baza pe o interogare pa rametrizat). Se va calcula suma integral achitat pe contractul respectiv. 3. S se realizeze un raport care s afieze pentru fiecare pachet numrul abonailor i s se calculeze totaluri pentru fiecare pachet i raport.

Structura raportului individual:


1. Foaia de titlu. 2. Introducere. 3. Proiectarea rapoartelor (scriei enunul pentru fiecare raport, pre zentarea rapoartelor n regim Design i Datasheet). 3.1. Raportul s conin totalizri. 3.2. Raportul s conin totalizri i grupri de date. 4. Bibliografie.

84-

Lucrarea de laborator nr.8

Tema: Crearea formularelor n modul de vizualizare Design


Scopul lucrrii: nsuirea deprinderilor practice n crearea i redac tarea formularelor n regimul de vizualizare Design. Noiuni generale Formularul este un ansamblu de zone active alctuit din mai multe
tipuri de elemente: controale asociate, controale neasociate etc. ce permit utilizatorilor s introduc efectiv informaii. Prin intermediul formularelor, un utilizator al unei baze de date MS Access poate simplifica procesul de introducere a datelor, ofer un format uor de utilizat pentru lucrul cu date i se pot aduga ele mente funcionale. Datele vor fi prezentate ntr-o manier organizat i atractiv. Mediul Access pune la dispoziie urmtoarele moduri de afiare a formularelor: 1. Design View (Proiectare): utilizat pentru a modifica prezentarea i proprietile unui formular sau pentru modificarea controalelor din formular efectuate exclusiv de utilizator. 2. Auto Form (Formular): regim de afiare Datasheet - va genera automat un formular de tip Datasheet. regim de afiare Columnar - va genera automat un formular de tip Single Form. regim de afiare Tabular - v a genera automat un formular de tip Tabular.

Seciunile formularului (des.8.4): Form Header (antetul formularului) este folosit, de regul, pen
tru a afia titlul formularului. Aceast zon nu este vizibil n modul Datasheet. Dac formularul este afiat n format Tabular, coninutul zonei de antet nu va fi derulat. Pentru ca aceast zon s fie disponi bil n timpul proiectrii, se selecteaz opiunea View -> Form Header/ Footer, din meniul Access.
-

85

Page Header (antetul de pagin) - este o zon ce apare num.il cnd formularul este tiprit la imprimant. Pentru a fi disponibil n cursul proiectrii, se selecteaz opiunea View -> Page Header/Footci din meniul Access. Detail (seciunea de detaliu) - va conine toate controalele ne cesare afirii/editrii nregistrrilor. n timpul realizrii, formularul poate conine n aceast zon un control numit selector de nregistra re (record selector) situat n marginea din stnga a formularului. Sei iunea Detail este locul n care se plaseaz controalele care formeaz.'i corpul principal al formularului. Page Footer (subsolul de pagin) - este afiat numai la tiprire.i formularului i poate conine data curent, numrul de pagin etc. Form Footer (subsolul formularului) - are aceleai caracteristic i cu zona de antet i poate s conin, spre exemplu, totalul general sau diverse alte controale (butoane pentru salvare, adugare, ter gere de nregistrri etc.). Butoanele de navigare - sunt afiate numai n timpul realizrii formularului i pot fi folosite pentru deplasri n cadrul nregistrrilor. Subformularul (Formular ncuibat) este forrmularul inclus ntr-un alt formular care permite afiarea datelor din mai multe tabele sau interogri, aflate n relaii de tipul unu la unu sau unu la mai muli. Astfel, n formularul principal vor fi afiate datele pstrate n tabe lul cu cheie primar, iar n subformular datele pstrate n tabelul cu cheie strin. Legtura dintre un formular i un subformular reflects legtura dintre tabelele pe care se bazeaz. Posibilitile de creare a unui ansamblu de tip formular-subformular sunt: crearea formularului i subformularului concomitent; crearea subformularului i adugarea lui la un formular existent; crearea separat a celor dou i apoi combinarea lor [3,9].
Formularea subproblemei:
De formulat enunul i de proiectat o interfa simpl de ghidare < \ aciunilor pentru exploatarea BD relaionale a unei uniti economice (soluionarea subproblemei este prezentat sub form de exemple aduse mai jos).
-

86

8.1. Crearea formularelor n regimul Design View


De proiectat formularul de baz Meniu care va permite utilizatoru lui accesul ctre toate obiectele BD (des.8.1).

M E N IU 1 !

j
jj

1
-

IN R E G IS R .A R .E A /A FIS A R E A D A T E L O R D E S P R E ABO N A T

i
|

IN R E G IS R A R E A P L A T IL O R E F E C T U A T E D E ABO N A T IN T E R O G R I

j j|

i... .. .

i
rapoarte

Le J
\ Record:
1

F O R M U LA R N C U IB A T

IE I R E

1 v j

IM ]

of 1

Des.8.1, Formularul Meniu n regim Form View.

Pentru a proiecta acest formular este necesar s realizm urm toarele exemple. Exemplul 1. De proiectat un formular care ar permite nregistrarea i afiarea datelor despre Abonat (des.8.2).
V DATE D ESP R E ABONAT
|j

A F I A R E A

ic o n t r a c t : num e: ad re sa :

F lo r e a p ren u m e: ;A n a

iC h iin a u ., str Gogol., 1 2 8 a p 5

se c to r:

;C

p a ch e t:

!a c t u a l+

'v

IE S IR E

|| R e c o r d : [ H

L L lE M J < *5
87

Des.8.2. Abonat n regim Form View.


-

Pentru a proiecta formularul, trecei pe pagina Forms n caselii Database i selectai comanda New. n caseta de dialog New Form (des.8.3) selectai regimul de vizualizare Design View i indicai sursa de date pentru formular, n cazul nostru tabelul Abonai, apoi activai butonul OK.

Des.8.3. Caseta NewForm.

1. ncepem proiectarea formularului de la antetul formularului. Din meniul View selectai comanda Form Header/Footer. Ca urmare, n formular vor fi adugate nc dou sectoare. Selectai butonul labei din caseta Toolbox i deplasai cursorul n sectorul FormHeader (cursorul va lua forma unui plus). n continuare activai butonul stng al mouse-lui i meninndu-l activat deplasai mouse-ul n dreapta, pn obinei un element de mrimea dorit. Introducei textul Date despre abonat". Rezultatul aciunilor n deplinite sunt prezentate pe desenul 8.4. n lista de proprieti ale formularului (clik dreapta pe sectorul ne haurat al formularului n regim Design) stabilii opiunile prezentate n desenul 8.4. Continuai cu transferul controalelor asociate din caseta Field Listn sectorul Detail.

j!Form F o rm H e a d e r
|d a t e d e P R E /s B O N A r

..

* Det<ei i1
IA FTS A R E A ............

-=4I

I c o n tra c ::
i---------------- -

n u m e ::{ ip re n u m : j
............... " : ' " ' .. 7 ~

co n trac t !'......... '......! num e


j i: c : : : '

F o rm a t : D a ta h E v i I R e c o rd S o u r c e ............. F i l t e r .................................... I O r d e r B y .......................... I Allow F i l t e r s .................... I C a p t i o n .............................. I D e fa u lt V i e w .................... I Allow F o rm V iew . . . . , I Allow D a t a s h e e t V iew . I Allow P iv o tT a b le V iew . So o S b o K

O th e r . . A b o n a i

.iV es
S in g le F o r m . Y e s ....................... iV e s j V e s .....

p re n u m e ad re sa

......... i

l= = J
[p a c h e t : i
i ..... ...................

[a d r e s a : :

j .................

E iS

ab! V 'r'\

- L^j

p ach et
i .... ............. - I [.' ..... i .... ......

r Form F o o te r .....
IPs 8*8 *<rtt I SSfcJS ^ r S 'S l/ R ^ IS S 'S r t J f

I F o rm

Des.8.4. Formularul Abonat n regimul de vizualizare Design.

2. Aliniai i formatai controalele la fel ca i n caseta de dialog din desenul 8.5, utiliznd butoanele de formatare de pe bara cu in strumente Formotting->Form/Report (des.8.4). 3. Executai clik pe butonul controlul Labei din caseta Toolbox pentru a nscrie titlul n seciunea de detaliu a formularului (des.8.5).

1 1 1 2 1 3 1 4 i 5 1 e I '1 o o lb o Form H eader |d a | e d e P R E > B O N A r ......

X :

.... J

A*

ab l Q

0 f

rn

-J j
...

I * D eti ail J F 1 S A R E A .......


1 jcont a c t: inurn jadre sa: 1 isect :*r: ! 4 ! | i jcontraict .....I

| a

_j

J ..... rn n fr act
. preni ime: j nume : p re n i jrne iprenume O ad res ;a ' 1 1Itlsecto r . ................ i ................ :?.t 1 1 l: pach et i 1 ....

c ::
mume

, ^ , ad re sa 1

.......i ..........
|pache :: 1 I I

isector 1 l

# ' Fornn Fo o ter [

1 ................. _ .L .;.......

:<1

1
-

1 j
89
-

IE S IR E

>

Im

Des.8.5. Form ularul Abonat n regim de Design.

4. n seciunea Form Footer adugai butonul IEIRE, care va nde plini aciunea de ieire din formular: din caseta Toolbox selectai controlul Command Button i de plasai-l n seciunea Form Footer, executai dublu clik pe el i redr numii-l - IEIRE. pentru a atribui aciunea respectiv butonului, urmeaz a n deplini urmtoarele aciuni: din meniul contextual al butonului IEIRI selectai consecutiv comenzile Build Event - Builder-^Ok, c.i urmare se deschide constructorul de macrocomenzi unde stabilii aciunea Close pentru formularul Abonat i atribuiii denumire.i

Macrouiesirel. Pentru butonul Ieire n lista de proprieti la opiunea On Dbl Click selectai denumirea macrocomenzii (des.8.7).
lir J1 IE1
o ;

IE5IRE
^ .

i 1 i 2 i 3 i 4 i 5 i - 6 - 1 7 i

NIEIRE ; Format ii Data Event Other I AII On Click................................. On Dbl Click............................ iMacrouiesire l On Mouse Down.....................j On Mouse Move..................... i On Mouse U p ..........................\

Des.8.7. Caseta cu proprieti pentru butonul IEIRE n regim Design.

5. Salvai formularul atribuindu-i numele Abonat. Dup finisarea proiectrii, formularul poate fi vizualizat n regim Form View (des.8.2). Butoanele din partea de jos ale formularului sunt utilizate pentru a trece de la o nregistrare la alta: - pentru a trece la prima nregistrare - pentru a trece la ultima nregistrare
-

90-

- pentru a trece la precedenta/urmtoarea nregistrare # m - pentru a nregistra o nou nregistrare. Exemplul 2. De proiectat formularul Interogri care va permite afiarea datelor din interogri (des. 8.9). i ; ' '
|V i
SUMA NCASATA .IEIRE Record:

'v

'

; '.
' :
1 f I |!l

VJ!

! NJ

[Ffj

of 1

Des.8.9. Afiarea datelor despre Interogri n form Form View.

1. Proiectai un formular nou fr a anexa un obiect. 2. n regim de Design creai butonul SUMA NCASAT (des.8.11), care prin intermediul macrocomenzii deschideQ__suma_incosata (des.8.10) va deschide interogarea Sum ajncosato.
-j i 4
i 4

1i i 1 * t

> L L i J 1 4 - - j . f {*

, h i *f

' # . !| ^ |

' ' ' ' |f

< ): # v

Action OpenQuery

Comment j Deschide interogarea SurnaJn ca sa ta

! v !

Action Arguments Query Name View Data Mode Suma_Incasata Datasheet Edit' Enter a I comment in | this column.
|

|
l|

j 1 j
j

Des.8.10. Macroul descliideQ suma Jncasata n regim de Design

1 1 1 2

SUMA N C A S A TA

Form Header

Format Data Event Other All On Lost Focus........................ I On Click.................................... deschideQ_sumaJncasata

SUMA NCASATA
: Aa abl Q H

&

i 7 J

-1

I tils]
.IEIRE.

J J 1 \

I 1

Des.8.11. Formularul Interogri n regim de Design.

3. Analog exemplului 1 proiectai controlul IEIRE dup care salvai formularul cu numele Interogri.

Exemplul 3. De proiectat un formular ncuibat care va afia datele despre abonat i achitri (des.8.12).

A FIA R EA DATELOR D ESPRE ABONAT S I A C H ITA RI

;
contract: tS S E I adresa: sector: pachet: ;Chiinau, str Gogol, 128 ap 5

nume: Horea
prenum;Ana achitai:

;C
actual+

i |v

contract D-259 D-259 D-259 D-259

suma

1 GO ' 60; 60 70;

data | 02.05.2010; aprilie 03.02.2010: ianuarie 03.03.2010; februarie 02.04.2010 martie


|

luna

IEIR E
V

: Record:

:.|

.1

1 i

II M ]!] of 5

........ .. .

,..

_m

D es.8.12. Form ularul Formular ncuibat n regim Form View.


-

92

1. Creai formularul Achitri analog formularului Abonat, care va li subformular n formularul principal. 2. Proiectai formularului principal (des.8.13): Deschidei un nou formular la etapa de proiectare n regim de

Design. Executai clik pe controlul Labei din caseta Toolbox pentru a nscrie titlul n seciunea Form Header a formularului. Specificai n proprieti sursa formularului - tabelul Abonai. Aliniai i formatai controalele la fel cum sunt prezentate n desenul 8.13.

Form Header
IA r : RjflNJ T _ 4T n fr t ttr f HJ l V n n T . rrao tln rt q 1 1 \ abl Q a R I

J j '4 J '

iJ M ffi j 0 \ I '

jadresa: .sector: i prern. mjprenume fpichet:

ladresa jsector ''..!' . Jpachet

t'

Form Footer

Des.8.13. Formularul Formular incuibat n regim de Design.

Introducei subformularul /i/fonn formularul principal: Utilizai controlul Subform/Subreport i n lista cu pro prieti Source Object indicai sursa subformularului n cazul dat Achitri. Pentru proprietatea Enablend indicai Yes. Pentru proprietile Link Child Fields/Links Master Fields selectai valoarea contract (des.8.14). 4. Proiectai butonul IEIRE analog pasului 4 din exemplul 1. 5. Salvai acest formular cu numele Formular incuibat. Ca rezultat ibinei formularul din des.8.12.
-

93-

Des.8.14. Formularul Formular ncuibat n regim de Design.

Exemplul 4. De proiectat formularul de baz Meniu care trebuie s aib acces ctre toate formularele create anterior (des.8.1). 1. Deschidei un formular la etapa de proiectare n regim de Design fr a anexa vreun obiect. Utilizai controlul Labei pentru a introduce textul MENIU n seciunea Form Header. 2. Proiectai cele 5 butoane cu instrumentul Command Button din bara de instrumente Toolbox. 3. Creai o macrocomand cu numele deschideF_abonat care de schide formularul Abonat. 4. Atribuii aceast macrocomand butonului -1 (des.8.15). Utilizai controlul Labei pentru a scrie mesajul - NREGISTRAREA/AFIAREA DATELOR

F o rm N am e V ie w F ilt e r N a m e W h e r e C o n d it io n D a ta M ode W in d o w M o d e

lA b o n a t

Form

O pens a fo rm in F o r m v ie w , D e s ig n v ie w , P rin t P r e v ie w , o r D a ta sh e e t

(N o rm al

D es.8.15. Constructorul de m acrocom enzi deschideF Abonat n regim Design,


-

94-

fo rm a t D a ta Event o th e r All O n C l i c k .............................................. I O n D bl C l ic k ........................................ :d e s hi d e F _ a b o n a t O n M o u s e D o w n ..............................i O n M o u s e M o v e .............................. [...... O n M o u s e U p ....................................

I
. \

inn

m % I

Des.8.16. Formularul Meniu n regim de Design. 5. Similar proiectai i celelalte butoane dup care salvai formula rul cu denumirea Meniu. 6. Pentru ca formularul Meniu s fie automat afiat la ecran de aplicaia Access la deschiderea BD urmeaz s creai o macrocoman d cu denumirea autoexec care deschide formularul de baz Meniu (des.8.17).
. ........... .. . A;JijC.n [ 1OpenForro ........... ...v .....]......... v ........................ ......... 1 O # fi !! i :( Oesrhide f grrrplar 'J Menta i

1 Nwie
4\*m

ArgytWSftS Merwj Form Sele'ct the: ] rrmde for tm 1 Form mmiow: . Normal (the form \> m the* : moda $fA In Itsform properties)] Hidden (the form Is hidden^

ilt ci Nne Wherdj Condition Mode Window Hode

Normalj

V' i

D es.8 .17. Constructorul de m acrocom enzi autoexec n regim de Design


_

95

ntrebri de autoevaluare:
1. 2. 3. 4. 5. 6. 7. 8. Definii noiunea de formular. n ce scop pot fi utilizate formularele? Enumerai regimurile de afiare ale formularului. Enumerai avantajele crerii unui formular n regim de Design. Enumerai sectoarele unui formular n regim de Design. Cum se atribuie o macromand pentru un buton? Dai noiunea de subformular. Enumerai avantajele utilizrii unui subformular.

Subiecte de autoevaluare:
1. S se creeze formulare pentru: deschiderea unui tabel; deschiderea unei cereri; deschiderea unui raport. 2. Creai un formular cu butoane care ar lansa formularele create mai sus, 3. Proiectai formularul NREGISTRAREA PLAILOR EFECTUATE Di ABONAT pe anul 2011. 4. Proiectai formularul RAPOARTE analog formularului Interogri.

Structura raportului individual:


Foaia de titlu. Introducere. Formularea problemei. Proiectarea formularelor (formularea enunului pentru fiecare formular, prezentarea formularelor n regim Design i Datasheet). 3.1. Formularul - tabele care reprezint formularul ce conine attea butoane, cte tabele are BD. 3.2. Formularul - interogri, destinat pentru deschiderea a patrii interogri (la alegere). 3.3. Formularul - rapoarte, destinat pentru a deschide cele doud rapoarte. 3.4. Formularul ce va conine un formular ncuibat (la alegere se vor utiliza controale de tipul listbox sau combobox). 3.5. Formularul de baz care s conin butoane de deschidere ,i formularelor create mai sus. 5. Bibliografie.
-

1. 2. 3. 4.

96

Anexa 1 Documente utilizate Io proiectarea BD


"Omega" SRL

perioada de calcul: februarie Abonatul Adresa Nr. contract Rusu Ion Chiinu, str. I.Creang, 26, ap.5 D-995 data eliberrii: 20.02.10 termen de achitare: 10.03.10

Beneficiarul Codul fiscal al benef. Contul de decontare Banca beneficiar

"Omega" SRL
1074601901954 22576019783743

Banca de Economii' SA fii. nr.1

Pentru banc

Ordin de ncasare a numerarului nr.1

Plat abonament Avans Datorii Total spre achitare


Pentru client

35.00 lei 11.30 lei 0-00 lei 23.70 lei

Ordin de ncasare a numerarului nr.2 Rusu Ion

Adresa

Chiinu, str. I.Creang, 26, ap.5 februarie 23.70 lei

Perioada de calcul Suma spre achitare

Pentru inform aii suplim entare apelai num erele de telefon: 26-45-67, 78-89-99

97

Anexa J
Proprietile cmpurilor Field Size - stabilete dimensiunea maxim admis pentru tipul date Number, AutoNumber, Text. Format -stabilete formatul de afiare a datelor din cmpul corespun ztor pe ecran cu excepia datelor de tipul OLE Object. Aceste formate se pot defini de utilizator cu ajutorul unor secvene speciale sau, pentru unele tipuri de date, exist deja formate predefinite uzuale. Pentru date le de tip numeric, de exemplu, se poate opta ntre urmtoarele formali de afiare: G en era iNumber, Currency, Euro, Fixed, Standard' Percent, Scientific. Input Mask - stabilete un format (masc, ablon) de introducere .1 datelor pentru un anumit cmp. La fel ca i n cazul proprietii Format exist o serie de caractere prin care se stabilete acest format de introdu cere a datelor; n cazul n care se utilizeaz ambele proprieti, proprie tatea Format are prioritate fa de proprietatea Input Mask. Exemple: 0\R\A:00:00:00 -ablon pentru or; 99/99/0000 - ablon pentru data; "(791)-"00\-0000## - ablon pentru introducerea unui numr de telefon. Caption - stabilete un ir de caractere care va fi afiat n titlul coloa nei, atunci cnd cmpul va fi folosit ntr-un formular, raport. Dac aceast proprietate nu are nici o valoare, irul afiat n titlul unei coloane este chiar numele cmpului. Valoarea acestui cmp nu are nici o influena asupra numelui cmpului n utilizarea sa n interogri. Default Value - stabilete o valoare implicit care este propus n momentul n care se introduc date ntr-un tabel. Se recomand n cazul n care exist o valoare preponderent a coninutului unui cmp sau n cazul n care utilizatorul nu introduce o alt valoare n cmpul respectiv, valoarea din aceast proprietate va fi memorat n coninutul acestuia. Validation Rule sau Validation Text - aceste proprieti sunt aplica bile pentru toate tipurile de date, cu excepia tipurilor AutoNumber l Ole Object. La trecerea la alt nregistrare se verific regula de validare respectiv, dac ea nu se ndeplinete se afieaz mesajul de eroare (Validation Text). De exemplu, regula de validare ">#01.01.2002# and <#01.01.2003#" stabilete domeniul valorii introduce.
-

98

Required - proprietatea poate fi indicat pentru toate tipurile de date, cu excepia datelor de tipul AutoNumber. Sunt posibile dou valori Yes/No care se selecteaz din lista derulant. Valoarea Yes" denot c introducerea datelor n cmp este obligatorie, altfel se va emite un mesaj de eroare. Allow Zero Lenght - specific dac acest cmp permite iruri text de
lungime zero.

Indexed - indic dac va fi creat un index pentru cmpul respectiv. Sunt posibile trei valori: No" - nu se permite indexarea datelor; Yes (Duplicates )" - sunt permise valori duplicate pe cmpul indexat; Yes (No Duplicates) - index, dar nu sunt permise valori duplicate pe acest cmp. Pentru cmpurile - cheie primar se indic - Yes (No Duplicates)''. Unicode Compression - conecteaz i deconecteaz comprimarea cmpurilor Text, Memo i Hiperlink, utiliznd un cod universal interna ional. Este conectat implicit. Poate fi deconectat pentru a economisi memoria. Decimal places - stabilete numrul de zecimale utilizate pentru afi area unui numr. Valori prestabilite sunt Auto (numrul este afiat cu attea zecimale cu ct a fost calculat; nu sunt afiate mai mult de 15 zecimale). New Values - proprietatea este definit numai pentru cmpul de tipul AutoNumber i indic care valori vor fi automat incluse n cmp la crea rea unei noi nregistrri. Sunt posibile valorile: numere secveniale, nleatoare.

99

3 pentru lucrarea individuala:


1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Magazinul de cri Universitatea Baza angro Producia Reeaua de magazine Atelier de reparaii auto Decanat Activitatea de contract a organizaiei Policlinica Staia de telefoane Sport Munci agricole Transportul urban Geografia Administrarea casei Aeroport Fia personal a studentului Microcipuri de memorie ahmate Hipodrom Cartea roie Sateliii planetelor Detalii radio Gospodrie silvic ntreprindere de transport auto Registrul clipurilor video Comenzi Reete

- 100 -

Bibliografie 1. Bott E. Utilizare Microsoft Windows 2000. - Bucureti: Teora, 2000.

2. Brown A. Abalter Bazele Access 95. - Bucureti, 1996. 3. Coand I. Access. Ghid de iniiere. Proiectarea i utilizarea bazelor de
date. - Chiinu, Evrica, 2001. 4. Couter G., Marquis A. Iniiere n Microsoft Office 2000. - Bucureti: AII Educational, 1999. 5. Florescu V. .a. Baze de date. - Bucureti, 1999. 6. Fotache M. SQL Dialecte DB2, Oracle, Visual FoxPro. Polirom, 2001. 7. Harckins S. Utilizarea Access 2000. - Bucureti, 2000. 8. Jennings R. Totul despre Microsoft Office 2000. - Bucureti, 2000. 9. Johnson S. Microsoft Office Access 2003. - Bucureti, Teora, 2004. 10. Morariu N. Baze de date. ndrumar de laborator. - Suceava: Editura Universitii 2005. 11. Olteanu A., Pietraru R. .a. Tehnologia informaiei. Baze de date i utili zarea acestora. ANGHEL, 2005. 12. Sabu G., Lungu I. Sisteme informatice i baze de date. - Bucureti, 1996. 13. Stenson C., Siechert C. Microsoft Windows 2000 Professional. - Bucureti, Teora, 2000. 14. Stoica A. Primii pai n crearea unei baze de date. Editura Sfntul Ierarh Nicolae, 2010. 15. .., .. . - : , 2002. 16. .. : , , . - -: -, 2004. 17. http://office.microsoft.com/ro-ro/access-help/crearea-unui-raportsimplu-HA001230739.aspx 18. http://facultate.regielive.ro/cursuri/calculatoare-2.html 19. http://ilianastanescu.traducator.info/Lectii/llcl2.pdf 20 . http://ocrai.narod.ru/zoran/earlwork/relbas.txt 21. http://vtit.kuzstu.ru/books/shelf/170/doc/n4.html 22. http://www.vuithelp.ru/files/1108.html

- 101

CUPRINS Introducere................ -................................................................. .................. Lucrarea de laborator n r . l ............................................................................. 1.1. Stabilirea obiectivelor B D ................................................................. 1.2. Proiectarea BD unitabelare....................... ...................................... I h ()

Lucrarea de laborator n r.2 ................................................................................. M 2.1. Proiectarea BD multitabelare.................. .......... .................................14 2.2. Crearea tabelelor n regim Design i adugarea datelor...................1H 2.3. Proiectarea relaiilor dintre tabele...................................................... 24 Lucrarea de laborator n r.3 ............................................................................... 2R 3.1. Interogri de selecie............................................................ ............... 29 3.2. Interogri cu parametru........... ........................................................... 37 Lucrarea de laborator n r.4 ................................................................................. 4,1 4.1. Interogri pentru modificarea datelor din tabele (Update Query)........................................................................ ............ 41 4.2. Interogri de creare a tabelelor (Make-Table) i de adugare (Append)......................................................................44 4.3. Interogri pentru lichidarea nregistrrilor din tabele (Delete Q uery).......................................................................................48 Lucrarea de laborator n r.5 ............................................................................... 53 5.1. Crearea macrocomenzii.........................................................................54 Lucrarea de laborator n r.6 .................................................................................59 6.1. Exportul datelor din Access n Excel.................................................60 6.2. Importarea i legarea datelor n Access..............................................63 Lucrarea de laborator n r.7 .................................................. ............................ 71 7.1. Crearea rapoartelor n regimul Design View ...................................... 75 Lucrarea de laborator n r.8 ............ ..............................-.................................. 85 8.1. Crearea formularelor n regimul Design View .................................... 87 Anexa 1 ............................................................ ................ ................................. 97 Anexa 2 ............................ .................................................................................. 98 Anexa 3 ...............................................................................................................100 Bibliografie......................................................................................................... 101

1 0 2

Nicolae Prodan, Natalia Apetrii, Claudia Gaid u, Natalia Gorechi, Valentina Tru, Ala Tatarciuc

Elaborarea BD cu ajutorul SGBD Access Lucrri de laborator


Redactare: Eugenia Balan Asisten computerizat: Ludmila Reetnic Bun de tipar 17.06.201 1. Formatul 60*84'/l6. Coli de tipar 6,0. Coli editoriale 6,0. Comanda 129/11. Tirajul 300 ex. Centrul Editorial-Poligrafc al USM str. Al. Mateevici, 60, Chiinu, M D 2009