Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Access


Index » educatie » » informatica » Access
» Rapoarte in access


Rapoarte in access


RAPOARTE (REPORTS)

Situatiile finale pun cel mai bine in valoare informatiile continute intr-o baza de date. Ele sunt necesare in primul rand managerilor dar sunt utile si celorlalti operatori care contribuie la luarea deciziilor.



Rapoartele se constituie ca obiecte ale bazelor de date Access sau ale software-ului front-end special destinate pentru realizarea situatiilor finale. Prin intermediul rapoartelor datele din tabele si cele rezultate in urma interogarilor pot fi consultate si listate intr-un mod superior.

Access 2000 ofera instrumente evoluate de proiectare a rapoartelor, usurand astfel foarte mult munca utilizatorilor care doresc sa puna in valoare rezultatele interogarilor lor. Si aici este posibil lucrul cu "vrajitori" iar setul de obiecte oferit proiectantilor in modul Design View este similar celor de la formulare. Pentru proiectarea rapoartelor sunt disponibile o multitudine de controale: campurile textbox ce pot fi formatate pentru afisarea datelor, etichetele (labels), subrapoartele, obiectele image, obiectele tip figuri geometrice (linii, chenare dreptunghiulare), etc. Avand la dispozitie aceste tipuri de controale, prin imbinarea lor, proiectarea rapoartelor devine accesibila si celor fara o pregatire informatica superioara in acest domeniu.

Atunci cand vom comuta in fereastra de prezentare a bazei de date in sectiunea obiectelor de tip raport, pe ecran vor aparea, asa cum am vazut si la celelalte tipuri de obiecte, cele doua modalitati de creare a obiectelor de tip raport:

  • Create report in Design View
  • Create report by using wizard

Daca exista rapoarte create anterior, numele acestora vor fi afisate in continuare.

Optiunile sunt similare celor de la formulare si ofera aceleasi posibilitati de proiectare in modul Design View sau in lucrul cu wizard-ul. Deoarece au fost prezentate in detaliu la capitolul formulare, in continuare se va insista pe particularitatile rapoartelor si pe cateva exemple practice de proiectare a acestora.

Iata macheta de proiectare vizuala si caseta Toolbox a unui raport, obtinute in urma selectarii optiunii Create report in Design View

In continuare va urma amplasarea controalelor in macheta de proiectare astfel incat sa se obtina raportul dorit. Titlul raportului si data listarii se scriu de obicei in sectiunea Report Header, capul de tabel al raportului (ce va trebui sa fie prezent pe fiecare pagina) in Page Header, liniile tabelului in Detail, numarul de pagina in Page Footer, locurile pentru semnaturi si probabil totalurile generale in Report Footer

Toate acestea vor deveni mai clare dupa ce vom studia o macheta simpla de proiectare a unui raport realizata de catre un "vrajitor".

Sa presupunem ca se doreste un raport care pe baza datelor din tabela Angajati (utilizata si in exemplele din cursurile anterioare, dar care are acum in plus si campul filiala, ce reprezinta numele filialei de care apartine ficere angajat) sa prezinte in ordine alfabetica, grupati pe filiale, si in cadrul filialei dupa data angajarii, codul angajatilor, numele si prenumele angajatilor, data angajarii si salariul brut. Pe fiecare grup de angajati apartinand unei filiale sa se calculeze suma salariilor brute si de asemenea sa se afiseze si suma salariilor brute pentru absolut toti angajatii din tabela Angajati.

Presupunem ca in tabela Angajati avem stocate urmatoarele date:

In acest sens vom selecta optiunea Create report by using wizard, care va determina parcurgerea urmatoarei succesiuni de dialoguri:

Se poate observa faptul ca in lista derulanta Tables/Queries se poate alege fie o tabela fie o interogare ca sursa de date a raportului. Nu suntem insa restrictionati la a utiliza doar campuri dintr-o singura tabela sau interogare intr-un raport: Exista si varianta de a selecta pe rand campuri din una si apoi alta dintre tabelele si interogarile disponibile. (Astfel, de exemplu, am putea alege campuri din mai multe tabele relationale, facand practic o interogare de tipul SELECT pe care o transpunem intr-un raport.

Se precizeaza criteriile de grupare a datelor in raport. Gruparea datelor inseamna cautarea tuturor inregistrarilor (randurilor) din sursa de date care contin aceeasi valoare pentru campul stabilit drept criteriu de grupare si afisarea lor, consecutiv in raport.

In exemplul prezentat, datele vor fi grupate dupa filiala, iar in cadrul acesteia dupa data angajarii. Selectarea/deselectarea unui criteriu de grupare se realizeaza cu dublu clic pe acesta sau cu clic pe campul ales drept criteriu si apoi activarea butoanelor resp. . Intr-o prima faza, wizard s-ar putea sa propuna automat un criteriu, avansandu-l in lista din dreapta ferestrei afisate mai sus si colorandu-l, de regula, albastru. Daca aceasta solutie nu se afla printer cele dorite de utilizator, cu dublu clic sau cu cu clic pe campul respective si cu se poate renunta la acel criteriu. Cu sagetile Priority se stabileste ordinea operatiunilor de grupare. Pentru precizarea faptului ca dorim ca gruparea sa se faca dupa luna din fiecare data de angajare, s-a deschis cu clic pe butonul Grouping Options . ( ) fereastra Grouping Intervals de mai jos, in care, dupa cum se observa, in coloana a doua (Grouping Intervals:), pe linia a doua (in dreptul lui data ang ), s-a precizat Month. Se va obtine, prin urmare, o situatie a angajatilor pe filiale si in cadrul fiecarei filiale grupat dupa luna angajarii.

Daca s-ar fi stabilit drept criteriu de grupare un camp de tip text, atunci in coloana Grouping Intervals am fi putut preciza afisarea in raport a valorii campului in intregime, sau numai a primei litere, sau numai a primelor doua litere, pana la primele cinci litere din valoarea stocata in camp. Daca criteriul ar fi fost un camp numeric, atunci wizard propune afisarea unor intervale de marime 10, 50, 100, 500, 1000, 5000 si 10000.

In urmatoarea fereastra afisata de wizard se stabilesc campurile in functie de valorile carora datele din raport vor fi ordonate (sortate), precum si cele pentru care se vor executa operatii de sinteza (cu butonul ).

La clic pe butonul Summary Options . apare fereastra cu acelasi nume in care se bifeaza operatia dorita pentru campurile numerice care mai sunt disponibile, in acest caz Sum pentru campul sal brut.:

In aceasta etapa, instrumental Wizard propune mai multe feluri de prezentare a datelor in raport (a se vedea figura de mai jos), precum si dispunerea ( ) verticala ( ) sau orizontala ( ) a structurii raportului pe coala de imprimare.

Urmatorul pas consta in alegerea stilului (aldin, centrat, italic, incadrat ori nu etc.) in care este afisata fiecare categorie de informatie.

Ultima etapa presupune stabilirea titlului raportului (care va fi si numele cu care se salveaza raportul in sectiunea Reports), ca in figura ce urmeaza.

Daca utilizatorul doreste sa faca unele mici modificari privind structura raportului astfel creat, inainte de a active butonul se selecteaza optiunea . Astfel, in exemplul dat, avand in vedere ca randurile de sume, etichetele campurilor de grupare si alte elemente se afiseaza implicit in limba engleza, se pot opera modificari in acest sens.

Dupa activarea butonului Finish, o parte din situatia obtinuta se poate vedea in figura de mai jos:

Vizualizarea situatiilor pe ecran se poate face in mod Preview (afisarea, rularea raportului), ori in mod Design (proiectare, definire a structurii raportului).

Macheta de proiectare a raportului (generata automat de wizard) in modul Design este:

Se observa

  • titlul raportului Lista angajatilor pe filiale scris intr-un control Label in sectiunea Report Header
  • capul de tabel (dat de 7 controale Label) in sectiunea Page Header
  • doua linii antet de grupare, una dupa campul filiala, numita filiala Header, si una dupa campul data ang, numita data ang Header
  • continutul tabelului in sectiunea Detail
  • doua linii subsol de grupare, una dupa campul data ang, numita data ang Footer, si una dupa campul filiala, numita filiala Footer. In fiecare din aceste doua linii se face suma salariilor pe grupul respectiv de angajati
  • data curenta ( =Now( ) ) si numarul de pagina Page . in Page Footer
  • Suma tuturor salariilor brute pentru toti angajatii in linia Report Footer.

Tiparirea la imprimanta se realizeaza cu meniul File, optiunea Print, sau cu butonul din bara de meniuri; daca obiectul de tip raport este inchis, acesta se selecteaza in fereastra Database, apoi se alege Print din meniul File.

In continuare, pe baza unui al doilea exemplu, vom urmari crearea obiectelor de tip raport folosind optiunea Design View.

Exemplul 2:

Sa presupunem ca ni se solicita afisarea unui raport cu privire la situatia intrarilor de materiale intr-un numar de depozite, pe material si pe luna. Pentru aceasta presupunem ca exista creata o interogare numita Stocuri, avand structura data de imaginea de mai jos:

  1. Intr-o prima etapa in vederea realizarii raportului se alege optiunea Create report in design view. In momentul deschiderii, fereastra de definire a raportului prezinta doar trei sectiuni (asemanatoare celor din formulare): Page Header/Footer si Detail.

  1. Pentru a selecta ca sursa de date a raportului interogarea Stocuri, creata anterior, se deschide fereastra de proprietati (Properties) a raportului prin clic dreapta pe bara de titlu a ferestrei de definire a raportului (sau clic dreapta pe suprafata gri a raportului, sau clic dreapta pe butonul general al raportului din coltul stanga sus al ferestrei de definire , sau alegand meniul View optiunea Properties, sau clic pe butonul situat in bara de meniuri). In fereastra de proprietati ale raportului se alege tab-ul Data, iar din lista derulanta cu eticheta Record Source se selecteaza interogarea Stocuri:

  1. Pentru crearea unui titlu al raportului (antet) si pentru definirea sfarsitului de raport (de regula, linii de total general), se utilizeaza meniul View, optiunea Report Header/Footer sau se alege acceasi optiune Report Header/Footer din meniul contextual (clic buton dreapta mouse pe suprafata alba de lucru) al raportului.

Cu un control de tip eticheta (Label), definit prin intermediul controlului din Toolbox, se specifica titlul raportului, si cu ajutorul proprietatilor acestui control se formateaza acest text (se stabilesc culori pentru fond, font si linia de incadrare, precum si tipul acesteia, cu butoanele (Fill/Back Color), (Font/Fore Color), (Line/Border Color), (Line/Border Width), (Special Effect) din bara de meniuri Report Design.

Daca una dintre sectiuni se considera inutila, atunci se reduce la zero inaltimea acesteia. Mai jos se observa renuntarea la sectiunea Page Footer, cu ajutorul mouse-ului, care are cursorul sub forma unei sageti bidirectionale in cruce. Linia neagra orizontala indica distanta de la Report Footer cu care s-a micsorat sectiunea Page Footer.


Se poate renunta atat la Page Header cat si la Page Footer deodata, deselectand din meniul contextual optiunea Page Header/Footer.

Gruparea datelor si/sau sortarea lor se realizeaza fie cu meniul View optiunea Sorting and Grouping, fie cu aceeasi optiune din meniul contextual. Se va deschide fereastra Sorting and Grouping in care se fac urmatoarele setari:

Pentru expresiile sau campurile din sursa de date stabilite drept criterii de grupare (si, eventual, sortare) se selecteaza Yes in rubricile corespunzatoare antetului (Group Header) si/sau subsolului de grup (Group Footer), din lista de proprietati ale fiecarui grup de date (Group Properties); in rubrica Sort Order se precizeaza daca sortarea datelor se va face in ordine crescatoare (Ascending) sau descrescatoare (Descending) a valorilor criteriului de grupare (sortare).

In cazul de fata s-a optat pentru constituirea a trei criterii de grupare, fiecare avand antet si subsol, si anume: in primul rand alfabetic dupa denumirea depozitului, in al doilea rand (pentru acelasi depozit) alfabetic dupa denumirea materialului si in fine (in cadrul aceluiasi material) dupa luna din data stocarii in ordine invers cronologica. Daca s-ar fi dorit numai sortare in functie de valorile unui anumit camp, nu si grupare, atunci in rubricile Group Header, Group Footer se lasa valoarea No.

In fiecare antet si subsol creat se definesc etichete, casete text etc. cu datele care intereseaza (a se vedea figura care urmeaza la punctul 5.). Acestea se aduc din lista de campuri (Field List) din query-ul Stocuri. Aceasta lista daca n-a fost afisata automat sau a fost inchisa din greseala, se poate vizualiza activand fie meniul View optiunea Field List, fie butonul din bara de meniu Report Design. Expresiile de calcul se definesc cu ajutorul unor casete text, in care se vor scrie formulele precedate de semnul "=" .

In sectiunea Detail se aduc campurile care se vor afisa in raport pentru a caracteriza fiecare intrare de material. Si acestea se aduc din aceeasi lista de campuri (din query-ul Stocuri).

Se poate observa ca pentru a extrage luna din cadrul datei de stocare a unui material si a o afisa scriindu-i denumirea cu caractere alfabetice, urmata de an, s-a scris formula :

=Format$([Data stocarii];"mmmm yyyy";0;0).

Pentru afisarea numarului curent al fiecarui material (obtinut prin incrementare), s-a creat o caseta text in sectiunea Detail cu proprietatile din figura de mai jos:

In caseta Control Source se trece =1 iar pentru ca numaratoarea sa se desfasoare unitar pentru toate materialele intrate in stoc, indiferent de depozit ori de luna, se alege in caseta Running Sum optiunea Over All (daca se dorea ca numaratoarea sa inceapa de la 1 pentru fiecare grup in parte, trebuia aleasa optiunea Over Group).

Pentru calculul valorii s-a scris intr-o caseta text formula:n =[cantitate stocata]*[pret unitar]

iar pentru a insuma cantitati si valori si a afisa subtotaluri pe luna, pe material si pe depozit (numai valoric) in Group Footer-urile corespunzatoare, s-a utilizat functia Sum(), aplicata cantitatii si expresiei valorii, dupa cum se observa in prima figura de la punctul 5. La fel se procedeaza pentru a calcula si afisa la final de raport (in Report Footer) un total general valoric, precedat de textul "Total general intrari:"

Raportul obtinut (inceputul si sfarsitul sau) este prezentat in cele doua figuri de mai jos:

Crearea de rapoarte cu subrapoarte

Daca se doreste completarea informatiilor dintr-un obiect de tip raport cu altele, continute de diferite obiecte de tip raport, se creeaza asa-numitele subrapoarte. Ele se pot insera atat in sectiunea de detaliu, cat si in celelalte sectiuni (inclusive in cele de grup).

Ca si in operatiunea de creare a subformularelor, se pot utiliza cele doua metode:

Se aduce subraportul, utilizand tehnica drag-and-drop, din fereastra Database pana pe suprafata de lucru, intr-una din sectiunile raportului principal.

Se utilizeaza butonul Subform/Subreport din caseta de instrumente (controale) - Toolbox, activand in prealabil controlul Wizard-ului tot din Toolbox.

In continuare prezentam prima metoda pentru a crea un raport principal cu furnizorii si un subraport cu lista comenzilor trimise catre fiecare furnizor. In executie raportul va arata ca in figura de mai jos:

Consideram acum ca avem si tabelele Furnizori si Comenzi (ca in figura de mai jos):

Realizam cu wizardul mai intai raportul principal Furnizori, utilizand toate campurile din tabela Furnizori in ordine alfabetica a denumirii furnizorului. Raportul acesta va prezenta la rulare urmatoarea situatie:

Realizam in continuare tot cu wizardul subraportul cu comenzile, din care stergem insa continutul sectiunii Report Header, in care aparea automat titlul "Comenzi", de care nu avem nevoie:

Acesta arata la rulare astfel:

Deschidem apoi in modul Design raportul principal (Furnizori), facem un pic de loc in sectiunea Detail tragand cu mouse-ul de linia Page Footer in jos, si aducem apoi din fereastra Database prin drag-and-drop cu mouse-ul, icon-ul subraportului Comenzi.

Pentru a avea o claritate mai mare in ceea ce priveste interpretarea coloanelor din subraportul comenzi, aceste coloane se copiaza (cu Copy) ca si etichete din fereastra Design a subraportului Comenzi si se alipesc cu Paste in linia Detail a raportului Furnizori creat, si anume dupa cum se vede in figura de mai sus. Astfel, la rulare raportul arata ca in figura prezentata la inceputul enuntului problemei. Fara a face aceasta ultima modificare raportul ar fi aratat ca in figura de mai jos, nefiind prea clar ce reprezinta rubricile din partea Comenzi:





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate