curs 13 rapoartemacros2013

30
Curs nr. 12 Crearea obiectelor de tip raport si macro

Upload: sorina-andreea

Post on 15-Sep-2015

238 views

Category:

Documents


2 download

DESCRIPTION

Curs 13 RapoarteMacros2013

TRANSCRIPT

Curs nr. 12

Curs nr. 12

Crearea obiectelor de tip raport si macro

Un raport const n informaii extrase din tabele sau interogri i n informaii stocate odat cu proiectarea raportului, cum ar fi etichetele, titlurile i elementele grafice. Un raport este destinat, de regula, imprimarii. n cazul n care cmpurile se afl n mai multe tabele, trebuie utilizate una sau mai multe interogri ca surs de nregistrri. SGBD Access 2013: ReportsCrearea Rapoartelor:1 Tabul Create.2 Se opteaz pentru una din variantele de realizare a raportului din grupul de optiuni Reports: Report Design crearea raportului cade n sarcina exclusiv a utilizatorului;Report Wizard utilizatorul va fi asistat la crearea raportului;BlankReport crearea raportului cade n sarcina exclusiv a utilizatorului;Report se creeaz automat un raport cu datele organizate sub forma tabelar;Label se genereaz rapoarte n format de etichet prin urmarea unor etape propuse de un asistent.

Crearea rapoartelor utilizand Report WizardSe selecteaza CREATE -- Report WizardSe selecteaza sursa de date , campurile dorite si se actioneaza Next.Se stabileste campul de grupare; actionand butonul Grouping options, se pot stabili eventualele criterii de grupare. Se actioneaza butonul NextSe stabilesc campurile de sortare (maxim 4). Butonul Summary Options da posibilitatea aplicarii unor functii de agregare pe campurile numerice dorite.Se actioneaza butonul Next.Se stabilesc optiunile de imprimare si tipul de raport dorit. Actionare buton Next.Se introduce titlul raportului si apoi butonul Next.Se actioneaza butonul Finish.

Crearea rapoartelor in modul Design View

Crearea rapoartelor n ReportDesignReport Design Selectarea acestei opiuni are ca efect generarea unui raport gol, n care utilizatorul i poate defini propriile seciuni i controale. Cmpurile sursei de date pot fi afiate prin preluarea lor din fereastra Field List (butonul Add Existing Fields) n interiorul raportului (de obicei n seciunea Detail). Antetul/Subsolul raportului (Report Header/Footer) DClk-Report Header/Footer Antetul/Subsolul paginii (Page Header/Footer) DClk-Page Header/Footer

Despre seciunile unui raportAntet raport(Report Header) Aceast seciune se imprim 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 care utilizeaz funcia agregat Sum n antetul raportului, suma se calculeaz pentru ntreg raportul. Antetul raportului se imprim nainte de antetul paginii Adaugarea unui logo : Click icon Logo din Controls. Se va selecta fisierul grafic dorit ca sigla din caseta de dialog care apare si se actioneaza OK.Adaugarea unui titlu: Click pe Title icon din Controls. Va aparea o caseta de text in care se introduce titlul.Pentru a modifica fundalul antetului: Right-click pe sectiunea de antet si apoi, Fill/Back Color din meniul contextual.Adaugare data si ora: Click pe iconul Date and Time. Se va selecta formatul data/timp dorit, dupa care se actioneaza butonul OK. . Antet pagin (Page Header)Aceast seciune se imprim n partea de sus a fiecrei pagini. De exemplu, utilizai un antet de pagin pentru a repeta titlul raportului pe fiecare pagin. Antetul grup(Group Header)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 produse, utilizai antetul grupului pentru a imprima numele produselor. Cnd plasai un control calculat care utilizeaz funcia agregat Sum n antetul grupului, suma se calculeaz pentru grupul curent.

Detaliu(DETAIL) Aceast seciune se imprim o dat pentru fiecare rnd din sursa de nregistrri. Seciunea Detaliu este locul n care se plaseaz controalele care formeaz corpul principal al raportului. Pentru a adauga campuri in zona de detaliu a raportului:Click icon Add Existing Fields In panelul Field List care apare in partea dreapta se executa dublu-click pe campurile ce se doresc a fi incluse in raport. Access va plasa in mod automat campurile in zona de detaliu.Subsol grupAceast seciune se imprim la finalul fiecrui grup de nregistrri. Utilizai un subsol de grup pentru a imprima informaii rezumative pentru un grup. Subsol pagin (Page Footer)Aceast seciune se imprim la finalul fiecrei pagini. Utilizai un subsol de pagin pentru a imprima numerele de pagin sau informaiile pentru fiecare pagin. Report FooterAceast seciune se imprim o dat la finalul raportului. Utilizai subsolul de raport pentru a imprima totalurile raportului sau alte informaii de rezumat pentru ntreg raportul.

SGBD Access 2013: Reports: ProprietiFormatCaption este utilizat pentru stabilirea unui titlu afiat pe bara de titlu a ferestrei;Page Header i Page Footer sunt utilizate pentru specificarea paginilor pe care se vor afia antetul, respectiv subsolul de pagin (variante: toate paginile; toate, mai puin prima; toate, mai puin ultima; toate, mai puin prima i ultima);Picture permite specificarea fiierului afiat pe fundalul raportului; Picture Pages precizeaz paginile pe care se va afia fundalul ales.Data Record Source precizeaz o tabel, o interogare, ori o fraz SQL care va fi sursa de date a raportului; Filter se folosete pentru stabilirea unei condiii-filtru pe care trebuie s-o ndeplineasc datele ce vor fi afiate n raport; Filter on permite selectarea a dou valori: Yes, ceea ce presupune activarea criteriului specificat n Filter (se aplic datelor) i No, care anuleaz aciunea filtrului; Order By, care precizeaz criterii de sortare, n ordinea gradului de generalitate, cu virgul ntre ele; Order By On poate cuprinde valorile Yes sau No, activnd sau dezactivnd proprietatea Order By. Formatarea conditionataPentru a seta formatari bazate pe continutul raportului se executa click-dreapta pe camp si se selecteaza Conditional Formatting. In caseta de dialog care apare se defineste conditia i formatarea asociata. (de exemplu, daca data din acest camp este cuprinsa intre 100 si 300, afiseaza cifra cu rosu).

Crearea rapoartelor cu subraportUn subraport este un raport inserat n alt raport. Cand se combina doua rapoarte, unul din ele este considerat raport principal si va ingloba celalalt raport. Un raport principal poate fi legat sau nelegat la o sursa de date. Pasii de creare a rapoartelor cu subraport sunt similari celor din cazul formularelor cu subformulare.

Pentru a afisa un total din subraport in raportul principalSa presupunem ca avem un subraport numit Comenzi care contine o caseta de text cu numele Total cheltuieli transport si aceasta caseta de text calculeaza suma totala a cleltuielilor de pe coloana Cheltuieli transport. Pentru a afisa suma din subraport in raportul principal trebuie adaugata o caseta de text in raportul principal si apoi definita o expresie care sa se refere la caseta de text Total cheltuieli transport din subraport.Se deschide raportul principal in Design View.Din grupul Controls se selecteaza Text Box. Se plaseaza noua caseta de text in interiorul raportului principal.Din meniul contextual selectam Properties.Se selecteaza tab Data proprietatea Control Source si apoi se introduce expresia =IIf(IsError([Comenzi subreport].[Report]![Total cheltuieli transport]),0,[Comenzi subreport].[Report]![Total cheltuieli transport])

O macrocomand este un instrument care permite automatizarea activitilor i mbuntirea funcionrii formularelor, rapoartelor i controalelor. O comand macro este constituit dintr-un ansamblu de aciuni executabile printr-un simplu click cu mouse-ul, printr-o comand dintr-un meniu, ca urmare a unui eveniment sau printr-o combinaie de taste. Aciunile unui obiect macro se aplic obiectelor dintr-o baz de date.Aciunile pot viza : deschiderea unui obiect tip tabel, cerere, formular, raport (actiunile OpenTable,OpenQuery, OpenForm,OpenReport); filtrarea datelor afiate ntr-un obiect tabel sau formular(actiunea ApplyFilter); cutarea unei nregistrri care rspunde la un anumit criteriu (actiunile FindRecord, FindNext); configurarea imprimrii sau imprimarea (PrintOut); iniializarea coninutului anumitor cmpuri(SetValue); automatizarea importului/exportului de date (TransferDatabase); definirea meniurilor personalizate (actiunea AddMenu); executarea unei instruciuni (fraze) SQL (actiunea RunSQL)afisarea unui mesaj (MsgBOX), maximizarea sau minimizarea unei ferestre (Maximize, Minimize)Selectarea unui anumit control (GotoControl)

Creare obiecte macro Click pe tab-ul Create din Ribbon. Click buton Macro din grupul Macros & Code din Ribbon. Click pe lista derulanta aferenta listei Add New Action si se alege actiunea dorita din lista sauDublu-click pe actiunea dorita din Action Catalog sauPrin metoda Drag &Drop se aduce o actiune in fereastra Macro.

Introducerea conditiilorO condiie specific anumite criterii care trebuie s fie satisfcute nainte s se efectueze aciunea.Se poate utiliza orice expresiecare furnizeaza un rezultat de tip True/False. (Expresie=orice combinaie de operatori matematici sau logici, constante, funcii i nume de cmpuri, controale i proprieti evaluate ca valoare unic;expresiile efectueaz calcule, manipuleaz caractere sau testeaz date;) Dac expresia returneaz False, No sau 0 (zero), nu se va efectua nicio aciune. n cazul n care condiia returneaz orice alt valoare, se vor executa toate aciunile. Pentru a utiliza conditii:Se creeaza un nou macro.Click pe lista Add New Action si se selecteaza If din lista.Sau Expandati categoria Program Flow din fereastra Action Catalog , apoi double-click pe If.

Sintaxe utilizate in conditiiMicrosoft Office Access 2007 - Illustrated

27

Expresiile conditionale utilizeaza sintaxa:[Forms]![formname]![controlname] or[Reports]![reportname]![controlname]

Se utilizeaza parantezele patrate si semnele de exclamatie pentru a separa tipul obiectului de numele obiectului si numele controlului la care se face referire

27Exemple de conditiiDaca s-a specificat de exemplu, MsgBox(deschideti tabela?",1)=1 actiunea prevazuta ulterior se va executa numai daca utilizatorul actioneaza butonul Ok, in caseta de dialog, in caz contrar actiunea fiind abandonata.

Daca s-a specificat de exemplu, conditia: Forms![Produse]![UnitatiInStoc]100 in acest caz pentru a se executa actiunea specificata trebuie ca valoarea campului tara din formularul pentru care s-a construit macro sa fie UK, iar valoarea campului TotalComenzi din formularul VanzariTotale trebuie sa fie mai mare de 100.

IsNull([Prenume]) Valoarea Prenume din formularul din care se execut macrocomanda este nul (nu exist). Aceast expresie este echivalent cu [Prenume] Is Null.DCount("[IDComand]", "Comenzi")>35 --- Exist mai mult de 35 de intrri n cmpul IDComand al tabelului Comenzi.DCount("*", "Detalii comenzi", "[IDComand]= Forms![Comenzi]![IDComand]")>3-----Exist mai mult de 3 intrri n tabelul Detalii Comenzi pentru care cmpul IDComand din tabel se potrivete cu cmpul IDComand din formularul Comenzi.

Assignarea unui Macro la un buton de comandaMicrosoft Office Access 2007 - Illustrated

30

Command Button Wizard cere un numeSe selecteaza un buton de comandaSe construieste butonul de comandaDin grupul de actiuni Miscellaneous se selecteaza optiunea Run macro, care va permite specificarea macrocomenzii pe care doriti s-o asignati30