access

Upload: covrigica

Post on 30-Oct-2015

59 views

Category:

Documents


0 download

TRANSCRIPT

  • (1531) UNIVERSITATEA DE STAT DIN MOLDOVA FACULTATEA DE TIINE ECONOMICE

    Catedra Contabilitate i Informatic Economic

    Nicolae PRODAN, Natalia APETRII, Claudia GAIDU,

    Natalia GORECHI, Valentina TRU, Ala TATARCIUC

    Elaborarea BD cu ajutorul SGBD Access

    Lucrri de laborator

    Aprobat de Consiliul Facultii de tiine Economice

    Chiinu, 2011 CEP USM

  • CZU 004.65(076.5) E 35

    Recomandat de Catedra Contabilitate i Informatic Economic

    Descrierea CIP a Camerei Naionale a Crii

    Elaborarea BD cu ajutorul SGBD Access: Lucrri de lab. / Nicolae Prodan, Natalia Apetrii, Claudia Gaidu [et al.]; Univ. de Stat din Moldova, Fac. de tiine Econ., Catedra Contabilitate i Informatic Economic. - Chiinu: CEP USM, 201 1. - 102 p.

    50 ex.ISBN 978-9975-71-121-0.

    004.65(076.5)E 35

    ISBN 978-9975-71-121-0 Nicolae PRODAN, Natalia APETRII,Claudia GAIDU, Natalia GORETCHI, Valentina TRU, Ala TATARCIUC, 2011

    USM, 2011

  • INTRODUCERE

    De mai bine de dou decenii, bazele de date, prin performanele i avantajele lor, au fost i vor rmne n continuare modalitatea principal de structurare i organizare a datelor n cadrul sistemelor informatice. In plus, productorii de software au creat Sisteme de Gestiune a Bazelor de Date (SGBD) tot mai performante i n acelai timp ct mai simplu de utilizat. 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 informaii. 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 exploatarea unei BD relaionale.

    Fiecrui student i se va propune o problem individual (Anexa 3). Aceasta se va diviza n subprobleme n conformitate cu temele lucrrilor de laborator. 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, studentul 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, prezentat 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.

    - 3 -

  • 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 deprinderi 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 cunotinele 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, USMNatalia 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)

    - 4 -

  • Lucrarea de laborator nr.1

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

    Scopul lucrrii: familiarizarea cu principiile de baz aplicate n lucrul cu SGBD (Sistem de Gestiune a Bazelor de Date), nsuirea deprinderilor practice n crearea tabelelor; efectuarea operaiilor primare asupra datelor.

    Noiuni generaleO Baz de date (BD) poate fi definit ca o colecie de date aflate

    n interdependen, mpreun cu descrierea datelor i a relaiilor dintre ele. BD n special sunt utile pentru a prelucra un volum mare de informaii.

    BD relaional reprezint o mulime de relaii (tabele bidimensionale legate reciproc), fiecare relaie reprezentnd un tip de entitate (de exemplu: produse, colaboratori) sau o asociere dintre dou sau mai multe tipuri de entiti.

    SGBD reprezint un ansamblu de programe ce permit utilizatorilor s interacioneze cu o BD n vederea crerii, actualizrii i interogrii acesteia. Obiectivul esenial al unui SGBD este oferirea unui mediu eficient, adaptat utilizatorilor care doresc s consulte informaiile coninute n baz [1].

    Microsoft Access 2003 este un SGBD eficient i accesibil n crearea i dirijarea BD, cu o interfa prietenoas i o utilizare simpl.

    Fiecare sistem de gestiune administreaz datele conform unui anumit model de date. Exist mai multe modele de date utilizate n SGBD: modelul ierarhic, modelul reea, modelul relaional, modelul obiect orientat, modelul obiect relaional. Dintre acestea, n momentul de hv, modelul relaional este cel mai larg rspndit, n special n aplicaiile comerciale, i acesta va fi studiat n continuare n lucrarea de fa.

    MS Access permite proiectarea i crearea bazelor de date la un nivel destul de nalt fr a utiliza limbaje de programare.

    Aplicaia Access se lanseaz prin apsarea butonului Stort -> Programs -> MicrosoftOffice -> MS Access (des. 1.1).

  • Interfaa MS Access 2003, n afar de elementele standarde (bara de titlu, bara de meniuri, bara cu instrumente, zona de lucru, bara de stare), conine i panoul de lucru, amplasat n partea dreapt a interfeei cu mijloace care pot fi aplicate de ctre utilizator la soluionarea anumitelor sarcini (crearea i deschiderea BD, cutarea datelor informative .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 BDSe 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.

    - 6 -

  • 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 mrfurilor vndute de o oarecare firm.

    Descrierea domeniului de aplicare reprezint descrierea verbal a obiectelor, proceselor, fenomenelor i legturilor reale care sunt prezente printre obiectele descrise (vezi Exemplu de descriere a domeniului 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 automatizrii 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 nr.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, pachetul selectat i obligaiile clientului. La expirarea termenului abonamentului 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

    7 -

  • 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 datornic. Pentru a doua lun consecutiv de neachitare el este deconectat. 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 aplicare, de altfel i a scopului BD elaborate. Lipsa obiectivelor definitivate a BD poate conduce la o proiectare neadecvat a BD, incomod, nepotrivit obiectului real modelat i sarcinilor expuse spre soluionare prin aplicarea BD [1].

  • 1.2. Proiectarea BD unitabelareCrearea BD pentru exemplul descris mai sus (vezi descrierea

    domeniului de aplicare) presupune executarea urmtoarelor aciuni: pentru crearea BD noi, selectai meniul File ->New, apoi din panoul de lucru - Blank database (panoul de lucru este amplasat n dreapta interfeei Access). Se deschide caseta File New Database (des.1.2). n cmpul Save in indicai mapa, iar n cmpul File name introduceidenumirea BD datal.mdb. Activai butonul Create......, , , '

    ; ; ... . : v: xv.-;-

    Cdil liivnl Ivolv KlrrJvw (M' Adobe PDF |

    : Ti! !JJ;| ; \t I

    |My CiwpiiHv

    *w . PilfiQMOi pJ-AM.rmJb V iMyNMwerk ;

    * . Sv* t'/pe: : Mtro*oft 0

  • :| Tables j ; N~|j Create table by using wizard

    ^ Ouerie^ ' ^ Create table by entering data

    IS Forms

    Reports

    ^ Pages

    Macros ^ Modules

    Groups

    i'M Favorites

    Des.1.3. Caseta bazei de date - datai.

    ncepem elaborarea tabelului propriu-zis. Crearea tabelului se efectueaz n dou etape: definirea structurii (setul de cmpuri, etichetele 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

    Abonain conformitate cu exemplul precedent:

    NumePrenume

    Adresa SectorNr. de

    contractPachet

    Prepachet

    Nr. de canale

    Sumaspre

    achitare

    Dataachitrii

    Perioadade

    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 constructorului 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

    .......... i v

    Field Properties

    ; (Sonorei ; Lookup I

    A field name can be up to 64 characters long., including spaces.

    Press FI for help on fieid names,

    (1

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

    Seciunea Field Properties este format din dou pagini: General i Lookup. Pagina General conine setul de proprieti pentru fiecare tip de date, unele proprieti fiind comune pentru toate tipurile. Pagina lookup realizeaz a doua metod de creare a cmpurilor bazate pe o list de cutare. Descrierea proprietilor de baz ale tabelului sunt prezentate n Anexa 2.

    Completai cmpurile constructorului de tabele dup cum este re- im vontatn desenul 1.5. Coloana Description servete pentru include- i omentariilor i completarea ei nu este obligatorie.

    Pentru proprietile cmpurilor suma i pret definii valorile mar- r.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 '

    i 1 Data Type Description! Text adresa abonatului1 Text sectorul oraului: Text numrul contractului: Text denumirea pachetuluiNumber preul pachetuluiNumber numrul de canale incluse in pachetNumber suma spre achitareDate/Time data achitariiText ; peioada de achitare

    Field Properties

    j

    F.t

    adresasectorcontractpachetpretcanalesuma|dataluna

    jl General j Lookup

    | ; Field S ize .....I I Format I ' Decimal Places { Input Mask I I Caption I ; Default Value0 : Validation Rule1 I Validation Text I RequiredI I Indexed I Smart Tags

    iDouble

    1

    .......

    A field name can be up to 64 characters long.,

    including spaces. Press F I for help on field

    names.

    Des.1.5. Tabelul Abonai n regim Design.

    f| Open Design ...j New

    111 ! Create table by using wizard

    \ Create table by entering data

    1 Abonai

    Des. 1.6. Caseta BD datai.

    - 12 -

  • Deschiderea tabelului pentru introducerea datelor se efectueaz prin dublul clic pe numele lui din domeniul de lucru. Completai tabelul < ii date (des.1.7).

    nunu? adresa 1 $6Ctor | contract | pachet) pret | canale | suma | data | iuna j/j

    Il.ii ! Chljjnay, sir Gogol, 124 ap 45 D-459 2 60 40 60 .03.02.2010! ianuarieAII iu Dorin Chiinu, str Gogol, 124 ap 45 c ..... D-459 .2 ... 60 40 .....60 " 03.03.2010: februarie fthiiiliiMijii lr)ni Chlflnau, sir I Creang, 60, ap 15 D-517 11 30 20 30 07 02.2010 ianuarie jfj

    li ii i j Chiflnau, sir 1 Creang, 60, ap 15 D-517 30 20 ....3 0 .... 07.03.2010.; februarie | |FlflflU Alia Chiflnau, str Gogol, 128 ap 5 D-259 2 60 40 60 03.02.2010 ianuarie |jrinia Anei Chiinu, sir Gogol, 128 ap 5 : ......... D-259 2 60 40 60 03.03.2010 februarie Negru Ootlno Chlinau, cir Gogol, 124 ap 60 ".' . D-458 ... 30 20 30 09.02.2010 ianuarie ||l logiu Dorina Cliljlnau, sir Gogol. 124 ap 60 D-458 1........... ...... 30: 20 so: 04.03.2010 februarie |fVui.i Ion ( iii ...... . str 1 Creang, 26, ap 5 D-457 ;i...... 30 20 30;" 02 02.2010 ianuarie |Uihii lrii l hlinu, fir 1 Creang, 26, ap 5 0-457 ;1 30 20 30 05.03.2010; februarie |

    o: 0 0

    pe. . : 7 ) ] n' i' i j of 11 j

    Des. 1.7. Tabelul Abonai n regim Datasheet.

    ntrebri dc autoevaluare:I Definii noiunile de SGBD i BD. ( .tm sunt funciile generale ale unui SGBD?\ I numnrni modelele de date utilizate n SGBD.

    4 Definii noiunea de BD relaionale.S, Numii obiectele BD Access.Subiecte de autoevaluare:Pentru consolidarea cunotinelor i a deprinderilor practice nsu

    ite executai urmtoarele aciuni (sarcini):1. Reproiectai tabelul Abonai atribuindu-i alt nume.2. Deschidei tabelul n regim de design, adugai i lichidai coloane.3. Modificai tipul d ate 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.

    - 1 3 -

  • Lucrarea de laborator nr. 2

    : Crearea bazelor de date multitabelare

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

    Noiuni generaleMicrosoft 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 multitabelareProblema se soluioneaz pe baza domeniului de aplicare descris

    n lucrarea de laborator nr.l. Se cere de proiectat o BD multitabelar pentru unitatea economic Omega". O astfel de proiectare a BD necesit o abordare complex.

    Etapele de proiectare a BD:I) Definirea scopului i domeniului de aplicare a BD - scopurile i

    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 posibilii. 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 pre- Iiii itM/.i mult mai uor dac este depozitat independent una fa de rtllfi Dt1 exemplu, adresa i serviciile comandate de clieni se vor depozit.i in diferite tabele, astfel ca la lichidarea comenzii informaia ( h ( l ini i 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. informaia despre clieni (NP, adresa, sectorul, numrul mntr.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 refuz 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 informaia cu referire la o anumit entitate:

    Pachet- informaia despre pachete

    Pachet Pre pachet Nr. de canale

    Abonai - informaia despre clieni

    Nume Prenume Adresa Sector

    Achitri- achitrile efectuate de clieni

    Nr. de contract

    Suma spre achitare

    Data achitrii Perioada de achitare

    Des.2.1. Tabelele BD Abonai la a doua etap de proiectare.

    III) Stabilirea cheilor primare i legturilor dintre tabele.Pentru ca mediul Access s combine datele amplasate n diferite

    tabele, ele trebuie s conin un cmp (sau un set de cmpuri) cu un identificator unic pentru fiecare nregistrare. Un astfel de cmp (set de cmpuri) este numit cheie primar. Dac pentru tabel s-a stabilit cmpul cheii primare, programul Access exclude dublarea sau includerea valorilor NULL n acest cmp.

    Legtura dintre tabele este bazat pe cmpul comun, identic (dup tipul de date) n ambele tabele. De obicei, cmpul comun este cheia primara n tabelul de baz i cheia strin n al doilea tabel.

    - 16 -

  • '..I stabilim cheile primare i strine pentru tabelele create:/Y/ het - cmpul pachet este cheie primar.Abonai - ar fi logic s stabilim cheia primar compus pentru

    i flmpurile nume i prenume, dar ntruct cmpurile conin pn la 30 di' simboluri, nu este comod a fi utilizat n calitate de cmp de leg- tiiM 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 leg- 11it,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

    Ai l ill nr I

    I- olHirtt j

    Des.2.6. Caseta Lookup Wizard la pasul 1.

    Lookup Wizard

    Which table or query should provide the Values for lookup cduran?

    j Tdbic! Phtite

    3 :

    View

    -.latte Queries Q B flth

    | CmcH - |

  • HIIII IIIIN

    Avflihliln l ielcls:

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

    Selected Fields:

    [ c male mi j : ' : '

    Cancel ] [ < Back [ Next > ) V':! -

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

    Wl \\ m ii 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 .

    '! I

    1 ^ I Ascending )

    ~ 1 A5,:endin,3 1

    f-\ : : V : HQ

    : ' :

    Cancel ] I < Back | Next > J

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

    - 2 1 -

  • H ow w ide w ould y o u like th e colum ns in yo u r lookup colum n?

    To a d ju s t th e w idth of a column., drag its right e d g e to th e width y o u w ant., or double-click th e light edge of the column heading to get the best fit,

    I C a n ce l j [ < B a c k | N e xt > j j Finish

    Des.2.10. Caseta Lookup Wizard la pasul 5.

    ......... !

    W h a t label would yo u like fo r yo u r lookup colum n?

    : :T h o se a re all th e a n sw e rs th e w izard n e e d s to c re a te yo u r lookup colum n.

    j j D isp lay Help on custom izing th e lookup colum n.

    C a n ce l < I F in ish

    Des.2.11. Caseta Lookup Wizard la pasul 6.

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

    - 22-

  • Field Properties

    NumberDate/TimeTex

    4 P h b il I , |.1

    '1 .'1 11| fivMfie. iitinl Nai;ti1 a if M pI- Hill Hill I

    M wit Vdu*Vll>IaIInn Mid* VallCjitidn l lNfH]l HIB(|lfidr*pi|Ml 111 1.1U i

    Double

    > w ,0 .........................Viumar pozitiv"NoNo

    : Smart. Tags to be appfed to this ib id

    ra

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

    Imiplrltii Ubelul cu date.

    pachet | pret | canale |+ 1 30 20+ 2 60 40

    0 0

    ['cord: 1 H 1 ; j- i fV li H ji>+j of !'

    l i \ ' ir *luna

    + aprilie+ august+ decembrie+ | februarie ianuarie

    ' iunie' mai mart1 ......MiluiL' I' III 1" 1,111 l 1 '' 1 111 11111 li 1 : : ' ;:1

    1"Tf 1...... 13.......1

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

    - 23 -

  • ] contract nume prenume adresa+ D-259 Florea Ana Chiinu , str Gogol, 128 ap 5

    + D-457 + D-458 1 + D-459 ' + D-517 :

    Rusu Negru Al b Bulrnaga

    Ioni Dorina : Dorin ; Irina

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

    ; '< --

    tor | pachet j

    j Pecord: QJT] iii]

    | |

    IT

    data lunaD-259D-259D-457D-457D-458D-458D-459D-459D-517D-517

    606030303030606030300

    03.02.03.03. 02 .02 .05.03. 09 02.04.03. 03"02.03.03.07.02.07.03.

    2010 ianuarie 2010 februarie 2010; ianuarie 2010; februarie 2010 ianuarie 2010: februarie 2010 ianuarie 2010 februarie 2010 ianuarie 2010 februarie

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

    2.3. Proiectarea relaiilor dintre tabeleLa proiectarea BD multitabelare, mediul Access permite crearea le

    gturilor dintre tabele (meniul Tools->Relationships) cu alegerea tipului de asociere (butonul Join Type) i asigurarea integritii refereniale a datelor (meniul Relationships->Edit Relationships, vezi des.2.16).

    Deschidei caseta Relationships (vezi des.2.15). Ca urmare, automat se va deschide caseta Show Table; adugai tabelele. Legturile formate cu ajutorul programului Lookup Wizard ntre tabele sunt automat stabilite de sistem.

    ...h *

    'T~'-

    pachetrilpret li canale 1

    :: contractlinume : prenume

    . :adresa |sector Ipachet

    suma Li; data liluna

    H

    Des.2.15. Caseta Relationships.

    - 24 -

  • I '.ir necesar a stabili legtura dintre tabelele Abonai i Achitri. -li i i.ii cmpul contract din tabelul Abonai i deplasai-l n tabelul

    w nituri, 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-to- imtny Intre tabele (des.2.17).

    iTable/Query; Related Table/Query: Create

    contract v contractCancel

    Join Type,.

    F I Enforce Referential Integrity

    0 Cascade Update Related Fields

    1............ I Cascade Delete Related Records

    Relationship Type: One-To-Many

    Create New.

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

    JM H H

    I It nl

    luna

    li suma

    data

    .luna

    Des.2.17. Caseta Relationships.

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

    - 25 -

  • La stabilirea legturilor dintre tabele sau modificarea tipului de legtur avem posibilitatea s definim parametrii integritii refereniale a datelor:

    Enforce Referential Integrity (impune nregistrarea referenial) - prentmpin apariia nregistrrilor n tabelul subordonat ce nu corespund nregistrrilor din tabelul principal.

    Cascade Update Related Fields (reactualizarea n cascad a cmpurilor 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 nregistrrilor 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 nregistrri 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 rui 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 cm- I it t pmvl ru BD unitabelar, abordnd urmtoarele teme: chioc ci / j i f *; magazin alimentar; policlinic (registratur); evidena p if ionelului.h u le i inl o BD multitabelar pentru temele propuse n p.12, stabilit! leciile dintre tabele.

    Niiiiini \r ele autoevaluare:lldhoi *1 l proiectul BD multitabelare, stabilind cheile primare i

    ibilMijl dintre tabele:0 v .i ibMii de* produse ;

    li) biblioteca; ) .

  • Lucrarea de laborator nr.3

    Tema: Interogri. Interogri de tip Select. Interogri cu parametru

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

    Noiuni generale0 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 interogare 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 asemenea, se poate folosi o interogare de selecie pentru a forma cmpuri 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 nregistrrile 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 anumit 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 subproblemei este prezentat sub form de exemplele citate mai jos).

    - 28 -

  • I 1 Interogri de seleciehniiM tnrea interogrilor de selecie n regimul Design View. La

    i>f ! t i,jr,i interogrilor de selecie n regimul Design View, este posi- ihi i * ihi^rrea datelor din unul sau mai multe tabele, precum i inte- M-t j i ,i eroarea criteriilor de selecie se vor utiliza:

    n a rato ri aritmetici: +, -, /, V *, A, nriod; npri.itori relaionali: , =, >=,

  • 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 afiarea datelor din

    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 aFirst - 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 grupare. 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 abonailor 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 interogrilor: 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 I l i l t

    $ (luwiyl ! Select Query

    Tables Queries | Both

    j Achitri : Luni j Pachet

    F i i l i i

    fillet f1

    PhiWI t f iM F l l

    H i

    aii.

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

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

    I ( nmpleUi grila interogrii conform desenului 3.3.- l a i x j

    r

    H e iim ii

    |1

    Mijite pi lipf i iu r tf ii I1 i a n s lei J r i i *

    Ufe hri

    \v m te i!

    fi g> i ? prenum e p a ch e t ca n a le :

    m Abuii.aU A bona i P a che t P a c h e t i 0 0 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 ati_40 can a le ; Select Q uery

    contract! nume } prenume | pachet 1 ifanale ~|D-459 Albu Dorin 2 40)D-259 : Flo re a Ana 2 40

    \ Record; IH |( i j J ~ (H ) of iiDes.3.4. Interogarea abonai_40canale n regim Datasheet

    Exemplul 2. Afiai informaia referitoare la abonaii care au ncheiat contracte cu urmtoarele numere: D-517" i D- 459" pentru perioada 01/02/2010-30/04/2010.

    Completai grila interogrii conform desenului 3.5.: "-"''.. :: "

    tbSu 1 prenume num* pachet cre SumaAchitata: suma !, r,-. dataAbonai j Abonai Abonai Pachet Pachet Achitai Achitai AchitaiAscendina Ascending

    0 1 0 0 0 L 0 0 0 0"d-5171'"d-459"

    >=#01.02.2010# And

  • 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 i1 primele zece zile ale urmtoarei luni).

    ! nrild Interogrii conform desenului 3.7.

    contractsumadataluna

    HRiHimn sumaAliniiatl Actiitarl_________ Achitri

    #07.02.2010# ianuarie"

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

    INlliHiftIi i i i l t | MfH t Query . j Q j x j* "U lm i| mima prenume f suma II data 1 luna |

    1 ftiHiji *N! Niyiu

    IonI inrina

    3030

    02.02 2010 ianuarie 09.02.2010: ianuarie

    t ........... .... t; H i < II 1 1 H 1 J Of 3

    Mrs, ,N. Inlcrogarea Abonai_info2 n regim Datasheet.

    I Ht-mi)lul 4. Creai o interogare care afieaz lista abonailor pentru u aiin.i hltcHd n ianuarie coincide cu preul pachetului:

    umpluLil frlla interogrii conform desenului 3.10.Mmttm i inpul suma (ntruct valoarea cmpului respectiv trebuie

    1 ^ T ,| < vrtlonrea cmpului pre din tabelul Pachet) formai cri- inHul lf* * Imi (* in urmtorul mod: executati dublu clic pe pictograma

    INMm/M a*l din brti i de Instrumente Query Design. Ca rezultat se des- hl h ! * * l * I** (ll.ilog Expression Builder (des.3.9). Executai clic pe

    ) tiu mmp.H.iip , selectai obiectul Tables->Pachet->pret,p pt iii i i llk pe butonul O/c.

    33 -

  • Pentru cmpul luna-nscriem denumirea lunii ianuarie, iar pentru cmpul data - perioada de achitare.

    Expression Builder

    =[Pachet]![pret]f

    Cancel

    * / : I = > < j And Or Not Like i ( )f HelpCD exemplu2 Tables

    CD Abonai D Achitri CD Luni

    S ] Queries (+] Forms Reports

    Des.3.9. Caseta de dialog Expression Builder.

    I Ipretcanale

    1 OQcontract contractnume sumaprenume dataadresa lunasectotpachet

    jRj J

    i Feid: contract nume prenume pachet pret suma luna data

    Table: Abonai Abonai Abonai Pachet Pachet Achitri Achitri Achitri Sort;

    Stow: 0 0 ....... 0 0 0 0 0, Criteria: 1: or:!bY : : " #01.02.201# And

  • I H ttn f iU ilSil si> determine numrul abonailor pentru firma Omega".Sw ; -JOj.X|

    3

    1 I| -------- 7|Ml: iili'W 11Mai iui

    -1, mie ut

    . if1

    Nr^ AbonaN - ini xjC o u n t O fc o n r a c t

    | j Recofd: H i ; 1f*

    I 1* * I/ InltMGgiirea Nr_AbonatiIn h jim Design.

    Des.3.13. InterogareaNr_Abonati n regim Datasheet.

    t (>hil f ( r stime de bani a ncasat firma Omega" pentru fie- h 1 (in ||i!H*l(* trei luni) a anului 2 0 1 0 .

    * t.il (41 il.i Interogrii conform desenului 3.14.

    j n i x j

    FteM? jllHJ suma data ------ -t i M r fvfii'f l!! Achitri Achitrif U jn 'iii | Sum W here4* 1

    4 4 * i i | > # 3 1 .0 1 .2 0 1 0 # And < # 0 1 .0 5 .2 0 1 0 -:

    W!i i i i

    i

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

    - 35 -

  • g p S u m a Jto cas& tra ;!luna 1 S u m O fsu m a j|

    _ februarie .. j 21 Opianuarie 2 10 Jm artie 230 '

    [ Record: H [ | P i l

    Des.3.15. Interogarea Suma_Incasat n regim Datasheet.

    Exemplul 7. Ce sum de bani urmeaz s ncaseze firma Omega de la fiecare abonat n primul trimestru al anului i ct a ncasat de facto.

    Completai grila interogrii conform desenului 3.16.gfp Sume: Select Query rJPjxJ

    pretcanale

    7 ..............................

    contractnume \ *prenume v '~ contractadresa sumasector datapachet luna

    | Field: Table; \ Total:

    Sort: Show:

    ; Criteria: ; or:

    contract nume TotalSuma: [pret]*3 SumaAchitata: sum; data -jAchitri Abonai Achitri AchitriGroup By Group By Group By Sum Where

    Ascending0 0 0 0 : > = # 0 1 .0 2 .2 0 1 0 # And < = # 3 0 .0 4 .2 0 1 0 # jJ j j ' >

    Des.3.16. Interogarea Sume n regim Design.

    . r lQ j >Scontract ] nume I TotalSuma | SumaAchitata | \

    D-459 Albu 180 22| :D-517 Bulmaga 90 so,D-259 Florea 180 190:;;D 458 Negru 90 90D-457| Rusu 90 90-

    R e c o rd : | < | j 5 | | J o f 5Des.3.17. Interogarea Sume n regim Datasheet.

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

    - 3 6 -

  • nmplH.ti grila interogrii conform desenului 3.18.

    lum ajiied ie: Select Quera - - l a l l

    _

    contractM

    data li ii ia

    rifilil! |i ma| T i Suma medie: suma1 .Nr; Achitri Achitri1 ni. ill Group By Avg

    nil!iliBWi 0 0 1iii il !

    1 jj :: * * I N. Interogarea Sumajnedie n regim Design.

    :luna | Suma_medie

    > aprilie -jJ 48,88866886871;februarie 42 ianuarie 42mai 30martie 57 ,5

    l-nuord: H j ' II

    lh VI1). interogarea Sumajnedie n regim Datasheet.

    i Im* *f:,ii cu parametru i 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

  • Field; contract nume prenume pachet pret suma luna dataTable: Abonai Abonai Abonai Abonai Pachet Achitri Achitri AchiftariSort: Ascending Ascending

    Show: 0 0 0 0 0 0 0 01 Criteria:|

    [intrewiceti numrul ediRJ

    .>=[!1 perioaaeiij

  • In lu h;iri do autoevaluare:I * (hiji noiunea de interogare.

    tfiiimpi l modalitile de creare a interogrilor n Access, I i( I dr interogri cunoatei?* r Mint opnratorii, funciile utilizate la crearea cmpurilor calcu

    lat**u its f % I ni It * so utilizeaz rndul Criteria i rndul Or?

    In < - in * utilizeaz opiunea Group by, Where i Expression?% in n Miti.iln (* utilizeaz caseta de dialog Expression Builder?0 I jiii j p I n de utilizare a operatorilor logici.

    nhi* dn autoevaluare:1 tniijlij abonailor din sectorul B.

    1 in hnln ofer firma Omega"? f I i 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

  • Structura raportului individual:1. Foaia de titlu.2. Introducere.3. Proiectarea interogrilor de selecie (formularea enunului pentru

    fiecare interogare, prezentarea interogrilor n regim Design iDatasheet).

    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 calculate, criterii de selecie i gruparea se face dup un singur cmp;

    3.3. interogri de tip Select ce includ rndul total, cmpuri calculate, criterii de selecie i gruparea se face dup mai multe cmpuri;

    3.4. interogri cu parametru.4. Bibliografie.

    - 4 0 -

  • Lucrarea de laborator nr.4

    Tema: Interogri de aciune

    %i opul lucrrii: nsuirea deprinderilor practice n crearea i redacta h- Inkn o p rilo r de aciune n SGBD Access.

    Naiuni generalemi. torurile de aciune (Action Query) sunt interogrile care efec-

    f hlinlbiri la nivelul bazei de date; aceste modificri afecteaz tu i.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, iiiiiMf H mi 11 i tirile lichidate, modificate nu pot fi restabilite,

    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 Ai1 Hor 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;- hiti4 ciHtti 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

  • 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 ni|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 Yes,* 1 i efectua modificrile respective. Pentru a renuna laittHilili. h i lonai butonul No.

    (Witr A cc ess

    Voii re about to update 3 row(s}.

    ( you dick Y es, you can't use the Undo command to reverse the changes.

    At you sure you w ant to update these records?

    j . 'fes J I No I

    lhs.4.3. Confirmarea actualizrii datelor.

    Ininogarea atribuindu-i numeleModificore_denumire_conaL

    l ' untm vi/u,iliza rezultatele, deschidei tabelul Pachet (des.4.4), Abonai (dos.4.5) din grupul de obiecte Tables (tabelul Pachet

    ni f h i tu t tabelul Abonai; modificrile efectuate n tabelul Pachet mi (i vUuali/rth1 i}\ n tabelul A bo n a intruct datele se actualizeazrtiiti ih h I )

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

    - 4 3 -

  • . j Abonai:

    ^contractf

    :D457ID-458D-45S-517

    rd:

  • n final, salvai interogarea cu numele Crearea_tabelului_info. Pentru a lansa interogarea, executai dublu clic pe denumirea ei sau dac suntei n regim Design tastai butonul Run ! .

    Pentru a putea vizualiza rezultatele, deschidei tabelul info (des.4.7) din grupul de obiecte Tables.

    ..I in fo :Table contract

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

    Record: Q jJ J 1 | [ H |>* j of 5

    Des.4.7. Tabelul info n regim Datasheet.

    Etapa IIPrin 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 yi; Append Qyc-% .......... t ' ^

    AWb.ri

    r.lAlnImn

    htkJitablei

    flori:

    |8Append To

    Table Na^e:

    % Current-Database Another Database:

    Iks.4.8. Interogarea Adaiigarea_datelorJa_tabelulJnfo n regim Design.

    - 45 -

  • 3. Alegei din meniul Query opiunea Append Query. Pe ecran apare caseta de dialog Append (des.4.8). Din lista derulant Table Name selectai numele tabelului info n care vor fi copiate noile nregistrri 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 suma lunaTable: j Achitri Achitri Achitri

    Sort: i------ ------:1 Append To: | contract suma

    Des.4.9. Interogarea Adaugarea_datelor_la_tabeliil_info n regim Design.

    5. Salvai interogarea cu numele Adaugarea_datelor_la_ tabelul_ info. Lansai interogarea, n caseta de dialog indicai luna (des.4.10):

    Enter Parameter Value 1. *

    introduce!} luna

    ; martie

    1 K 1 i Cancel ]Des.4.10. Caseta de dialog care solicit parametrul.

  • 6. nregistrrile vor fi adugate n tabelul info (des.4.11).-j info: Table

    c o n t ra c t

    i c:?s u m a

    o|;D -5 1 7 olD -2 5 9 .......... , olD -4 5 8D -4 5 7 olD -4 5 7 3 d D -4 5 9 100];D -4 5 8 3 0 ; :D -2 5 9 70

    1Record: jM | j i .1

    Des.4.11. Tabelul info n regim Datasheet.

    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 IIILa 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 ke Tabfe Query ; crn 05 7Z

    Fieid: Table: Total: Sort:

    Show: [ Criteria: f

    M ak e T a b le 1 t?Mate New Table I J J2L., J 1! TabieN am e: datoriij# Current Database Cancel j

    :. | f ) Another Database:\ .................................... j !>:1

    Des.4.12. Interogarea Crearea Jabehilui_datorii n regim Design.

    - 4 7 -

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

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

    Des.4.13. Tabelul datorii n regim Datasheet.

    4.3. Interogri pentru lichidarea nregistrrilor din tabele (Delete Query)

    Exemplul 3. Lichidai abonatul cu contractul D-457, care nu mai solicit serviciile firmei. Pentru soluionarea acestei probleme creai copiile tabelelor Abonai i Achitri, pentru a nu modifica datele din tabelele-surs.

    1. Cu ajutorul interogrii Crearea_copie_tabelului_Abonati de tip Make-Table creai copiile tabelelor Abonai i Achitri: Copie_tabel_ Abonai (des.4.14) i respectiv Copie_tabel_Achitari (analog crerii tabelului Copie_tabel_Abonati).

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

    - 48 -

  • 2. Deschidei tabelul Copie_tabel_Abonati n regim Design i stabilii cheia primar pentru cmpul contract.

    3. n caseta Relationships (des.4.15) stabilii legturile permanente dintre aceste dou tabele (pentru a lichida datele concomitent din ambele tabele).*'f Relationship? i cp ' i p j

    Edit Relationships

    /Query: Rele ted Table/Q uery:

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

    I contract contract

    f j Enforce R e fe re n t Integrity

    i Q Ca sca d e Update Related Fields

    j Ca sca de Deiets Related Record s

    Relationship T y p e One -To -Many

    I O K

    j Cancei

    j join Type,,

    j Crea te New, ,

    Des.4.15. Stabilirea legturilor dintre tabeleleCopie J a bel_Achi tari i Copie _tabel_Abonati.

    4. Creai o interogare pe baza tabelului Copie_tabel_Abonati (tabelul Copie_tabel_Achitori nu se anexeaz la interogare, deoarece este stabilit legtura dintre aceste dou tabele i opiunea Cascac/e Delete Related Records este selectat).

    5. Selectai opiunea Delete Query din meniul Query. Ca rezultat, titlul constructorului de interogri se schimb n Delete Query, iar n gril apare rndul Delete.

    6. n rndul Field includei cmpurile care vor fi afiate sau pentru care vor fi specificate condiiile de selecie, adic cmpurile contract, nume, prenume. Ca rezultat, n celulele respective pentru fiecare cmp apare opiunea Where (din engleza - unde, n carej (des.4.16).

    7. Introducei n rndul Criteria criteriile de seleciei. n cazul nostru, pentru cmpul contract scriem condiia D-457 (des.4.16).

    49

  • _ip Li ch ida rea_c on tra ctu I u i_d457 : Delete Query

    r .................................. ................. ........F ie ld : i - num e p ren u m e *

    T a b le : C o p ie _ ta b e i_A b o n a C o p ie _ ta b e l_A b o n a C o p ie _ ta b e i_A b o n aD e le te : W h e re W h e re W h e re

    C r ite r ia : j d -4 5 7 *

    o r:

    . 1 O f 1

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

    9. Dac rezultatele obinute n p.8 sunt cele dorite, revenii n regimul 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.

    se c to r

    - 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 interogrii apare rndul Delete.

    4. Pentru a anexa tabelul la grila interogrii, selectai cmpul ce este marcat cu semnul *" din tabelul Copie_tabel_Achitari i inclu- dei-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 re a jfa te io r _ d in _ c o p ie _ ta b e lu l_A c h tta r i ; D e lete Q u ep / I II 13 iM 3 l

    Field:.Table:

    ------------------------ -----Copie_tabd_Achitari. * j 1 uCopie tabel Achitri

    Delete:: Criteria::

    or::

    i

    * . .... - .... Des.4.18. Interogarea Lichidarea-datelorjiin_copie_tabelul_Achitari

    n regim Design.

    ntrebri de autoevaluare:1. Ce nseamn interogri de aciune?2. Cum poate fi vizualizat rezultatul interogrilor de aciune?3. Ce aciune ndeplinete interogarea Make-Table?4. Pentru ce se utilizeaz interogarea Append?5. n proiectul interogrii de tip Append indicm tabelul din care se

    adaug datele sau tabelul la care se adaug datele?6. De cte ori se poate executa interogarea de tip Append? Argu

    mentai rspunsul.

  • 7. Pentru ce se utilizeaz interogarea Update?8. Pentru ce se utilizeaz interogarea Delete?9. Explicai n ce cazuri la interogarea de tip Delete se utilizeaz

    opiunea From i n ce cazuri - Where.10. Care este deosebirea dintre acionarea unei interogri de tip

    Append sau Make Table de una de tip Select?11. Cum putem deosebi tipurile de interogri pe pagina Queries?

    Subiecte de autoevaluare:Pentru consolidarea cunotinelor i a deprinderilor nsuite nde

    plinii urmtoarele sarcini:1. Schimbai denumirea pachetului 2 n actual +.2. Afiai lista abonailor ce au achitat parial abonamentul pe luna

    aprilie.3. Afiai lista abonailor ce au achitat un avans pentru luna....4. Creai tabelul Contract. De stabilit legtura cu tabelul Abonai. Com

    pletai tabelul Contract n modul urmtor: fiecrui abonat i corespunde un numr de contract, contractele se ntocmesc pe 6 luni.

    5. Creai un tabel n care se vor include datele despre abonaii a cror contract a expirat n luna mai. Creai o copie de rezerv.

    6. Lichidai informaia despre abonaii a cror contract a expirat n luna mai i nu au datorii.

    7. Facei o copie a tabelului Achitri. Lichidai din tabelul Copie_Achitari informaia despre abonaii ce au achitat plata pentru lunile ianuarie i februarie.

    Structura raportului individual:1. Foaia de titlu.2. Introducere.3. Proiectarea interogrilor de aciune (formularea enunului pentru fie

    care interogare, prezentarea interogrile n regim Design i Datasheet).3.1. Make-table query;3.2. Append query;3.3. Update query;3.4. Delete query.

    4. Bibliografie.

    - 52 -

  • Lucrarea de laborator nr.5

    Tema. Crearea macrocomenzilor (Macros)

    Scopul lucrrii: \nsuirea deprinderilor practice n crearea i redactarea macrocomenzilor.

    Noiuni generaleO macrocomand este un instrument care permite ridicarea gra

    dului de eficientizare a activitilor.Crearea macrocomenzilor n aplicaia Access poate fi efectuat n

    dou moduri:- prin utilizarea limbajului Visual Basic for Applications - VBA;- prin utilizarea macrocomenzilor, care reprezint o form simplifi

    cat a limbajului de programare VBA.n cadrul macrocomenzilor pot fi incluse un anumit numr de aciuni.

    La selectarea unei aciuni urmeaz a fi completate argumentele solicitate pentru aciunea dat. Microsoft Access ofer un numr mare de aciuni ce pot fi executate n cadrul macrocomenzilor. Cele mai des utilizate sunt prezentate n tabelul 5.1.

    Tabelul 5.1Aciuni, destinaia lor i argumentele

    Aciunea Destinaia ArgumenteleRunMacro Lanseaz pentru

    execuie o macrocomand

    Macro Name (numele macro- comenzii)Repeat Count (numrul de repetri) Repeat Expression (criteriul de repetare)

    OpenQuery Afieaz cererea selectat n regimul ales

    Query Name (numele cererii) View (regimul de vizualizare) Data Mode (regimul de date)

    OpenReport Afieaz raportul selectat n regimul ales

    Report Name (numele raportului) View (regimul de vizualizare) Filter Name (numele filtrului) Where Condition (condiiile de selecie)Window Mode (regimul ferestrei)

    - 53 -

  • OpenTable Afieaz tabelul selectat n regimul ales

    Table Name (numele cererii) View (regimul de vizualizare) Data Mode (regimul de date)

    DeleteObject Lichideaz obiectul indicat (ales)

    Object Type (tipul obiectului) Object Name (numele obiectului)

    OpenForm Afieaz formularul selectat n regimul ales

    Form Name (numele formularului) View (regimul de vizualizare)Filter Name (numele filtrului) Where Condition (condiiile de selecie)Window Mode (regimul ferestrei)

    Close nchide obiectul indicat sau fereastra activ (dac lipsete argumentul)

    Object Type (tipul obiectului) Oject Name (numele obiectului) Save (salvarea)

    Quit 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 soluionarea subproblemei pot servi exemplele de mai jos).

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

    spre abonaii ce nu au achitat plata pe luna cerut de utilizator.Pentru soluionarea acestei probleme vei utiliza interogrile de

    tip Make-Table i Append create n LL nr.4.1. Din caseta Database selectai obiectul Macros, apoi butonul

    New din bara de instrumente.2. Se deschide constructorul de macrocomenzi (des.5.1).

    - 5 4 -

  • j ! : Macro (to I1 GDjEjAction [ Comment |

    L

    Action Arguments

    Enter an action in this column,

    Des.5.1. Constructorul de macrocomenzi n regim Design.

    Constructorul de macrocomenzi conine dou seciuni:Action - n care se aleg aciunile necesare ce urmeaz a fi execu

    tate, fiecare aciune pe o linie distinct. Precizarea aciunii se face prin selectare din lista derulant afiat de Access.

    Comment-e ste opional i la necesitate se descrie comanda. Prima aciune n exemplul nostru va fi OpenQuery i va deschide

    interogarea crearea_tabelului_info care creeaz tabelul info (des.5.2).

    2 M a c r o l : M a cro!.... Actioni > !>*\_ ; OpenModiile >

    O penO uery I IjO penReport

    I Opentor-edProcedurej O penTsbie| QpenYiew j OutputTo | Printout

    Action Argumente

    Enter an acbon in this column.

    Des.5o2. Aciunile care formeaz macrocomanda.

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

    55

  • Un argument este o valoare care furnizeaz informaii pentru aciune. Anumite argumente sunt obligatorii, altele sunt opionale. Argumentele sunt vizualizate n panoul Action arguments din partea de jos a constructorului de macrocomenzi.

    3. Pentru argumentul Query Name selectai din lista derulant denumirea interogrii crearea_tabeluluiJnfo (des.5.3), argumentele View i Data Mode au valori implicite (care dup necesitate pot fi modificate).

    -M ac r o l : M acro

    Action !

    :7:; jS 'V - l

    Comment: | *.O penQ uery........................................ Crearea tabelului Info ^ a ju to r u l Interogrii Crearea J a ^ i ^ M n f o

    1Action Arguments

    efeci the names o f the Query to open. The fisi shows a$ queries in. the current database. Required argument. P ress F I for heto'on this argument.

    Des.5.3. Argumentele aciunii OpenQuery

    4. Adugarea datelor din tabelul Achitri n tabelul info este executat 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 r o i r M acroAction j 6 r . W - ? " f

    OpenOuery OpenOuery j Crearea: tabeLiut info cu ajutorul ineogari; CreareaJa b e lU u iJn foAdaugarea datelor d- tabelul A chtan la . iabeiui info, foios-m. A d a u gare a_ d a ce b r_ aJab e lu lJn fq

    Acbon Arguments

    : Query Name

    : Data Mode

    [Adaugarea_datsior j a ja b e iu ! jn f o j iT .: Datasheet

    M ilZ 'Z .

    Select Ihe name o f the query to open. The list shows all queries in the current database, Required argument, Press ? l ffcr help on this argum ent

    Des.5.4, Argumentele aciunii OpenQuery.

    - 5 6 -

    Query -Jsme ViewData Mode

    | A.dsugarea_dteiorJaJabeiu lJnfo ii A daugarea_datebr J a tabelul J n f o jI Crearea_copie_tabelulu_Abonati

  • 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 M a c r o l : 1 I_____________ Acpon______________J____________________________________________________________________________________

    Crearea tabelului nfo cu ajutorul interogrii CreareaJtabeluiiJijnfoAdaugarea cateior d: {abekil A^ita^ri Sa tabelul irifo> foiosinuerere5 Ari5LiC 3rea_dateio rJaj3b eiu iJn fe Crearea tabelului datorii, folosim interogarea Crearea_tabelay_datori;

    Action Argumente

    llia is s io ..... s

    l Select the n an e o f ih e query to open, The list shows a i queries in the current database. Required argument, Press F l for help on this argument.

    OpenQueryOpenQuery

    L L OpenQueryt .L

    Query Name ViewData 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 .

    X Co;m entOpenQuery OpenQuery .i^enQury..., CtoenTatfc j

    Table Nstne

    ; Data Mode

    Crearea tapelulu: info cu ejuO;pi r:tero9ar4 Creat'ea_abelului Jr :fo ........................Adaugarea daeb rd i tabelul Achitri le info, folosim cererea Atfaugarea_fi Crearea tabelului datori, foiosan interogarea Crearea Jabeli;i_datotfi

    ...Afiarea tabsIuM dsor i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    telor la tabelul =nfc

    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 sauI ii

    activnd butonul_: . Ca rezultat apar mai multe casete de dialog ncascad, pentru care alegei butonul Yes.

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

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

    Subiecte de autoevaluare:S se creeze macrocomenzi pentru:

    1. Deschiderea unui tabel - MACRO-1.2. Ieirea din aplicaia Access - MACRO-2.3. Rularea unei interogri- MACRO-3.4. Redenumirea unui tabel - MACRO-4.5. Lichidarea unui obiect - MACRO-5.6. Deschiderea unui formular - MACRO-6.

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

  • Lucrarea de laborator nr.6

    Tema: Importarea/exportarea datelor n aplicaia MS Office 2003 (Access, Excel)

    Scopul lucrrii: studierea metodelor de organizare a interaciunii ntre aplicaiile MS Access i MS Excel. nsuirea deprinderilor practice n exportarea i importarea datelor n mediul Access.

    Noiuni generaleUtilizatorii aplicaiilor Office sunt nevoii frecvent s prelucreze

    informaii provenite din diferite surse, ceea ce implic necesitatea de a importa i a exporta date. Totodat, este necesar a ine cont c transferul datelor dintr-un format n altul urmeaz a fi efectuat fr erori i pierderi de informaii importante.

    n lucrul cu datele, pentru comoditate, informaia se pstreaz i se prelucreaz n tabele. Aplicaiile de baz Microsoft Office 2003 permit lucrul cu tabelele. Fiecare aplicaie are posibilitile sale particulare, astfel, cu documentele i informaia ntr-un anumit program este mult mai comod de rensrcinat executarea anumitelor probleme altei aplicaii. De exemplu, calculele tabelare se execut destul de comod i uor n Excel. Prin urmare, va fi necesar exportarea datelor din Access n Excel.

    n aplicaiile MS Office pentru schimbul datelor sunt prevzute trei tipuri de aciuni:

    1) exportul (trimiterea datelor);2) importul (primirea din extern a datelor);3) legtura.n cazul aciunilor de import i export, rezultatul obinut nu este

    legat de datele iniiale, dar este o copie (adic, toate modificrile ulterioare asupra datelor n aplicaia-surs nu vor conduce la modificarea datelor n aplicaia-receptor).

    Doar aciunea de legare a datelor permite pstrarea lor n docu- mentul-surs (modificarea datelor n aplicaia-surs duce la modificarea datelor n aplicaia-receptor i invers). Astfel, n lucrul cu o surs de date legtura permite s utilizm posibilitile diferitelor aplicaii.

    - 5 9 -

  • Formularea subproblemei:De formulat probleme pentru exportarea/importarea datelor din/

    n BD multitabelar pentru o unitate economic (ca baz pentru soluionarea subproblemei pot servi exemplele de mai jos).

    6.1. Exportul datelor din Access n ExcelCt de comod i productiv ar fi prelucrarea datelor n BD Access,

    totui, mijloacele lui de calcul sunt mult mai restrnse dect n Excel.Pentru a trimite datele din Access n Excel, n caseta Database a

    aplicaiei Access este necesar a selecta tabelul, interogarea, forma sau raportul, apoi a executa comanda Tools-Office Links -> Analyze it with MS Excel.

    Exportul datelor din Access n Excel l vom prezenta n baza exemplului 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 menionate mai sus n regim de design i efectuai urmtoarele modificri: pentru ambele interogri modificai denumirea tabelului info2 (des.6.1-6.2).

    ' * li: - ' v : - -. '

    contractlijnume | prenume |i adresa || sector pachet

    Table Name: ;jnfo2j

    0 Current Database

    O Another Database:

    Field:Table:

    Sort:Show:

    Criteria:

    contract suma: 0Abonai

    . ) p i

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

    - 60 -

  • I contract I sum a

    j data

    |: luna

    1^^Append To

    Table Name: |jnfo2

    C urrent D atabase

    A nother D atabase:

    <

    Field:

    Table:

    Sort:

    j Append To:

    >

    contract suma luna

    Achitri Achitri Achitri

    contract suma

    IM -^v::::;

    ... '11 * m m!

    l f | | |

    Des.6.2. Interogarea Adaugarea_datelorJa_tabelid_info2 n regim Design.

    n continuare executai ambele interogri. Rezultatul este prezentat n tabelul info2 (des.6.3).

    contract ::urna I I ID-459 OgD-517 ' O l

    " D-259 O j" D-458 O l! D-457 O l' D-457 30" D-459 io o l" D-458 30 J' D-259 70

    B lSmI H *o Des.6.3. Tabelul info2.

    Datele din tabelul info2 se utilizeaz pentru crearea interogrii informatii_abonati (des.6.4).

    Informaia obinut cu ajutorul interogrii informatii_abonati se folosete pentru calcularea avansului depus de ctre abonai i a datoriilor abonailor. Calculele sunt efectuate n Excel, n prealabil ndeplinind exportul datelor - selectai interogarea informatii_abonati i consecutiv selectai comenzile pentru exportarea datelor (des.6.5).

  • contractnume

    i prenume

    I adresa

    :sector

    i pachet

    i contract

    suma

    contract n u m e prenume jsuma

    AbonaiAbonai Abonai A b o n a i

    Group By Group By Group By Group By Group By Group By

    loo ls | Window Help Adobe PDF

    %? Spelling.., F7

    I j Merge It with Microsoft Office Word

    I p Publish It with Microsoft Office Word

    ij Analyze It with Microsoft Office Excel

    Des.6.4. Interogarea informaii abonai.

    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.

    Table;

    Show;

    Criteria;

    Online Collaboration

    Relationships..,

    Analyze

    Database Utilities

    Security

    Replication

    Startup ...

    Macro

    ActiveX Controls...

    Add-Ins

    AutoCorrect Options..

    Customize...

    Options...

    ' ..... i |sign rfpNew | X i " [EEj il l l

    I ; j i Exemplul2

    : ExemplulS

    Modificare_denumire_canal

    [gp Nr Clienilor

    raport

    ;p raport2

    Xf Stergerea_datelor_din_tabelul_Copie_tabel_Pachet

    Suma_Incasata

    Des.6.5. Instruciunile necesare pentru exportarea datelor.

    - 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...... . ................. .......... 0 i F ' G i

    1 contract I nume J prenume | adresa | suma | pachet 1 P.fet2 ; D-259 Florea Ana |Chiinu, str Gogol, 128 ap 5 70 actual+ 60

    T....... i D-457 Rusu Ion :Chiinu, str I Creang, 26, ap 5 30 actual ..............30j D-458 Negru j Dorina Chiinu, str Gogol, 124 ap 60 30 actual 30

    5 1 D-459 ibu Dorin : Chiinu, str Gogol, 124 ap 45 100 actual+ 606 D-517 Bulmaga Irina iChiinu, str 1 Creang, 60, ap 15 0 actual 30

    i 7 1 ............................... .....................

    Des.6.6. Tabelul obinut n Excel.

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

    Salvai modificrile n fiierul informatii_abonati i nchidei-l.[ ' ' IL', '.7 B7X' X L I " T I T I 11 ''i t : ~ ] I j '"'7FTTT 1 (: i a*ans | fjlu c fll j 2 D-259 Florea Ana Chisinau, sir Gogol, 128 ap 5 70 actual- 60 =IF(J2>=0;J2;0) :=IF(J2

    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 Help Adobe PDF

    J J New...I ,,

    Open........ , |_

    Ctrl+N

    Ctrl+O

    1I

    ' f t 0Get External Data ; Import... 1

    I Close5 >

    14^3 Link Tables... L

    Des.6.9. Instruciunile necesare pentru importarea datelor.

    n caseta de dialog deschis Import selectai tipul fiierelor Microsoft Excel, selectai fiierul-surs, n cazul nostru informapfi_abonati.xls i acionai butonul Import.

    Look [n:

    My Recent Documents

    i

    . Visual FoxPro Projects

    ;

    :

    ; >1

    .... Paint. NET

    ESookl.xls Si.1ex.xls:

    -3lnat.xls

    My Network Places

    I File name:

    j Fi,es of type: Microsoft Excel (*.xls)

    Des.6.10. Caseta Import.

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

    - 6 4 -

  • ! t o te M icrosoft A ccess can u se your column headings a s field nam es for your table. Does the first row specified contain column headings?

    hTj |First Row C on tains Column Headings

    contract nurne prenurne adresa1 D-259 Florea Ana Chiinu, str Gogol, 128 ap2 D-457 Rusu Ion Chiinu, str I Creang, 2 6,3D-458 [Jegru Dorina Chiinu, str Gogol, 12 4 ap4D-459 Albu Dorin Chiinu, str Gogol, 124 ap5D-517 Bulmaga Ir ina Chiinu, str I Creang, 60, . 1 i J |

    Cancel Next > Finish

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

    mYou ca n s to re yo u r d a ta in a new table or in a n existing tab le .

    W h ere would yo u like to sto re yo u r d a ta ?

    !ln a N ew Tab le

    In an Ex istin g Tab le:

    contract nimie prenume adresa1 D-259 Florea Ana Chiinu, str Gogol, 128 ap2 D-457 Rusu Ion Chiinu, str I Creang, 26,D-458 Megru Dorina Chiinu, str Gogol, 124 ap4D-459 A lb u Dorin Chiinu, str Gogol, 12 4 ap5D-517 Bulmaga Ir in a Chiinu, str I Creang, 60,

    |4 j , i

    j C a n ce l I J < B ack | N ext > Finish

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

    - 65 -

  • 'm ,.Vou can specify inform ation about each of the fields you are importing. Se lect fields in the area below. Vou can then modify field information in the 'Field Options' a re a .

    Field Options .............. ...................................................................................................................................

    I Field Nam e:

    I In d exed : ;Mo j v ' ] Do not import field (Skip)

    contract nume prenume | adresa1D-259 Florea Ana [Chiinu, s tr Gogol, 12 8 ap2D-457 Rusu Ion Chiinu, s tr I Creang, 26,3 D-458 Megru Dorina Chiinu, s tr Gogol, 12 4 apElD-459 Albu Dorin Chiinu, s tr Gogol, 12 4 ap

    D-517 Bulmaga Irina Chiinu, s tr I Creang, 60,

    i 1 ! L J -If

    Cancel

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

    mm liOiifei 1M icrosoft A cc ess recom m ends that you define a prim ary key for your new tab le . A prim ary key is used to uniquely identify each record in your tab le. It allows you to re trieve d a ta more quickJy.

    Q Let A cc ess add prim ary key,

    C h o o se my own prim ary key, ....................... ( jIM g prim ary key.

    contract nume prenume adresa1 D-259 Florea Ana Chiinu, s tr Gogol, 12 8 ap a :2_D-457 Rusu Ion Chiinu, s tr I Creang, 26,3D-458 Megru Dorina Chiinu, s tr Gogol, 12 4 ap4D-459 Albu Dorin Chiinu, s tr Gogol, 12 4 ap- D-517 Bulmaga Irina Chiinu, s tr I Creang, 60,

    J . U

    j C ance l I < Back * Next > | [ Finish

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

    - 66 -

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

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

    Import to Table:

    }informatii_abonati_martie|

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

    Display Help after the wizard is finished.

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

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

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

    File \ Edit View Insert Jools Window Help Adobe PDF

    ! New... Ctrl+N

    1 Open... Ctrl+O

    Get External Data i Import.......... ^

    Close1 . ... ...7 ;...... .............. ;......... . ......................................................... .........

    - r j Link Tables. ..

    Des.6.16. Instruciunile necesare pentru legarea datelor.

    - 67 -

  • _J Tables

    j j l Queries ill Forms Reports

    Pages

    2 Macros

    Modules

    \ i Favorites

    Lansai programul Link Spreadsheet Wizard, paii cruia sunt analogii cu aciunile Import Spreadsheet Wizard. La ultimul pas indicai numele tabelului - informatii_abonati2. Ca rezultat va fi stabilit legtura 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 X - f i > [ !

    Objects I j i j y Create table in Design view Create table by using wizard Create table by entering data Abonai

    i Siinformatii_abonati_martieinformatii_abonati2_martieLuniPachet

    gj:fv]

    Copie_tabel_AbonatiCopie_tabel_AchitariCopie_tabel_pachetdatoriiinfoinfo2

    Des.6.17. Caseta BD datal.

    Dup stabilirea legturii, datele ce sunt pstrate n tabelul legat pot fi prelucrate att n Excel ct i n Access.

    Dac n continuare fiierul-surs va fi redenumit sau transferat n alt map, atunci legtura va fi ntrerupt. Pentru restabilirea legturii va fi necesar a indica amplasarea nou a fiierului-surs cu ajutorul comenzii Tools -> Database Utilities -> Linked Table Manager.

    ntrebri de autoevaluare:1. Ce este importul, exportul datelor?2. Cum se realizeaz importul datelor?3. Cum se realizeaz exportul datelor?4. 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.1Lista angajailor firmei

    N. P. Salariu Nr. de copiiCuco 1600 3Cebanu 500 2Ivanov 550 5Andrie 100 3Botnarenco 2300 1Cucut 1800 2Rusu 3700 2

    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 formula: = *

  • Tabelul 6.3Creai tabelul Reeaua tarifar n Excel

    Reeaua tarifarCategoria 1 2 3Tariful 50 70 90Ajutorul material 500 700 1000

    Structura raportului individual:1. Foaia de titlu.2. Introducere.3. Exportarea datelor din BD multitabelar (formularea enunului

    problemei, prezentarea obiectelor utilizate n regim Design iDatasheet).4. Importarea datelor n BD multitabelar (formularea enunului

    problemei, prezentarea obiectelor utilizate n regim Design iDatasheet).5. Bibliografie.

  • Lucrare de laborator nr.7

    Tema: Crearea rapoartelor n regimul de vizualizare Design

    Scopul lucrrii: nsuirea deprinderilor practice n crearea i redactarea rapoartelor n regimul de vizualizare Design View.

    Noiuni generaleRaportul este un instrument eficient de prezentare a informaiei

    stocate n BD prin imprimare. Raportul ofer utilizatorului un control complet asupra dimensiunii i aspectului fiecrui element constitutiv.

    Regimul de vizualizare Design este destinat pentru crearea de sine stttor a rapoartelor i pentru mprirea raportului n seciuni (des.7.1, p.3), acestea fiind componentele individuale care controleaz ce elemente apar i modul n care sunt formatate.

    Seciunile raportului: Report Header (Antet raport) - seciunea respectiv se impri

    m o singur dat, la nceputul raportului. Utilizai antetul raportului pentru a afia informaiile care apar n mod normal pe o copert, cum ar fi o sigl, un titlu sau data. Cnd plasai un control calculat, de exemplu funcia Sum n antetul raportului, suma se calculeaz pentru ntreg raportul. Antetul raportului se imprim nainte de antetul paginii.

    Page Header (Antet pagin) - seciunea dat se imprim n partea de sus a fiecrei pagini. De exemplu, utilizai un antet de pagin pentru a repeta titlul raportului sau un antet de tabel pe fiecare pagin.

    Group Header (Antet grup) - aceast seciune se imprim la nceputul fiecrui grup de nregistrri. Utilizai antetul de grup pentru a imprima numele grupului. De exemplu, ntr-un raport grupat dup luni, utilizai antetul grupului pentru a imprima numele lunilor. Cnd plasai un control calculat care utilizeaz funcia Sum n antetul grupului, suma se calculeaz pentru grupul curent.

    Detail (Detalii) - aceast seciune se imprim o dat pentru fiecare rnd din sursa de nregistrri. Seciunea Detail este locul n care se plaseaz controalele ce formeaz corpul principal al raportului.

    Group Footer (Subsol grup) - aceast seciune se imprim la sfritul fiecrui grup de nregistrri. Utilizai un subsol de grup pentru a imprima informaii rezumative pentru un grup.

    - 71 -

  • Page Footer (Subsol pagin) - aceast seciune se imprim la sfritul fiecrei pagini. Utilizai un subsol de pagin pentru a imprim,i numerele de pagin sau informaiile pentru fiecare pagin.

    Report Footer (Subsol raport) - aceast seciune se imprim o dat la sfritul raportului. Utilizai subsolul de raport pentru a impri ma totalurile raportului sau alte informaii de rezumat pentru ntreg raportul.

    Fiecare element dintr-un raport - cum ar fi un nume de cmp, o valoare calculat sau titlul raportului - este reprezentat n regimul de vizualizare Design de un control. Controalele sunt obiecte care afi eaz date, efectueaz aciuni i permit vizualizarea informaiei, cum ar fi etichetele i imaginile. Mediul Access accept trei tipuri de controale: 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 proprieti 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 operatori (+,-, *,/), 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 -

  • contract:nume

    p r e n u m e

    pretsumdjM&surrrjpbfifscta

    4 Page Footer

    =[Prenume]&" "&[Nume] - afieaz valorile care se afl n cmpurile 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

    j s i

    j R eport

    Format j Data j Event I

    ^ 3

    [ Other All |

    Record Source.................. .. , fdportQ! 4F ilte r............................ lf i le r O r*.............................. . mOrder 8 y ......................Order By O n ....................... ,, NoCaptionRecord lo c k s ....................... . Mo locksAuto , < YesAuto C ente r.................... .. . . NoPaqe Header.................... .. , All PagesPage F oo te r.................. All PagesDale Grouptnq * . < ,. , Use System SettingsGrp Keep Together. , , Per ColumnPopup . ........................... .. , NoModal . . . . . . . * . , . . < . . MoBorder Style , , StableControl Box . , . . . . . YesMn Max Buttons_____ . .; . ; Both Enabled JClose Button , Yes Z li

    i

    Des.7.1