ALTE DOCUMENTE
|
||||||||||
2. Sortarea si regruparea datelor
3. Combinarea a doua sau mai multe situatii finale
Vizualizarea datelor dintr-o baza de date se poate face pe ecran sau hârtie (la imprimanta) prin intermediul foilor de date, formularelor si situatiilor finale. Ultima posibilitate, constituie modalitatea cea mai buna de prezentare a datelor pe hârtie.
O situatie finala este o grupare de date prezentate într-un anumit format si o structura de pagina în functie de necesitatile utilizatorilor si care servesc diverselor scopuri de informare sau de fundamentare a deciziilor. În plus aceasta poate include totaluri, subtotaluri (dupa anumite criterii), subformulare grafice si obiecte de tip OLE. Sursa datelor unei situatii finale o constituie în principal cererile de interogare sau tabelele, restul facând parte din structura acestora. În general daca datele ce trebuie introduse în situatia finala au ca sursa mai mult de o tabela, se creeaza mai întâi o cerere de interogare (care reuneste datele din tabele) si apoi situatia finala bazata pe aceasta. Elementele de legatura între sursa de date si situatiile finale sunt controalele, zonele de text (pentru datele numerice si alfanumerice), cadrele (pentru imagini si grafice) si etichetele (pentru titluri, linii separatoare si patrate decorative).
Din punct de vedere al formei de prezentare situatiile finale sunt de trei feluri: pe o singura coloana simpla, gen tabel (cu posibilitati de a genera mai multe grade de totaluri) si eticheta postala. Crearea unei situatii finale în ACCESS se poate face cu sau fara ajutorul instrumentului wizard 535i824f .
Pentru a crea o situatie finala:
q se activeaza butoanele Reports si New care vor afisa o caseta de dialog;
q se selecteaza sau se introduce numele tabelei sau cererii de interogare pe care se va baza;
q se selecteaza Report wizard si se urmeaza instructiunile din casetele de dialog; sau
q se selecteaza Design view si se completeaza situatia cu controalele necesare, nivelurile de totaluri si alte elemente dorite de utilizator.
Raportul Furnizori prezentat în fereastra de proiectare
Structura unei situatii finale este ierarhizata în patru sectiuni: antetul general, antetul de pagina, antetul de grup si corpul propriu-zis al acestuia. Controalele care apar în corpul acesteia sunt de trei feluri: independente, dependente (care vin din tabele sau cereri de interogare) si calculate.
Dupa crearea unei situatii finale, pentru verificarea rezultatului înainte de imprimare, se poate vizualiza partial sau total. Vizualizarea partiala (un esantion) permite verificarea dispunerii în pagina, tipul de caractere si dimensiunea acestora, gradele de totaluri (daca au fost definite). Vizualizarea totala permite verificarea datelor si constituie imaginea pe ecran a paginilor de imprimanta.
Vizualizarea raportului Furnizori
Înregistrarea si închiderea unei situatii finale se face ca oricare alt fisier. Rezultatul unei situatii finale poate fi tiparit sau salvat într-un fisier, în vederea conservarii. Înainte de tiparire este necesara definirea parametrului de orientare a paginii.
Bara de instrumente si tipurile de controale (independente, dependente si calculate) au acelasi continut si functionalitate ca cele de la formulare. Prin urmare, toate operatiile de aducere a câmpurilor din lista de câmpuri a tabelei sau cererii de interogare (pe care se fundamenteaza situatia finala) în zona de lucru în vederea generarii de controale dependente, redimensionarea, deplasarea si modificarea acestora se fac în aceeasi maniera ca si la formulare. Aducerea câmpurilor din lista de câmpuri în zona de lucru (sectiune Detail) va crea pentru fiecare o eticheta si un control dependent (în care vor fi afisate valorile câmpului). Daca se doreste o situatie gen tabel, atunci etichetele trebuie mutate si pozitionate corespunzator în sectiunea antet de pagina (Page header) sau antet general (Report header).
Pentru crearea mai multor controale de acelasi tip într-o situatie finala se recomanda blocarea acestuia din bara de instrumente cu ajutorul butonului More controls, urmând ca în final sa fie deblocat.
Odata cu definirea unei situatii finale, toate controalele dependente vor mosteni proprietatile câmpurilor din tabele sau cererea de interogare pe care se bazeaza. În unele situatii, pentru anumite controale este necesara modificarea unora dintre proprietatile acestora.
În acest sens se procedeaza dupa cum urmeaza:
se selecteaza controlul si se introduce comanda <View, Properties> din bara de instrumente, care va afisa lista de proprietati;
se selecteaza proprietatea de modificat si se modifica;
se închide lista de proprietati.
În afara proprietatilor particulare ale fiecarui control, exista o lista de proprietati generale asumate (presupuse) pentru fiecare tip de control, care sunt mostenite de toate controalele de tipul respectiv, dar care pot fi modificate. Printre aceste proprietati se numara: dimensiunea presupusa, tipul si dimensiunea caracterelor, alinierea, prezenta sau absenta etichetei. Înainte de a crea o noua situatie finala sau de a modifica una existenta se pot schimba aceste proprietati. În acest sens, se afiseaza lista de proprietati, se activeaza butonul corespunzator tipului de control dorit din bara de instrumente, care va afisa lista de proprietati aferenta acestuia, se fac modificarile cerute si apoi se închide lista de proprietati.
Majoritatea controalelor dintr-o situatie finala contin valori numerice sau alfanumerice (în terminologia ACCESS sunt controale de tip zona de text). Câteva din proprietatile acestui tip de controale sunt foarte importante din punct de vedere al structurii si calculelor din situatiile finale:
q auto permite ajustarea dimensiunilor zonei în raport cu dimensionarea datelor din câmpurile sursa;
q hide duplicates permite mascarea valorilor unui control daca acestea sunt egale cu valoarea din prima înregistrare;
q running sum permite definirea unor controale care sa cumuleze valorile altor controale, în totalitate sau la nivel de grup; la schimbarea caracteristicii de grupare valoarea zonei care cumuleaza este adusa la zero.
Proprietatile hide duplicates si running sum permit generarea unor situatii finale cu mai multe grade de total (controlate dupa caracteristici de grupare), care sunt foarte frecvente în aplicatiile economice.
De exemplu trebuie obtinuta o situatie finala pe baza tabelei Facturi, care sa contina câmpurile: Cod furnizor, Numar factura, Data factura. În coloana Cod furnizor numele acestuia sa apara o singura data pentru prima factura, iar pentru restul sa fie mascat (facturile vor fi grupate pe furnizori). Pentru aceasta trebuie modificata valoarea proprietatii hide duplicates a câmpului Cod furnizor pe valoarea Yes.
În afara corpului propriu-zis al situatiei finale, celelalte sectiuni sunt împerecheate câte doua: antet general - subsol general, antet de pagina - subsol de pagina si antet de grup - subsol de grup.
Antetul general apare o singura data la începutul situatiei finale, contine în general capul de tabel al situatiei si se tipareste la începutul fiecarei pagini, cu exceptia primei, daca a fost definit un antet general. Antetul de grup apare la începutul fiecarui grup de înregistrari si contine în general numele grupului. Corpul propriu-zis al situatiei contine datele existente din baza de date pe baza criteriilor de selectie specificate de utilizator. Subsolul de grup se afiseaza la sfârsitul unui grup (când se schimba caracteristica de grupare) si contine în general subtotalurile de grup. Subsolul de pagina se afiseaza pe fiecare pagina si contine de obicei numarul paginii. Subsolul general se afiseaza o singura data la sfârsitul situatiei finale înaintea subsolului de pagina al ultimei pagini si contine totalul general.
Pentru a defini proprietatile unei sectiuni:
q se selecteaza sectiunea prin clic în antetul sau interiorul acesteia;
q se alege <View, Properties> si apoi se definesc proprietatile.
Situatia finala în totalitatea acesteia, are o serie de proprietati generale pe care le mostenesc sectiunile si care pot fi modificate dupa cum urmeaza:
q se executa clic în coltul din stânga sus al raportului;
q se alege <View, Properties> si apoi se definesc proprietatile.
2. Sortarea si regruparea datelor
Operatiile de sortare si regrupare a datelor apar foarte des în aplicatiile economice care utilizeaza un volum mare de date.
Pentru sortarea datelor:
q în modul de lucru Design se alege <View, Sorting and grouping> care va afisa o fereastra de dialog;
Fereastra Sorting and Grouping
q în prima linie din coloana Field/Expression se selecteaza un nume de câmp sau se introduce o expresie; se continua cu linia a doua s.a.m.d.;
q în coloana Sort order se stabileste ordinea de sortare crescatoare Ascending sau descrescatoare Descending; valoarea presupusa fiind crescatoare;
q se închide fereastra de dialog.
Prima linie din fereastra de dialog corespunde primului nivel de sortare, a doua celui de-al doilea s.a.m.d.
În unele situatii sortarea datelor este însotita de regruparea acestora pe baza criteriilor de sortare. ACCESS ofera maxim 10 niveluri de sortare imbricate si implicit tot atâtea niveluri de regrupare, deoarece criteriile de regrupare sunt chiar câmpurile de sortare care definesc nivelurile.
Dupa specificarea operatiei de sortare, regruparea datelor se face prin definirea anteturilor si subsolurilor de grup în partea de jos a ferestrei de dialog, dupa cum urmeaza:
q se selecteaza câmpurile sau expresia care defineste caracteristica de grupare;
q se stabilesc proprietatile de grupare în lista urmatoare:
Group header, adaugarea sau suprimarea antetului de grup;
Group footer, adaugarea sau suprimarea subsolului de grup;
Group on, specifica criteriile de grupare care vor opera asupra câmpurilor de grupare, optiunile disponibile sunt dependente de tipul acestuia, iar în cazul expresiilor sunt afisate toate;
Group Intervale, specifica toate intervalele valide pentru valorile câmpului sau expresiei de regrupare.
Pentru un câmp de tip Data/Ora optiunile sunt: Each value, aceeasi valoare; Year; Qtr; Month; Week; Day; Hour; Minute, aceeasi valoare pentru an, trimestru, luna, saptamâna, zi, ora, minut. Pentru un câmp de tip Autonumber, Curency sau Number sunt doua optiuni: Each value si Intervale, pentru date apartinând unui interval.
De exemplu, utilizând tabelele Bon de consum, Linie bon de consum si Materiale se construieste cererea de interogare Valoare bon de consum, compusa din câmpurile Numar bon de consum, Data si Valoarea (Cantitate iesita * Pret unitar). Utilizând aceasta cerere de interogare, trebuie sa se obtina o situatie finala de sinteza care sa contina: anul, trimestrul, numarul bonurilor de consum si valoarea acestora. Gruparea se va face pe ani si în cadrul acestora pe trimestre folosind câmpul Data bon de consum. Specificatiile de sortare si regrupare sunt prezentate în tabelul urmator:
Field/expresion |
Sort |
Group header |
Group footer |
Group on |
Intervale |
Data bon de consum |
Ascending |
Yes |
Yes |
Year | |
Data bon de consum |
Ascending |
No |
Yes |
Qtr | |
Data bon de consum |
Ascending |
No |
No |
Each value |
Pentru realizarea acestei situatii se va aplica functia PartDate pentru a returna echivalentul numeric al datei bonului de consum si functia Count pentru a calcula numarul de bonuri de consum. Pentru a obtine numai sinteza situatiei finale se va masca proprietatea Visible a sectiunii Detail.
În fereastra de dialog pentru definirea criteriilor de sortare, va aparea Data bon de consum de trei ori pentru a extrage anul, trimestrul si fiecare valoare a acestuia.
3. Combinarea a doua sau mai multe situatii finale
Pentru a combina doua sau mai multe situatii finale, una dintre acestea trebuie sa fie definita ca situatie finala principala iar celelalte ca subsituatii (ca si ansamblul formular principal - subformular). O situatie finala principala poate fi dependenta, daca se bazeaza pe o tabela/cerere de interogare sau independenta, atunci când joaca rol de receptor pentru alte subsituatii finale. O subsituatie finala este o situatie finala cu mentiunea ca îmbraca prima forma numai când este adusa în spatiul unei situatii finale principale. În general, o situatie finala principala independenta poate receptiona doua subsituatii finale între care nu exista o legatura.
Un exemplu de situatie finala principala dependenta cuplata cu o subsituatie ar putea fi cea bazata pe cererea de interogare Valoare bon de consum, în care se cer informatii despre fiecare bon de consum dintr-un anumit an (anul, data bon de consum, numarul bonului de consum si valoarea acestuia) care vor fi plasate în situatia principala si informatii de sinteza grupate pe trimestre (numarul bonului de consum si valoarea acestuia) care vor fi incluse într-o situatie finala. Este posibila includerea unui subformular într-o situatie finala si în plus o subsituatie poate contine la rândul ei alta subsituatie.
Includerea unei subsituatii finale într-una principala este asemanatoare aceleia de la formularul principal - subformular:
se deschide situatia principala în modul de lucru Design;
se trece în fereastra Database prin tasta F11;
se activeaza butonul Report si se aduce subsituatia finala în spatiul de lucru al situatiei principale (prin alunecare); rezultatul fiind afisarea unui control de tip subformular/subsituatie finala;
se repozitioneaza si se redimensioneaza controlul aferent subsituatiei;
se stabileste legatura între situatia finala principala si subsituatie, daca este cazul si daca aceasta nu a fost facuta automat de ACCESS.
Legatura între situatia finala principala si subsituatie se face automat (ca si la formular principal - subformular) daca acestea se bazeaza pe doua tabele între care a fost definita o relatie primara. De asemenea, este posibila aceasta legatura daca situatia finala principala se bazeaza pe o tabela a carei cheie primara are acelasi nume si tip cu un câmp din tabela pe care se bazeaza subsituatia (cheia externa).
În cazurile în care legatura nu se face automat, aceasta se stabileste prin proprietatile Link child fields din subsituatie si Link master fields din situatia finala principala.
Spre deosebire de legatura formular principal - subformular, pentru proprietatea Link master fields se pot specifica câmpuri de legatura sau controale. Introducerea controalelor ca elemente de legatura, permite crearea de corespondente între situatia finala principala si subsituatii pe baza unor valori calculate.
Odata cu lansarea sistemului de operare Microsoft Windows 95 a fost introdusa o noua facilitate Object Linking and Embedding (Introducerea si legarea obiectului) sau pe scurt OLE.
În fapt OLE este o metoda de transfer a informatiei între diferite aplicatii Windows sub forma de obiecte. Metoda OLE ofera un mare avantaj aplicatiilor realizate în ACCESS putând fi create baze de date de tip multimedia în care pot fi stocate fisiere audio (WAV, MID), fotografii si desene (BMP, TIF), animatie si filme (AVI).
Versiunea SGBD-ului ACCESS 2000 introduce trei facilitati noi:
q Dynamic Data Exchange (schimbul dinamic de date) sau DDE;
q ActiveX Objects (obiecte ActiveX);
q ActiveX Custom Controls (controale personalizate ActiveX).
Facilitatea DDE permite executarea unor functii precum si transmiterea de date între ACCESS si orice alta aplicatie Windows care suporta facilitatea DDE. Se pot realiza conexiuni de tip DDE cu alte aplicatii prin utilizarea comenzilor macro sau a limbajului de programare VBA.
ActiveX este o facilitate avansata a sistemului de operare Windows care permite crearea unor anumite legaturi între obiecte precum si includerea lor în cadrul bazelor de date ACCESS. Prin aceste obiecte întelegem: fotografii, desene, grafice, foi de calcul tip Excel si documente. Toate aceste obiecte sunt create în cadrul unor aplicatii Windows care accepta facilitatea ActiveX.
Majoritatea controalelor ActiveX ofera un numar mare de actiuni (numite metode în terminologia limbajelor de programare orientate obiect), care pot fi apelate din cadrul unei proceduri.
ACCESS poate lucra cu acele sisteme de gestiune a bazelor de date care sunt compatibile cu standardul Open Database Connectivity (ODBC), incluzând urmatoarele sisteme: Microsoft SQL Server, Oracle, DB2, Ingres.
Exportul de date
Comunicarea sistemului de gestiune a bazelor de date ACCESS cu celelalte componente ale pachetului Office, ramâne un element de baza.
Spre exemplu dorim sa realizam un export de date din tabela ACCESS Furnizori catre un document Word. Datele vor fi prezentate în documentul Word în cadrul unui tabel. Pentru aceasta introducem comanda <File, Export>. Pe ecran va aparea o fereastra de dialog Export Table, în care se selecteaza tipul de fisier catre care se face exportul si denumirea acestuia. În cazul nostru denumirea fisierului este Furnizori, de tipul text cu formatare (Rich Text Format).
Realizarea documentului Word care sa contina date ACCESS
se realizeaza prin importul fisierului Furnizori într-un document
Word existent sau într-un document nou.
SGBD ACCESS, în special în versiunea 2000, ofera facilitati sporite de integrare Internet. Pe Internet se pot crea documente statice si documente dinamice. Un document dinamic este acela care poate oferi mai multe informatii în functie de cererile lansate de utilizator. Un exemplu îl reprezinta formularul creat într-o aplicatie ACCESS, care ne permite sa parcurgem înregistrarile unui tabel.Versiunea 2000 de ACCESS permite realizarea de documente dinamice. În fapt aceste documente sunt formulare sau rapoarte care pot fi publicate pe Internet.
Exista doua moduri de creare a unui document Web utilizând SGBD ACCESS: prin utilizarea instrumentului wizard 535i824f si în cadrul ferestrei de proiectare.
Dupa cum se va vedea în continuare, crearea acestui document se aseamana mult cu realizarea formularului Furnizori.
În prima fereastra Page Wizard se selecteaza câmpurile din cadrul tabelei, care vor participa la formarea documentului Internet. În cazul nostru, vom selecta toate câmpurile. În urmatoarele ferestre Page Wizard se ofera posibilitatea de grupare a datelor si se selecteaza ordinea în care sunt parcurse acestea în documentul Internet. Vom stabili ca ordinea sa fie data de câmpul Cod furnizor (ordine crescatoare). În ultima fereastra Page Wizard se alege titlul paginii Web create (Furnizor).
|