Documente Academic
Documente Profesional
Documente Cultură
Nicolae PRODAN, Natalia APETRII, Claudia GAIDU, Natalia GORECHI, Valentina TRU, Ala TATARCIUC
CZU 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)
-
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].
: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 ; . |;
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
j ; N~|j '^
i'M
Favorites
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
iv
A field name can be up to 64 characters long., including spaces. Press FI for help on fieid names, (1
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 '
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
A field name can be up to 64 characters long., including spaces. Press F I for help on field names.
I Smart Tags
f| Open
Design
...j New
111
! \ 1 Create table by using wizard Create table by entering data Abonai
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
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
-
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:
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
17
2.2.
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
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.
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
.......
.........................
; 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
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
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.
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 >
lookup
j
3
Tdbic! Phtite
Queries
Q B flth
CmcH
- |
<e*Ck
J Ne<t > j
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':! -
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 >
2 1
C ancel
< B ack
N ext >
j j
F in ish
.........
::
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 .
C ancel
<
F in ish
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
Double
> w ,0 .........................
Viumar pozitiv" No
No
ra
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 *
"Tf
1......
23
] contract nume + D-259 Florea Rusu + D-457 + D-458 1Negru + D-459 ' Al b + D-517 : Bulrnaga ;
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
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
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
JM H H
luna
li suma data .luna
I It nl
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
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
---------------------
< 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
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
( 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 .
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
| 2 2 of ii
pachet 1
~ |
ifanale 40) 40
| (
i jJ
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. : "-"''.. :: "
1prenume j Abonai 1 0
num* Abonai 0
pachet Pachet 0
cre Pachet L 0
!, r,. Achitai 0
'
....... 3 5
actual+ actual+ aclual+ actual actual
AQl
.........
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
<#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
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
Pentru cmpul luna -n scriem denumirea lunii ianuarie, iar pentru cmpul data - perioada de achitare.
Expression Builder
=[Pachet]![pret]f
Cancel
*/ :
Help
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
______
prenume Ion Dorina Irina Ana i Dorin
pret
j 30 30 30 60 60
J ..
Record:- H
1< i
..
-1.M .1 J o f6
I H ttn fiU il Sil si> determine numrul abonailor pentru firma Omega". S w -JOj.X|
;
| | -------- 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*
if1
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
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
- 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
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
| \
; ;
-j
0
J jj
0 '
>
< |j
of 5
Exemplul 8. Ce sum de bani ncaseaz firma Omega" n medie pentru fiecare lun.
-
36-
-la l l
contract
M
data
li ii ia
T
i
iliBWi iii il !
1
jj
*
: :
:
luna aprilie februarie ianuarie mai martie | Suma_medie 48,88866886871; 42 42 30 57 ,5
>
-jJ
l-nuord: H j ' II
lh
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
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 '* '
'
t i 'j 1
Cancel
?lxl
| | P Abonat In fo : Select Query contractf nume D-459 Albu D-459 Albu | prenume Dorin Dorm
pret 60 ..............60 | suma | luna 60 ianuarie 60; februarie | data .1 03.02.2010 03.03.2010
__ _
I I
I Record: H j < |i
J
- 38 -
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)
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
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
Pdchst
canse
Pachet
Criteria; i or:
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.
. 'fes
No
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 )
. j Ab o n ai:
^contractf
i Florea
I prenume [
N o n
Dorina | Dorin Urina
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
rd : <7
l [ of 5
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
inunie
lixenmw
Current Database
: Another Database:
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
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
htkJi tablei
flori:
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
luna Achitri
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
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
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
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
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.
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).
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,,
j Cre a te New, ,
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 :
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
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
.... - ....
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.
52
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).
54-
j ! : Macro
Action L [ Comment
Action Arguments
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
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.
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
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
-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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.
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).
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:
contract Abonai
suma: 0
.
<
pi
i >
60
1^^
Ap p en d To T ab le Nam e: |jnfo2
I con tract
I sum a j d a ta |: luna
<
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 | | |
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
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
%?
Spelling..,
'
|sign
I
.....
i
Exemplul2 ExemplulS
rfpNew | X
" [EE j il ll
; j i
:
Xf
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
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
60 ..............30 30 60 30
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.
j 2 D-259
Florea
Ana
70
actual-
60=IF(J2>=0;J2;0):=IF(J2<0;ABS(J2);0)
.....
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:
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
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
ESookl.xls Si.1ex.xls
-3ln at.xls
Fi,es of type:
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
s tr s tr s tr s tr s tr
ap 26, ap ap 60,
.1
|
C a n ce l N ext >
Finish
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 :
s tr s tr s tr s tr s tr
ap 26, ap ap 60, |
j,i
j Cancel I J < B ack | N ext >
Fin ish
'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 . ...................................................................................................................................
'
s tr s tr s tr s tr s tr
ap 26, ap ap 60,
1 ! i L J
C a n ce l
-If
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.
contract nume Florea Rusu Megru 3D-458 Albu 4 D-459 D-517 Bulmaga 1 D-259 2_D-457
s tr s tr s tr s tr s tr
ap a : 26, ap ap 60,
J .U
j C ancel I < Back * N e xt > | [
Finish
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.
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
Help
Adobe PDF
!
1
. . . . . . . ^
i -rj
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
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
info
\ i
Favorites
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
Datasheet). 4. Importarea datelor n BD multitabelar (formularea enunului problemei, prezentarea obiectelor utilizate n regim Design i Datasheet). 5. Bibliografie.
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
, , Stable . .;. ;
M axB uttons_____
Close Button
Z li
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
1= Group Properties Group Header Group Footer Group On Group Interval Keep Together Yes Yes Each Value
1
No|
_d
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:
" f '
................. . . . "
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
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
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 '
4 Detail
4 Report Footer
:} _ J
...
fc
v : ::.:
: ;
^AlJ
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
^ co n tra ct
'
Iv , ,
$
.-! 7
iprenum
js u m a j:
: 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~ :
;
f Detail
jcontrjicFT
iprenifne: f Ipret: Icontract
'i
i I . .
Hnume
jprenume
Ipret
:ums _platrta:
sums[_planifiA ata:l .......L ......" ....
'
Isum ajjlatfta
isuma_planificata
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
.....
f* & F
ab! Q
_|
lM -
4 Detail
contract j inume
Wm
[suma_pl;i ! L| T Toal ; j ..... SutnQsum!
vi
L il la
\O
1 ..
:
. i
....... .............. 1
1 !
prerum e:
A na
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
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.
| Chiinu, Chiinu, Chisinau, Chiinu, Chiinu, str str str str str
?t .datorii
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
avans
0;
10
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
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
[.. _
1-
.
j !V >
:orrra; # i c o t rac.
..... ...........
j 4 l |<
IllliliniiinilllillI l l l l i l i l
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 !
fii
nr 1
Pentru banc
let ies
Detail
iAbo Adr
~ .
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
|| |
1 1 !
<
1 2
'
>
82
Pentru Client
50 lei
......
.............j............. j.............1 1
......
.............1
Pentru clieiTt
1 15 ;
| 16
... fedre?<
adri rsH'
F z i
j :j
1 17 ^
: j h le ii
! >
: j : ! 18
\<
1^ :
Pentru subsolul facturii n sectorul Report Footer amplasai textul prezentat n desenul 7.18.
J
4- Page Footer
)
............
jf
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.
84-
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
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
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
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
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.
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 ~
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
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).
X :
.... J
A*
ab l Q
0 f
rn
-J j
...
| 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
1 ................. _ .L .;.......
:<1
1
-
1 j
89
-
IE S IR E
>
Im
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 ..........................\
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
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
' # . !| ^ |
< ): # v
Action OpenQuery
! v !
Action Arguments Query Name View Data Mode Suma_Incasata Datasheet Edit' Enter a I comment in | this column.
|
|
l|
j 1 j
j
1 1 1 2
SUMA N C A S A TA
Form Header
SUMA NCASATA
: Aa abl Q H
&
i 7 J
-1
I tils]
.IEIRE.
J J 1 \
I 1
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).
;
contract: tS S E I adresa: sector: pachet: ;Chiinau, str Gogol, 128 ap 5
nume: Horea
prenum;Ana achitai:
;C
actual+
i |v
suma
luna
IEIR E
V
: Record:
:.|
.1
1 i
II M ]!] of 5
........ .. .
,..
_m
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 '
t'
Form Footer
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-
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
94-
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^
Normalj
V' i
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.
1. 2. 3. 4.
96
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
"Omega" SRL
1074601901954 22576019783743
Pentru banc
Adresa
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
- 100 -
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