Subformulare
Un subformular, este un formular inclus intr-un alt formular, pentru a permite afisarea datelor din mai multe tabele sau cereri de interogare, aflate in general in relatii de tipul unu la unu sau unul la mai multi. Astfel, in formularul principal vor fi afisate datele din partea unu a relatiei , iar in subformular cele din partea mai multi. In mod implicit, legatura dintre un formular si un subformular reflecta legatura dintre tabelele pe care se bazeaza. Prin urmare, la un moment dat in formular vor fi afisate o inregistrare aflata de partea unu a relatiei iar in subformular inregistrarile corespondente din tabela aflata de partea mai multi a acesteia. Intr-un formular care contine un subformular se pot specifica criterii de filtrare numai asupra campurilor din formularul principal.
Facand apel la exemplul nostru, relatia de tip 1 - n dintre tabelele Factura si Linie Factura face posibila crearea unui fomular unde se vor afisa facturile si in care se poate include un subformular pentru afisarea materialelor corespondente fiecarei facturi.
Din punctul de vedere al formatului de prezentare, un subformular poate fi de doua feluri:
o Foaie de date - se poate crea intr-o maniera foarte simpla si permite modificari privind dimensiunea si ordinea coloanelor;
o Formular - ofera o mare suplete de prezentare prin posibilitati multiple de aranjare a datelor, de utilizare a culorilor, de creare de antet si subsol pe pagina si de includere a unor campuri de tip OLE.
Pentru a beneficia de avantajele celor doua tipuri de subformulare, exista posibilitatea generarii ambelor modele, urmand ca utilizatorul sa aleaga in momentul vizualizarii unul sau altul in functie de necesitatile curente.
Pentru a crea un ansamblu formular-subformular exista 3 posibilitati.
o Crearea formularului si subformularului concomitent;
o Crearea subformularului si adaugarea lui la un formular existent;
o Crearea separat a celor doua si apoi combinarea lor.
Ultima varianta este mai simpla. In acest sens se parcurg etapele:
Pentru a aduce un subformular intr-un formular principal:
Pentru a modifica un subformular:
Pentru a terce din subformular in formularul principal se realizeaza click pe unul din controlalele ultimului. Invers, pentru a terce din formularul principal in subformular se realizeaza click in zona subfomularului.
Asa cun s-a aratat mai inainte, odata cu aducerea unui subformular in spatiul unui formular, trebuie stabilita legatura inter cele doua. Aceasta operatie se face automat de catre access, iar in caz contrar prin interventia utilizatorului.
Legatura automata este posibila in urmatoarele doua situatii:
1. formularul principal si subformularul se bazeaza pe tabele aflate in relatii primare de tip 1 - 1 sau 1 - n; situatie in care campurile de legatura vor fi cheia primara din tabela aflata in partea 1 si cheia externa din tabela aflata de partea n a relatiei;
2. formularul principal si subfomularul contin doua campuri care sunt identice ca nume si ca tip, iar cel din formularul principal este cheia primara a tabelei sursa; situatie in care legatura se face prin cele doua campuri.
Daca formularul principal se bazeaza pe o cerere de interogare sau daca nu sunt indeplinite conditiile de legatura automata (definite mai inainte), este necesara stabilirea legaturii prin campurile Link child filds si Link master fields din lista de proprietati a subfomularului.
Prin urmare se recomanda definirea de relatii primare intre tabele (prin cheia primara si externa), care se vor mosteni si in ansamblul formular-subformular.
In cadrul aplicatiei de facturare se poate contrui, asa cum a fost prezentata mai sus, formularul principal Facturi in care introducem subfomularul Lini factura (fig. 9).
Interogarea bazei de date (Query)
Interogarea bazei de date se poate face in mai multe moduri:
Prin cereri explicite.
Primele doua moduri pot fi catalogate ca interogari simple, fara restrictii si pot fi formulate pentru o singura tabela. Interogarea prin cereri explicite este complexa, comportand in general mai multe tabele, ale caror date sunt filtrate prin intermediul unor criterii. Ultima modalitate este implementata in Access prin componenta numita cerere de interogare (query), care poate fi de cinci feluri: selectie(select), analiza incrucisata (crosstab), actiune (action), SQL (Structured Query Language) si parametrata (parameter).
Rezultatul executiei unei asemenea cereri este plasat intr-o foaie de raspuns, asemanator foii de date asociate unei tabele.
Avantajele oferite de modul de interogare a bazei de date prin cereri sunt:
Crearea unei cereri de interogare se poate face in mai multe feluri:
Pentru a crea o cerere de interogare pas cu pas in modul Design view:
Cea de sus care afiseaza structura tabelelor/cererilor selectate la punctul 4 si eventualele legaturi dintre ele;
Cea de jos numita grila de proiectare (design grid), in care se va construi cererea din punct de vedere structural si functional; aceasta mai este cunoscuta si sub numele de grila QBE (Query By Exemple)
~ fig. 1~
o Dublu click in bara de titlu a listei de campuri, click in lista de campuri (oriunde) si apoi deplasarea in grila de proiectare;
o Prin deplasarea caracterului * (care se gaseste in capatul listei) in grila de proiectare.
Principalele criterii simple sunt:
o Apartenenta la un interval de valori:BETWEEN valoare_inferioara AND valoare_superioara (vezi fig. 1);
o Apartenenta la o lista de valori: IN(valoare1,valoare2,...) (vezi fig.1);
o Utilizarea operatorilor de comparatii: <,>,<=,>=,<>,= (vezi fig.1);
o Utilizarea operatorilor de negatie NOT NULL, IS NOT NULL sau NULL, IS NULL;
o Selectia dupa o data relativa la data curenta: Date().
Se pot specifica criterii de selectie dupa un anumit text care, daca va contine spatii, terbuie pus intre ghilimele. Criteriile complexe se pot constitui prin utilizarea operatorilor logici SI, SAU care vor permite legarea criteriilor simple. In acest sens grila de proiectare poseda mai multe linii de criterii. Criteriile simple prin operatorul logic SAU se va specifica pe aceeasi linie; criteriul complex care va contine operatorul SAU pe mai multe campuri se va specifica pe linii diferite. Operatorul logic SI este implicit intre criteriile campurilor de pe aceeasi linie.
Un alt tip de criterii complexe sunt cele care compara expresii aritmetice, in care operanzii sunt alte campuri decat cel pentru care este difinit criteriul (caz in care campurile vor fi incluse in paranteze drepte).
Se selecteaza coloana si se introduce comanda <View, Totals>, care va introduce in grila de proiectare linia Totals, data nu exista;
Se selecteaza Expresion;
In prima linie Field se introduce formula de calcul care are forma generala:
o Nume-rezultat: [Camp1]Operator_aritmetic[Camp2] .....
o De ex: TVA [Pret-unitar * 0.19 (vezi fig.1)
Access permite, de asemenea, specificarea unor operatii de calcul predefinite, care lucreaza pe grupuri de inregistrari sau la intervalul intregii tabele.
Pentru realizarea unei operatii de calcul predefinite asupra tuturor inregistrarilor din tabela se procedeaza in felul urmator:
Operatia |
Functia |
Tipul de campuri |
SUM |
Suma valorilor unui camp |
Numeric, Autonumber, Data si Logic |
AVG |
Media aritmetica |
Numeric, Autonumber, Data si Logic |
MIN |
Valoarea minima |
Numeric, Autonumber, Data si Logic si Text |
COUNT |
Numarul de valori dintr-un camp |
Toate tipurile |
STDEV |
Varianta valorilor unui camp |
Numeric, Autonumber, Data si Logic |
FIRST |
Prima valoare dintr-un camp |
Toate tipurile |
LAST |
Ultima valoare dintr-un camp |
Toate tipurile |
Pentru realizarea unei operatii de calcul predefinite asupra unui grup de inregistrari dintr-o tabela se procedeaza ca mai inainte (pentru toate inregistrarile) cu deosebirea ca unele campuri din cerere (cel putin unul) trebuie sa contina operatia Totals: <Group By> pentru a defini criteriile de grupare. Ordinea de evaluare a criteriilor de grupare este de la stanga la dreapta. Astfel, daca dorim sa aflam totalul intrarilor de materiale, totalul iesirilor de materiale si stocul existent ... vom construi urmatoarea cerere de interogare (fig. 2):
Dupa definnirea structurii cererii, campurile acesteia pot fi deplasate dintr-un loc in altul, sterse sau adaugate altele noi.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |