Sunteți pe pagina 1din 30

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: Reports


Crearea
Crearea
Rapoartelor:
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 Wizard


Se selecteaza CREATE -- Report Wizard
Se 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 Next
Se 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 ReportDesign


Report 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 raport


Antet 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: Proprieti

a.Format
.Caption 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.

b. 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 conditionata
Pentru 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
subraport
Un 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 principal
Sa 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)

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 sau
Dublu-click pe actiunea dorita din
Action Catalog sau
Prin metoda Drag &Drop se aduce o
actiune in fereastra Macro.

Introducerea conditiilor

O 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

Sintaxe utilizate in
conditii

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
Microsoft Office Access 2007 - Illustrated

27

Exemple de conditii

Daca 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]<5, actiunea prevazuta
ulterior se va executa numai daca valoarea campului
Unitatiinstoc din formularul Produse este mai mica
decat 5.

[Tara]="UK" And Forms![VanzariTotale]!


[TotalComenzi]>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

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


comanda
Din grupul de
actiuni
Miscellaneous
se selecteaza
optiunea Run
macro, care va
permite
specificarea
macrocomenzi
i pe care doriti
s-o asignati

Se selecteaza
un buton de
comanda
Se
construieste
butonul de
comanda

Command
Button
Wizard cere
un nume
30

S-ar putea să vă placă și