Documente Academic
Documente Profesional
Documente Cultură
Grupul Views permite comutarea între diferite moduri de vizualizare ale obiectului curent
Grupul Sort & Filter realizează sortări, filtrări simple sau avansate asupra înregistrărilor.
1
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Grupul Text Formatting permite formatări extinse la nivel de paragraf (indentări, liste
numerotate sau cu marcatori, evidenţieri)
Restul filelor sunt: Create, External Data, DataBaseTools, Fields, Table dependente de context.
Problema 1.
Să se creeze baza de date care va stoca informaţiile legate de activitatea unui magazin. Baza de
date se va numi Magazin.accdb.
1.Se deschide aplicaţia Microsoft Access. Se alege opţiunea Blank Desktop Database, pentru
crearea bazei de date de pornire cu numele Magazin.accdb. Se alege numele folderului de lucru
şi numele fişierului.
2
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Observaţie. Crearea bazei de date se face o singură dată. La aceasta se adaugă toate obiectele
care vor fi create ulterior.
Rezolvare. Se creează trei tabele. Primul dintre acestea va fi denumit Facturi și va conține
următoarele coloane:
Facturi
Denumire câmp Tip date Lungime
Nr Number LongInteger
Data Date/Time
Tip ShortText FieldSize=1
Partener ShortText FieldSize=35
Disc Number FieldSize=Single
Produs ShortText FieldSize=35
Cant Number Double
Pret ShortText FieldSize=35
Pentru crearea tabelei Facturi se parcurg următorii paşi:
1. In fila Create se alege opţiunea Table Design. Se introduce de la tastatură în coloana Field
Name numele primului câmp şi anume Nr, se alege în coloana DataType tipul Number şi se
selectează mărimea câmpului din secţiunea Field Size, Long Integer.
3
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
2. Se procedează asemănător pentru fiecare câmp al tabelei astfel încât să se ajungă la structura
prezentată în figura următoare.
3. Se salvează tabela cu ajutorul butonului Save iar în fereastra nou apărută se introduce numele
tabelei Facturi.
4. Deoarece în cadrul tabelei nu s-a creat cheia primară apare o fereastră de dialog denumită
„There is no primary key defined”. Pentru a păstra tabela fără cheie primară se apasă butonul No.
Se repetă pașii de la 1 la 4 pentru crearea tabelelor Parteneri şi Produse, conform structurii din
tabelele de mai jos.
Parteneri
Denumire câmp Tip date Lungime
Cod Fiscal Number FieldSize=Double
Denumire ShortText FieldSize=35
Adresa ShortText FieldSize=35
4
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Observaţie. Afişarea obiectelor din cadrul bazei de date se poate face personalizat, în funcţie de
opţiunile utilizatorului prin efectuarea unui click pe titlul Panoului de Navigare:
- Împărţirea obiectelor (Navigate To Category) se poate face fie după criterii personalízate
(Custom), fie in categorii de obiecte (Object Type), fie pe ramuri de obiecte, pornind de la
tabelele sursă (Tables and Related Views), fie după data creării (Created Date) sau după
data modificării (Modified Date).
- Filtrarea datelor înseamnă afişarea doar a unor anumite obiecte: tabele (Tables),
interogări (Queries), formulare (Forms), rapoarte (Reports) respectiv afişarea tuturor
obiectelor (All Access Objects).
5
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 3. Se setează proprietăţi noi pentru câmpuri după cum reiese din tabelele de mai jos.
Cheile primare apar subliniate şi boldate, în cazul în care există.
In tabela Facturi
Denumire câmp Format şi proprietăţi
Nr Required=Yes, Indexed=Yes (Duplicates OK)
Data Format=Medium Date
Tip Format=@
Disc Format=Percent
In tabela Parteneri
Denumire câmp Format şi proprietăţi
Cod Fiscal Required=Yes, Indexed=Yes, No Duplicates, Primary Key
Denumire Format=@
Adresa Format=@
Localitate Format=@
Tel Format=@, Input Mask !0999\-000.000;0;_
In tabela Produse
Denumire câmp Format şi proprietăţi
Cod Required=Yes, Indexed=No duplicates, Primary Key
Denumire Format=@
Marca Format=@
Stoc Decimal Places=2
Obs Format=@
1. Pentru modificarea câmpului Cod din tabelul Produse se parcurg următorii paşi:
1.1. Se efectuează clic dreapta pe numele tabelei şi se alege opţiunea Design View.
1.2. Se efectuează clic pe numele câmp Cod.
1.3. În lista cu proprietățile câmpului, se efectuează clic pe cămpul Required, după care se alege
din lista derulantă opțiunea Yes;
1.4. În lista cu proprietățile câmpului, se efectuează clic pe cămpul Indexed, după care se alege
din lista derulantă opțiunea Yes (No Duplicates);
1.5. Pentru setarea câmpului ca și cheie primară (Primary Key),se slectează tab-ul Tabel Tools -
Design şi se selectează opţiunea Primary Key. După efectuarea tuturor modificărilor,
proprietățile câmpului Cod trebuie să coincidă cu figura următoare;
1.6. Se salvează tabela.
6
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
2. Pentru setarea proprietăţii Input Mask al tabelei Parteneri, de deschide tabela în modul Design
şi se parcurg următorii paşi:
2.1. Se efectuează clic pe butonul de mai jos din cadrul proprietăţii Input Mask.
2.2. Porneşte utilitarul de tip Wizzard. Se alege tipul Phone Number. Apoi clic pe butonul Next.
2.3. In câmpul Input Mask se editează o formulă ca mai jos, apoi clic pe butonul Finish.
7
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 4. S-a omis la crearea tabelei Produse introducerea în structură a câmpului Unitate
de măsură (UM). Acest tip nou de câmp va fi de tip LookupWizard. Să se adauge acest nou
câmp astfel încât să fie poziţionat după câmpul Marca şi înaintea câmpului Stoc.
Rezolvare. Se modifică structura tabelei Produse prin adăugarea următorului câmp care să fie
situat între câmpul Marca şi Stoc:
8
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
2. Se alege numărul de coloane şi se introduc valorile dorite, în cazul nostru buc, cut, set. Se
selectează butonul Next;
3.Se alege numele câmpului nou creat iar apoi butonul Finish.
9
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 6. Să se introducă datele din factura afișată la Problema 2 în toate cele 3 tabele. În
plus, firma primește și alte facturi de intrare de la furnizori şi emite facturi de ieşire către clienţi.
Rezolvare:
1. În secţiunea Tables se efectuează click dreapta pe tabela în care se doreşte introducerea datelor
după care se selectează opţiunea Open. O alternativă este efectuarea unui dublu clic pe numele
tabelei în care se doreşte introducerea datelor.
2. Se introduc datele de la tastatură.
Pe lângă datele preluate din factura de la Problema 2, se introduc în tabele și datele din tabelele
următoare.
Facturi
Nr Data Tip Partener Disc Produs Cant Pret
6000 23-nov.-14 C Royal 10,00% Laptop 1 1150
6000 23-nov.-14 C Royal SA 10,00% DVD 10 80
4000 25-iul.-14 V Royal Sa 0,00% Carte Access 2013 15 80
6000 23-nov.-14 C Royal SA 10,00% Laptop 2 3200
1000 16-apr.-14 V Alfa SA 10,00% Laptop 2 1200
3000 18-apr.-14 V Electronica SRL 15,00% Rama digitala 4 200
5000 22-nov.-14 V CartiOnline SA 0,00% Carte Access 2013 -5 80
10
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Parteneri
Cod Fiscal Denumire Adresa Localitate Tel Web Sigla
224422 CartiOnline SA Strada Alba FN Dej 0724-000.222
336633 Alfa SA Strada Libertatii nr 42-48 Cluj-Napoca 0364-334.488
448844 Electronica IMPEX SRL Piata Unirii nr 7/25 Dej 0761-773.300
551155 Foto Muzica SA Strada Lata nr 12 Turda 0264-555.333
663366 Royal SA B-dul 1 Decembrie 1918 nr 19 Cluj-Napoca 0264-222.777
Produse
Cod Denumire Marca UM Stoc Obs
10 Laptop Dell buc 10 10.1" , 1.6GHz, 1GB RAM, HDD 160GB
20 Monitor TFT Samsung buc 8 WIDE 19"
30 DVD Player Philips buc 1 DVD+-/RW, DIVX, MP3, AUDIO CD, JPEG
40 Rama digitala Samsung buc 15 8" TFT, 500:1, 1GB, USB, Telecomanda
50 DVD TDK cut 60 100 buc/cutie
60 Laptop Lenovo buc 3 13.3", 1.3 GHz, 2x2GB RAM, HDD 320GB
70 Boxe Parrot set 5 5.1, Wireless, Bluetooth
80 Carte Access 2013 buc 200 MS Access 2013
90 CD cut 2000 100 buc pe cutie
Observaţii.
a) În cazul în care există cheie primară nu se va putea trece la următoarea înregistrare decât după
completarea câmpului cheie primară cu o valoare unică.
b) Câmpurile Web şi Sigla se pot completa cu date la alegere (opțional). Fisierele imagine grafică
trebuie să existe în folderul de lucru.
Problema 7. Să se ordoneze alfabetic după câmpul denumire înregistrările tabelei Produse.
Rezolvare:
1. Se deschide tabela Produse în modul de introducere date (dublu-click pe numele tabelei sau
click dreapta pe tabelă după care se selectează opţiunea Open).
2. Se poziţionează cursorul pe câmpul Denumire.
3.Fie se efectuează click pe butonul aflat în dreapta numelui câmpului, fie se efectuează click
pe butonul (sau pe butonul după caz) aflat in secţiunea Sort & Filter .
În dreapta numelui câmpului se va afişa o săgeată care indică modul de sortare al câmpului
(ascendent sau descendent).
4.Renunţarea la sortare se face prin efectuarea unui click pe butonul aflat in secţiunea Sort &
Filter.
11
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
pe butonul .
Din lista de valori aferente câmpului se selecteaza doar valorile care vor fi afişate în continuare
(în cazul de faţă rămâne bifată doar localitatea Cluj-Napoca). Se pot selecta dacă se vor afişa sau
nu celulele vide prin bifarea sau de-bifarea casuţei Blanks. Se apasă butonul OK.
În bara de navigaţie aflată in partea din stânga jos a ferestrei va fi afişat faptul că tabela este
filtrată:
Renunţarea la filtrare se face afişând fereastra de filtrare şi bifând opţiunea (Select All) sau prin
apăsarea butonului Toggle Filter din secţiunea Sort & Filter.
12
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Dacă există rânduri deja create în fereastra Indexes: Facturi se pot îndepărta prin efectuarea unui
click dreapta pe fiecare rând si alegerea opţiunii Delete rows .
3. Se introduce de la tastatură în celula goală apărută în coloana Index Name numele indexului, în
acest caz acesta fiind index_cantitate.
4.Se efectuează clic pe celula aferentă câmpului Field Name şi după aceea un nou clic pe butonul
▼ apărut în dreapta celulei. Din lista cu câmpurile tabelei se selectează câmpul dorit, în acest caz
Cantitate.
5.Se selectează modul de sortare ascendent sau descendent din coloana Sort Order.
Se păstrează proprietăţile Primary, Unique şi Ignore Nulls cu valorile implicite.
13
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare: Problema se rezolvă prin modificarea formatului de introducere date (Input Mask).
Modificarea acestui format se realizează astfel:
1.Se selectează tabela în care se face modificarea, în cazul nostru tabela Facturi, şi se deschide în
modul Design View.
2.Se poziţionează cursorul pe câmpul Data care va fi modificat.
3.În fila General se poziţionează cursorul în câmpul Input Mask.
4.Se acţionează butonul cu simbolul „...” apărut în dreapta câmpului. Acţionarea acestui buton
declanşează un vrăjitor (wizard) cu următorii paşi:
– se selectează din lista disponibilă tipul de format dorit, în cazul nostru Medium Date
după care se acţionează butonul Next;
– se selectează caracterul de înlocuire (Placeholder character) din lista disponibilă după
care se acţionează butonul Next;
– se acţionează butonul Finish pentru încheierea vrăjitorului.
5.Se salvează modificările şi se închide fereastra Design View.
6.Se deschide tabela în modul de introducere date şi se efectuează clic pe câmpul Data aferent
unei noi înregistrări pentru a vizualiza modificarea adusă câmpului.
Problema 12. Să se modifice tipul de dată al câmpului Pret din tabela Facturi în monedă
(currency). De ce apar mesaje de avertizare la salvarea modificării?
Problema 13. Să se modifice proprietăţile câmpului cantitate din tabela Facturi astfel încât să
nu se permită introducerea unor valori negative. În cazul în care se introduce în mod eronat o
valoare negativă se va afişa mesajul „Cantitatea nu poate fi negativa!”. Toate datele care sunt
introduse în tabel se vor păstra nemodificate.
14
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
6. Se răspunde Nu mesajului prin care se solicită verificarea datelor deja introduse în tabel;
7. Se deschide tabela în modul de introducere date, dacă este posibil, şi se încearcă introducerea
unei valori negative în câmpul cantitate aferent ultimei înregistrări. Se încearcă poziţionarea
cursorului pe alt câmp şi se constată apariţia unei ferestre de atenţionare care conţine mesajul
specificat anterior. Se forţează închiderea tabelei fără salvarea modificărilor.
Problema 14. Să se modifice proprietăţile câmpului Pret din tabela Facturi astfel încât să nu
se permită introducerea unor valori negative. În cazul în care se introduce în mod eronat o
valoare negativă se va afişa mesajul „Preţul nu poate fi negativ!”.
Rezolvare: Asemănător problemei precedente.
Problema 15. Să se seteze o proprietate astfel ca implicit toate Facturile să fie de tip Vânzare
Rezolvare: In fila de proprietăţi General se setează Default Value = “V”
Problema 16. Să se seteze o proprietate astfel ca implicit toate facturile să aibă data curentă.
Problema 17. Să se facă modificari asupra datelor din tabela Facturi astfel: se impun
următoarele reguli pentru discountul de facturi, în funcție de valoarea lor.
Cumpărări: sub 2500: 10%, intre 2500-5000: 15%, peste 7500 20%;
Vânzări: sub 2000: 0%, peste 2000: 5%
15
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Probleme propuse
Problema 1. Se dorește ținerea evidenței pentru transportul in comun din Cluj-Napoca. Se are
în vedere emiterea de abonamente, gestiunea liniilor și stațiilor, precum și a mijloacelor de
transport. Baza de date se salvează sub numele Transport in comun. Ce date sunt legate de
transportul în comun? Care din aceste date trebuie stocate? Câte tabele va conține baza de date?
Problema 2. Să se populeze baza de date Transport în comun cu înregistrări legate de diferite
abonamente, linii și stațiile aferente, precum și mijloace de transport.
Problema 3. Să se ordoneze alfabetic după câmpul Număr linie înregistrările tabelei Linii.
Problema 4. Care sunt numele staţiilor existente în cartierul Mănăştur?
Problema 5. Care sunt numerele de linii deservite de autobuze?
Problema 6. Să se modifice modul de introducere a datei calendaristice în câmpul
data_inceput din tabela Abonamente.
Problema 7. Să se seteze o proprietate a tabelei Mijloace de transport astfel ca valoarea
implicită să fie autobus.
Problema 8. Să se modifice proprietăţile câmpului număr linie din tabela Linii astfel încât să
nu se permită introducerea unor valori negative. În cazul în care se introduce în mod eronat o
valoare negativă se va afişa mesajul „Numărul liniei nu poate fi negativ!”.
Soluții:
Problema 1
Tabela Abonamente:
Tabela Linii:
16
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Tabela Statii:
Tabela Tipuri de abonamente:
17
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 2
18
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Discuție: pentru a găsi factura numărul 4000 utilizatorul trebuie să deschidă tabelul Facturi în
modul de vizualizare date și să inspecteze coloana Nr, găsind înregistrarea care se referă la
această factură. Parcurgând înregistrarea, se poate găsi câmpul Partener cu valoarea Royal
SA, dar nu se poate găsi adresa acestui partener (vezi figura următoare).
Pentru a găsi adresa, utilizatorul trebuie să deschidă tabelul Parteneri, să caute înregistrarea
firmei Royal, iar în cadrul înregistrării respective să găsească câmpul Localitate și Adresa.
Astfel se poate stabili că produsele trebuie trimise la Cluj-Napoca, B-dul 1 Decembrie 1918
nr 19 (vezi figura următoare).
1
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Înregistrările care pot fi unite datorită relației între Parteneri și Facturi sunt prezentate în
figura următoare.
Figura 3.3 legăturile care pot fi stabilite pe baza relației între tabelele Parteneri și Facturi
2
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
3
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
4
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 6 În urma introducerii datelor, au apărut inconsistențe în baza de date. Care sunt
erorile introduse? Să se modifice datele introduse la Problema 5 pentru a evita apariția
inconsistențelor.
5
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Figura 3.9. Mesajul care avertizează că integritatea referențială nu poate fi impusă din cauza
datelor deja introduse în tabela copil
Acest mesaj semnalează faptul că datele deja introduse în tabela Istoric_Pret vor genera
înregistrări orfan (înregistrări a căror valori din cheia străină nu pot fi legate cu valori din
cheia primară). Ca urmare, e necesară corectarea valorilor din cheia străină. În cazul acesta, e
vorba de a doua înregistrare introdusă la Problema 5, care are codul 100. Acest cod nu poate
fi regăsit în câmpul Cod din tabelul Produse. Corecția necesară e modificarea valorii 100 în
10 deoarece acesta este codul corect al produsului Laptop. Se refac pașii 1-4 pentru
impunerea integrității referențiale.
ISTORIC_PRET
Cod PU DataStart DataFinal CotaTVA
10 1.150,00 26.10.2014 15.12.2014 24%
20 500,00 01.01.2014 30.06.2014 24%
30 400,00 01.01.2014 30.06.2014 24%
30 400,00 01.07.2014 25.10.2014 24%
40 200,00 01.01.2014 30.06.2014 24%
50 80,00 01.07.2014 15.12.2014 24%
60 3.200,00 01.10.2014 15.12.2014 24%
70 700,00 01.10.2014 15.12.2014 24%
80 80,00 01.01.2014 15.12.2014 9%
90 10,00 01.01.2014 10.12.2014 9%
90 9,00 11.01.2014 21.12.2014 9%
6
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Se constată că există redundanță (valori care se repetă fără a fi necesar). Redundanța duce pe
de o parte la consum de timp (la introducerea datelor) și de resurse (spațiu pe disc pentru
stocare, sau memorie la manipularea înregistrărilor). Pe de altă parte, în cazul modificării
valorilor deja introduse, poate duce la erori dacă modificarea trebuie realizată în mai multe
locuri.
7
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Figura 3.11. Tabelele și înregistrările aferente, după rezolvarea redundanței din tabelul
Facturi
Problema 12 S-a constat că, dintr-o eroare de editare, codul fiscal al partenerului Royal
SA este greșit stocat în baza de date. Să se modifice codul fiscal al partenerului Royal SA în
8
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 13 Să se modifice relația între Parteneri și Facturi, astfel încât orice modificare
adusă Codului Fiscal al unui partener să actualizeze Codul înregistrărilor din tabelul Facturi.
Pentru modificarea unei relații se urmează pașii 1-4 de la Problema 7. Diferența este că în
fereastra Edit Relationship se bifează și check-box-ul Cascade Update Related Fields,
conform figurii următoare.
Să se modifice codul fiscal al partenerului Royal SA în 122221. Ce modificări s-au realizat în
tabelul Facturi?
Problema 14. Să se modifice relația dintre Produse și Istoric_Pret astfel încât la ștergerea
unui produs să se șteargă automat și istoricul de prețuri al produsului respectiv.
1. Se modifică relația, iar în fereastra Edit Relationship se bifează check-box-ul Cascade
Delete Related Fields, conform figurii următoare:
9
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
4. Se verifică din nou înregistrările din tabelul Istoric_Preț și se număra câte înregistrări au
codul de produs 90.
Probleme propuse
Problema 1. Să se seteze chei primare în tabelele construite anterior ale bazei de date
transport în comun.
Problema 2. Să se traseze următoarele relaţii:
10
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
LUCRAREA DE LABORATOR 4.
Construirea şi utilizarea interogărilor
Problema 1.Să se afişeze toate informaţiile despre produse. Cum se va proceda în cazul
partenerilor?
Rezolvare: Pentru construirea interogării se parcurg următorii paşi:
1. Se selectează tabela Produse;
2. Se selectează fila Create şi se efectuează clic pe butonul Query Wizard;
3. Se va afişa fereastra New Query ce conţine o listă cu toate tipurile de interogări
realizabile în mod asistat, cu instrumente de tip wizard. Alegem Simple Query
Wizard.
4. În lista Table/Queries este deja selectată tabela Produse, datorită selectării ei încă
de la început. Astfel, acum nu mai trebuie să facem această alegere. Acţionăm
butonul pentru a trece toate atributele din lista Available Fields în Selected
Fields. Pentru mutare unul câte unul, selectăm câmpul şi utilizăm butonul cu
săgeată simplă, iar pentru a renunţa la o selecţie folosim butoanele cu săgeţi
orientate invers, spre stânga. Acţionăm apoi butonul Next;
1
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
2
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
3
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
existenţa a mai multe surse de date. Sort permite ordonarea crescătoare sau
descrescătoare a rezultatelor după acea coloană, Show indică dacă acea coloană se va
afişa în cadrul rezultatelor. În Criteria se trec condiţii, reguli, filtre, iar în Or avem
condiţii alternative.
În partea dreaptă avem codul SQL. Pentru salvarea interogării acţionăm opţiunea Save ,
sau la închiderea ferestrei constructorului de interogări vom fi solicitaţi să denumim
interogarea („Informatii detaliate Parteneri”), sau să renunţăm la această operaţiune.
De reţinut (pe baza vizualizării din SQL View):
Pentru menţionarea eficientă a tuturor atributelor din cadrul unei surse de date, în
clauza SELECT folosim „*”, opţional prefixat de numele sursei de date.
Problema 2.Să se afişeze produsele, marca şi unitatea de măsură.
Produse aflată în panoul superior, ce gestionează sursele de date; Rezolvare: Se va rezolva în
Design View, fără utilizare wizard. Pentru construirea interogării dorite se parcurg următorii
paşi:
1. Se selectează fila Create şi se efectuează clic pe butonul Query Design;
4
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
5
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
2. Deschidem noua interogare mai întâi în Datasheet View (din meniul contextual
alegem Open, sau dăm dublu-
clic), pentru a vedea cum se
reflectă la nivelul datelor faptul că avem produse exprimate în bucăţi. Se observă că
acestea conţin textul „buc” în coloana cu unitatea de măsură. Comutăm în modul de
proiectare: HOME – View – Design View;
6
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
3. Pentru specificarea condiţiei, în linia a cincea (Criteria), coloana a treia, tastăm „buc”.
Fiind vorba de text, Access va pune automat ghilimele.
6. Se salvează modificările.
De reţinut (pe baza vizualizării din SQL View):
Pentru specificare unei condiţii de filtrare la nivel de linie/înregistrare, se foloseşte clauza
WHERE.
Problema 5.Să se afişeze denumirile produselor ordonate alfabetic.
7
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
5. Salvăm modificările.
De reţinut (pe baza vizualizării din SQL View):
Pentru specificare unui criteriu de ordonare, se foloseşte clauza ORDER BY, cu opţiunea
ASC (opţională) pentru ordonare crescătoare, respectiv DESC pentru descrescătoare.
Problema 6.La fel ca problema anterioară dar un produs să apară afişat o singură dată.
Rezolvare:
Se observă în urma ordonării alfabetice că un produs apare afişat de mai multe ori, fiind o
informaţie duplicată la afişarea unei singure coloane, chiar dacă produsele nu sunt identice,
fiind de mărci diferite. Aşadar, modificăm interogarea Lista produse, dar o redenumim
înainte ca Lista generica produse.
1. Verificăm să fie închisă interogarea Lista produse, apoi după selectarea ei acţionăm
fie F2, fie alegem opţiunea Rename din meniul contextual. Înlocuim numele existent
cu Lista generica produse. Deschidem interogarea în Design View;
8
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
3. Se rulează interogarea.
6. Salvăm.
De reţinut (pe baza vizualizării din SQL View):
Pentru eliminarea liniilor duplicate se foloseşte în cadrul clauzei SELECT opţiunea
DISTINCT.
Problema 7.Să se afişeze stocul şi denumirile produselor exprimate în bucăţi care au stoc
de cel puţin 15 unităţi.
Rezolvare: Folosim şi multiplicăm interogarea Produse exprimate in bucati. Noua copie va fi
intitulată. Produse exprimate in bucati cu stoc >= 15.
9
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 8.Să se afişeze numai produsele care au unitatea de măsură exprimată în set şi
cut utilizând tabelul Produse din baza de date MAGAZIN.
Rezolvare: Pentru construirea interogării se parcurg următorii paşi:
1. se selectează fila Create şi se efectuează click pe butonul Query Design
2. se afişează fereastra Show Table ce conţine o listă a tabelelor şi interogărilor care
pot reprezenta sursa de date pentru interogare. Se selectează tabela Produse, se
acţionează butonul Add. Se termină operaţia de selectare prin acţionarea butonului
Close.
Observaţie - se pot selecta în orice moment şi alte tabele prin apăsarea butonului Show Table
din fila Query Design Tools.
- Fereastra Design View conţine două zone principale: zona din partea de sus a
ferestrei unde sunt afişate tabelele şi relaţiile între acestea, iar cea din partea de jos afişează
câmpurile şi criteriile de filtrare.
10
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
11
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
12
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
13
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 11. Dar produsele care au unul din următoarele stocuri: 8, 5, 200, 60?
Rezolvare: De această dată nu avem un interval, ci o mulţime de valori discrete, neordonate.
Se procedează similar cu problema anterioară, dar în loc de Between alegem operatorul In.
14
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
15
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 14. Să se afişeze lista produselor care încep cu litera „D”. Şi pe cea a
celor care se termină în „a”. Dar cele care conţin litera „p”? Dar dacă avem litera „a”
pe poziţia a doua?
Rezolvare: Pentru acest tip de probleme se foloseşte operatorul pentru şiruri de caractere
LIKE. El va fi urmat de un şablon de căutare, pentru compunerea sa utilizându-se caractere
speciale de înlocuire, care în SQL-ul utilizat în Access sunt „*” şi „?”. Primul ţine locul la
oricâte caractere, sau chiar niciunul, în timp ce al doilea înlocuieşte strict un caracter.
Rezolvaţi în continuare problema pentru a obţine următoarele rezultate.
16
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
3. Acţionăm butonul din fila DESIGN. Cu această ocazie, în cadrul tabelului din
panoul inferior va apărea o nouă linie, Totals. Din lista derulantă aferentă acestei linii
alegem funcţia Count, care va număra produsele.
4. Ataşăm un alias acestei coloane;
17
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
3. Rezultatele următoare sunt obţinute prin două rulări succesive ale aceleiaşi interogări:
18
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
..
19
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
PROBLEME PROPUSE
Problema 1. Pe baza de date transport in comun să se evidenţieze ce tip de abonament
există pe linia 25 .
Problema 2. Pe baza de date transport in comun să se determine numărul de staţii pentru
fiecare linie.
Problema 3 Pe baza de date transport in comun să se vizualizeze care este capacitatea
mijloacelor de transport neelectrificate.
Problema 4. Pe baza de date transport in comun să se vizualizeze care este tipul de
abonament efectuat pe fiecare linie iar apoi să se vizualizeze numărul total de
abonamente efectuate pe fiecare linie.
20
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
LUCRAREA DE LABORATOR 5
Construirea şi utilizarea interogărilor complexe
1
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
6. Rulăm interogarea cu ajutorul butonului View (Datasheet View) sau Run din fila
DESIGN;
7. Observăm că denumirea coloanei a doua nu este sugestivă, motiv pentru care revenim
în modul de proiectare (Design View) şi îi atribuim un alias;
2
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
9. Se salvează interogarea.
3
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 3. Care sunt mărcile pentru care avem mai multe produse în nomenclator?
4
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 4. Câte modificări de preţ s-au efectuat pe fiecare cod de produs în parte?
Rezolvare: Se va considera tabela Istoric_Pret.
5
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
2. Se observă legătura dintre atributele Cod şi Cod Fiscal ale celor două tabele.
Legătura este moştenită de la etapa de trasare a relaţiilor din cadrul bazei de date,
dar se poate oricând renunţa la ea (selectare şi ştergere). Dacă extragem în acest
moment codul SQL, acesta va fi:
SELECT FROM Parteneri INNER JOIN Facturi ON Parteneri.[Cod Fiscal] = Facturi.Cod;
Deci, se realizează o relaţie de tip INNER JOIN sau EQUI-JOIN între cele două tabele, ceea
ce înseamnă că vor fi luate în considerare doar acele înregistrări pentru care există egalitate
între cele două coduri. Mai concret, fiecare partener va apărea doar
pe facturile emise de/către el, nu şi pe celelalte. Deci, partenerului cu
codul fiscal 112211 îi vor fi asociate doar facturile la care codul este
numai şi numai 112211, adică factura cu numărul 2000 şi 3000.
Acum adăugăm informaţiile ce dorim să fie extrase din cele două
tabele. Utilizăm fie varianta cu dublu-clic, fie cu selecţie directă din
listele Table şi Field, dar exact în această ordine. În caz contrar, când
avem mai multe surse de date şi/sau multe câmpuri, ar putea fi
destul de dificil de gestionat, după cum se vede şi în imaginea din
dreapta;
6
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
7
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
6. Putem să refacem relaţia dintre tabele prin efectuarea unei operaţii drag&drop
între atributele implicate, sau să închidem fereastra interogării, fără a salva
ultimele modificări.
De reţinut (pe baza vizualizării din SQL View):
Atunci când intervin mai multe surse de date în panoul superior al ferestrei de
proiectare a interogărilor, toate trebuie să fie conectate între ele în peste 99% din cazuri.
Atunci când relaţia presupune stabilirea unei legături exacte pe baza egalităţii valorilor
atributelor corespondente, avem de-a face cu operaţiunea de join intern. Pentru aceasta, în
SQL se foloseşte clauza INNER JOIN.
Problema 7. Să se afişeze numărul, tipul şi data facturii, precum şi numele
partenerului implicat, precum şi numele celorlalţi parteneri, chiar dacă n-
au efectuat nicio tranzacţie.
Rezolvare: Pentru această problemă se parcurg următorii paşi:
1. Pentru optimizare, vom porni de la interogarea anterioară – Facturi cu denumire
partener – pe care o vom multiplica şi denumi Parteneri cu si fara facturi & info
facturi;
2. Având implicate două surse de date, între ele trebuie să existe o relaţie, în cazul în
care nu suntem interesaţi de obţinerea produsului cartezian. La problema
anterioară afişam informaţii doar pentru partenerii care au emis sau cărora li s-a
emis vreo factură. Dacă dorim afişarea în plus şi a partenerilor care nu au facturi,
sau/şi ipotetic vorbind facturile care nu au partener, vom apela la un altfel de
uniune, şi anume operaţiunea de join extern (OUTER JOIN). Pentru modificare
tipului implicit de uniune, se dă dublu-clic pe relaţie sau se selectează relaţia şi se
efectuează un clic-dreapta de mouse, alegându-se Join Properties din cadrul
meniului contextual.
8
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
În Access, un join extern se distinge vizual prin prezenţa unei săgeţi la capătul relaţiei.
Săgeata se va afla legată de sursa de date deficientă de informaţii, în cazul nostru tabela
Facturi. Concret, în cazul acestui exemplu, după modul de referire al tabelelor, avem o
uniune la stânga. Un join la dreapta aici n-ar aduce niciun rezultat suplimentar faţă de un join
intern, deoarece nu este încălcată integritatea referenţială, adică nu avem facturi fără să
cunoaştem emitentul sau beneficiarul.
3. Afişăm rezultatul interogării;
Observaţie: Se vede că primele 6 facturi au partener cunoscut, în timp ce ultimele două nu.
Cu toate acestea sesizăm că Electronica IMPEX SRL totuşi apare ca fiind un partener fără
vreo factură. De ce? Relaţiile dintre sursele de date s-au stabilit pe baza codului fiscal şi nu
a numelui. În cazul de faţă avem doi parteneri cu nume identic, dar doar unul dintre ei a
efectuat tranzacţii.
De reţinut (pe baza vizualizării din SQL View):
O operaţie de join extern la stânga, presupune existenţa unei legături dintre două
surse de date S şi D şi se notează S LEFT JOIN D ON … şi presupune afişarea tuturor
înregistrărilor din S, completate cu date coloanele din D doar unde este satisfăcută condiţia
de egalitate între atributele de legătură, restul fiind completate cu NULL-uri.
Problema 8.Afişati denumirea, marca şi cantitatea vândută din fiecare produs.
Rezolvare: Pentru această problemă se parcurg următorii paşi:
9
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
1. Avem nevoie de informaţii din 3 tabele, deoarece denumirea şi marca sunt în Produse,
cantitatea în Continut_Fact, iar tipul facturii îl găsim doar în Facturi. Între ele trebuie
să existe 2 relaţii;
2. Se rulează interogarea;
10
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 11. Să se afişeze pentru fiecare produs prețul valabil în acest moment. În
cazul în care data curentă este după 15/12/2014, se va considera o dată în intervalul
01/01/2014 şi 15/12/2014.
Rezolvare: Se va consulta istoricul schimbării preţului. Interogarea solicită două surse
de date.
1. Se adaugă Produse şi Istoric_Pret în fereastra constructorului de interogări şi se
adaugă câteva informaţii relevante cu privire la identitatea produsului. Pentru
introducerea condiţiei se va folosi constructorul de expresii, iar coloana în care se
introduce criteriul, poate fi sau nu afişată;
11
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
2. Se rulează interogarea;
12
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Relaţiile dintre sursele de date sunt moştenite, deci nu mai trebuie create în cadrul
interogării. Momentan avem 16 rezultate returnate. Fără existenţa relaţiilor, numărul
de înregistrări generate ar fi în momentul de faţă 4.752. Inacceptabil!
13
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
6. Observăm însă că aceleaşi produse ar fi fost vândute în aceeaşi dată la valori diferite,
posibil la acelaşi partener. Trebuie să stabilim preţul exact al vânzării, nu toate
preţurile posibile. Aşadar, data facturii trebuie să cadă în intervalul unui istoric de preţ
al produsului comercializat. Deci, introducem şi această condiţie, asemănătoare cu cea
de la problema anterioară;
14
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
4. pentru câmpul Data se tastează cele două date (de început şi de sfârşit) folosind
expresia between ... And .... iar valorile sub cuprinse între „#”.
5. se salvează interogarea cu numele Cantitaticumparateaprilie.
Se obţine următorul rezultat:
15
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 15. Să se afişeze toate produsele care au fost cumpărate sau vândute de
firma.
Rezolvare: Interogarea va afişa câmpurile Denumire (tabelul PRODUSE) şi Cant (tabelul
CONTINUT-FACT).
1. se construieşte în modul Design View interogarea
2. se selectează în fereastra Show Table tabelele PRODUSE şi CONTINUT-FACT.
16
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
4. pentru a obţine totalul cantităţilor se va folosi butonul Totals din fila Query Tools
Design; în rândul Total se va selecta funcţia Sum pentru câmpul Cant şi Group by
pentru câmpul Tip respectiv Denumire; acesta înseamnă că denumirile identice se
grupează, iar pentru fiecare grup astfel obţinut se însumează cantităţile.
17
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 17. Să se găsească produsele care au stoc minim respectiv cea mai mare
cantitate de marfă aprovizionată.
Rezolvare:
a. pentru cantitatea minimă interogarea în Design View este următoarea:
18
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 18. Care este partenerul care a efectuat cumpărături totale de valoarea cea
mai mare? Dar furnizorul de la care s-au realizat achizițiile totale cele mai
mari?
Rezolvare: Vom evidenţia în cadrul prezentării rezolvării, doar elementele de noutate utilizate
aici.
19
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
20
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 21. Să se afle valoarea tuturor vânzărilor, respectiv a achiziţiilor. Cât este
deficitul/excedentul comercial?
Rezolvare: Utilizăm acelaşi raţionament ca la problema anterioară, cu diferenţa că în formula
de calcul vom utiliza şi TVA-ul, la cota aferentă fiecărei tranzacţii.
Problema 24. Afişaţi pentru fiecare produs în parte cantitatea totală vândută.
21
Universitatea Babeș-Bolyai din Cluj-Napoca
Lucrări de laborator
Facultatea de Științe Economice și Gestiunea Afacerilor Baze de date și programe
Departamentul de Informatica Economică
Problema 26. Afişaţi numărul facturii, tipul şi valoarea fiecărei facturi, ţinând cont şi
de TVA şi discount.
Problema 27. Care este cumpărătorul care a efectuat cele mai multe achiziții?
Achiziţiile pot fi: facturi diferite, linii din cadrul facturilor, dar nu cantităţi.
PROBLEME PROPUSE
22
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 1. Să se extragă din tabelele bazei de date toate informațiile aferente unei singure
facturi, introdusă de la tastatură de către utilizator. De exemplu, se extrag toate datele care
urmează a fi listate pe factura emisă către un client (figura de mai jos reprezintă exemplul de
factură folosit pentru introducerea datelor în laboratorul 2).
Ce format vă așteptați să aibă datele estrase din baza de date?
Rezolvare: În esență, este necesară unirea tuturor datelor aflate în acest moment stocate în cele 5
tabele ale bazei de date. Pentru a ajunge la rezultatul final se poate proceda în două feluri: fie
creând o singură interogare complexă, fie creând mai multe interogări intermediare. Vom
compara cele două abordări, pentru a evalua avantajele si dezavantajele.
1. Se agregă datele din toate tabelele printr-o singură înregistrare. Se unesc datele din tabelele
Parteneri, Facturi, Conținut_Fact, Produse și Istoric_Pret. Se filtrează datele după numărul
facturii, printr-un parametru. Se salvează interogarea cu numele ListareFactura_1.
1
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
2
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
2.2. Se unesc datele din tabelele Produse și Istoric_Pret. Se salvează interogarea cu numele
ListareFactura_22.
Se rulează interogarea.
3
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare:
1. Se creează o integrare care extrage ultima tranzacție pentru fiecare produs. Această interogare
este una de tip Select Query. Se salvează interogarea sub numele MakeTableStoc_1.
2. Se creează o interogare care stochează în tabelul Stoc valorile stocului curent, împreună cu
data ultimei facturi cu care s-au tranzacționat produse. Pentru a crea o interogare de tip Make
Table, se urmează pașii:
4
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
2.1. Se creează, în Design View, o interogare Select Query care extrage datele necesare. În acest
caz, sursa de date este o interogare (MakeTableStoc_1) și un tabel (Produse). Se trasează relația
între câmpul CodProd al interogării MakeTableStoc_1 și câmpul Cod al tabelului Produse,
pentru a evita extragerea unui produs cartezian.
2.2. Se convertește interogarea Select Query într-una Make Table prin selectarea filei Query
Tools – Design, opțiunea Make Table. Rezultatul este apariția ferestrei din figura următoare, în
care se poate introduce sau selecta tabelul de destinație. În acest caz, deoarece tabelul Stoc nu
există, se introduce de la tastatură denumirea lui.
5
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 3. Se modifică toate prețurile curente ale produselor din tabelul Istoric_Preț cu zece
puncte procentuale (10%). Se consideră că data curentă este 20.10.2014.
Rezolvare:
1. Se creează o interogare Select Query care va extrage toate înregistrările din tabelul
Istoric_Pret cu prețul în perioada de valabilitate (data curentă se află între data de început și data
de sfârșit a prețului).
2. Se convertește interogarea Select Query într-una Update prin selectarea filei Query Tools –
Design, opțiunea Update. Rezultatul este apariţia în cadrul zonei de output a rândului Update
To. Se introduce în linia Update To a câmpului PU expresia care calculează noua valoare (se
poate folosi Expression Builder), conform figurii următoare:
6
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
4. Rezultatul interogării de tip update va fi cel din fereastra de mai jos. Pentru comparaţie se
poate vedea varianta iniţială a tabelului Istoric_Preț.
7
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
3. Se creează o a doua interogare Select Query, care extrage cantitatea aferentă ultimei tranzacții.
Dat fiind că una din sursele de date este interogarea UpdateStocCumparari_1, pentru a evita
produsul cartezian, se vor crea 2 relații: intre CodProd și Continut_Fact.CodProd respectiv între
MaxofData și Facturi.Data. În acest fel ne asigurăm că se extrag, pe de o parte doar facturile care
au data egala cu ultima factura, iar pe de alta parte dintre facturile înregistrate cu data respectivă
doar produsul cu codul care prezintă interes (introdus ca parametru). Se convertește interogarea
într-una de tip Make Table, iar numele tabelului creat va fi Actualizare_Stoc. Se salvează
interogarea cu numele UpdateStocCumparari_2.
4. Se creează o interogare Update care adună la stocul anterior din tabelul Stoc, cantitatea de pe
această ultimă factură. Atenție, pentru a evita produsul cartezian, se creează o relație între
Stoc.Cod și Actualizare_Stoc.CodProd. Se salvează interogarea cu numele
UpdateStocCumparari_3.
8
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
5. La rulare se va afișa mesajul de avertizare „You are about to update 1 row(s)”. Rezultatele
comparative (înainte de rulare și după rulare) sunt afișate în figura următoare, diferențele fiind
subliniate:
Problema 5. Pentru a putea face descărcarea de gestiune (folosind metode ca FIFO sau LIFO)
e nevoie ca intrările și ieșirile să fie afișate împreună (într-o interogare sau tabel). Să se separe pe
o coloană toate cumpărările de produse, iar pe altă coloană toate vânzările de produse.
Vom rezolva această problemă astfel încât rezultatele să se stocheze într-un tabel denumit
Fișă_Magazie care va conține câmpurile: Data Factură, Număr Factură, Cod Produs, Cantitate
Cumpărată, Cantitate Vândută.
Rezolvare:
1. Se creează tabelul Fișă_Magazie care conține coloanele indicate.
2. Se construiesc două interogări de tip Select Query, care extrag toate cumpărările respectiv
toate vânzările de produse. Se salvează cu numele Fisa_Magazie_C respectiv Fisa_Magazie_V.
9
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
3. Se modifică cele două interogări din Select Query în Append Query. Modificarea se face prin
selectarea filei Query Tools – Design și a opțiunii Append. Rezultatul este apariția unei ferestre
în care trebuie introdus tabelul în care se face adăugarea înregistrărilor (în cazul acesta tabelul
Fisa_Magazie – vezi figura următoare)
4. În zona de output a înregistrării apare un nou rând în care se poate specifica în ce câmp vor fi
adăugate datele. Se vor alege câmpurile de destinație conform figurii următoare.
10
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
11
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
12
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
3. Se creează o nouă interogare și se vizualizează în SQL View (fereastra va conține doar clauza
SELECT, care se șterge).
4. Se copiază codul SQL din prima interogare Select, se scrie de la tastatură clauza UNION,
după care se copiază codul SQL al celei de-a doua interogări. Atenție: interogările Union
funcționează doar dacă interogările Select din care sunt compuse extrag același număr de
câmpuri. Se salvează sub numele UnionFisaMagazie.
5. Se testează rezultatul, care va fi cel din figura următoare. Este cel așteptat?
13
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
7. Se repetă punctul 4.
Atenție: Care este rezultatul unei interogări de tip Join creată pe baza interogărilor
UnionFisaMagazie_C și UnionFisaMagazie_V? Cum și de ce diferă față de interogarea Union?
Problema 8. Care este ponderea fiecărui produs în totalul veniturilor din vânzări? Se salvează
interogarea finală sub numele PondereVanzariProdus.
Rezolvare:
14
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
15
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
produs în veniturile aduse de produsul respectiv). Se salvează interogarea finală sub numele
VenitProdus.
Problema 11 Care este profitul adus de un vânzările unui produs într-o perioadă aleasă de
utilizator/manager (de ex. laptopuri)? Profitul se calculează ca sumă a profiturilor aduse de
fiecare vânzare (Cantitate Vândută * (Preț Vânzare – Pret Cumpărare)). Se salvează interogarea
finală sub numele ProfitProdus. Care sunt cele mai profitabile produse?
Problema 12 Care sunt regiunile (localitățile) care aduc cele mai mari vânzări. Dar cele din
care se fac cele mai mari aprovizionări?
Probleme Propuse
Problema 1. Să se extragă numărul de abonamente valabile de fiecare tip, pentru liniile de
troleibuz. Se presupune că data curentă este 15.12.2014.
Problema 2. Să se extragă capacitatea totală de transport a mijloacelor de transport aferente
fiecărei linii. Rezultatul să conțină numărul liniei și capacitatea aferentă și să fie stocat în tabelul
CapacitatiTransport.
Problema 3. Se creează o nouă stație Fabrica de bere. Să se creeze o interogare care să
introducă o stație preluată de la tastatură pe traseul liniei selectate de utilizator, având poziția
introdusă de utilizator. La rularea interogării se introduce stația Fabrica de Bere pe traseul liniei
25 pe poziția 2.
Sugestie: se vor utiliza un Append Query și două Update Query.
Soluții
Problema 1
Problema 2
16
Universitatea Babeș-Bolyai din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 3
17
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
3. Se selectează din zona Forms butonul Form (vezi fereastra de la pas2). Rezultatul acțiunii
este apariția pe ecran a formularului.
1
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
4. Se închide forma efectuând click pe butonul Close din colțul dreapta-sus a lui form.
2
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pentru a crea formulare pentru tabele Facturi și Parteneri se reiau pașii 1-5 prezentați mai sus.
3
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 3. Să se creeze un formular wizard de tip Columnar pentru tabela Produse care să
care să permită acțiuni de adăugare, modificare, ștergere, navigare prin acesta.
Rezolvare
Pas1. Se selectează din Navigation Pane tabela Produse.
Pas2. Se selectează din Ribbon fila Create.
Pas3. Din fila Create, zona Forms, se selectează butonul Form Wizard
Pas4. Se lansează utilitarul FormWizard care are rolul de asista pas cu pas utilizatorul în procesul
de creare a formularelor
4
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas5. În fereastra FormWizard se verifică dacă în zona Tables/Queries este selectată tabela pt
care se crează formularul, în cazul nostru tabela Produse
Pas6. Din zona Available Fields se selectează câmpurile(click stânga de mouse) care vor face
parte din formular, iar apoi cu click stânga pe butoanel,e din centrul ferestrei, pe care apar
săgețile la dreapta se transferă câmpurile selectate în zona Selected Fields . Câmpurile selectate
vor fi Denumire, Marca, UM, Stoc, Obs.
Pas7. Se execută click pe butonul Next acțiune ce va genera apariția pe ecran a ferestrei destinat
alegerii Aspectului Formular-ului.
5
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas8. Se alege un format pentru Form din cele 4 existente, în cadrul acestei probleme alegem
Columnar
Pas9 Activarea butonului Next acține ce va genera apariția pe ecran a ferestrei Definire nume
Formular
Pas10. Se stabilește numele formularului astfel: fie se lasă numele implicit a formularului, mai
exact numele tabelei pe care s-a construit fie se editează propriul nume de formular. În cazul
nostru frxProduse.
Pas11. Se selectează una din opțiunile Open the form to view or enter information – pentru
execuţie; Modify the form's design – pentru eventuale modificări. Prin clic pe cercul care
apare în dreptul lor. În cazul de față alegem Open the form to view or enter information
Pas12. Activarea butonului Finish acține ce va genera apariția pe ecran a formularului în modul
de deschidere selectat la pas 11
6
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare :
Cerința 4.1.Navigare prin formular impune realizarea următorilor pași:
Pas4.1.1 Se selectează din Navigation Pane formularul frxProduse, se dă dublu click stânga de
mouse pe acesta, acțiune ce va genera apariția pe ecran a formularului.
Pas4.1.2. Se selectează din taskbar-ul formularului butonul destinat direcției dorite de
parcurgere a înregistrărilor:
Pas.4.1.2.1.butoul de deplasare la stânga înregistrare cu înregistrare
7
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Cerința 4.2.Să se realizeze un filtru astfel încât să se afișeze doar produsele care încep cu
UM=buc.
Rezolvare :
Pas4.2.1 Se selectează din Navigation Pane formularul frxProduse, se dă dublu click stânga de
mouse pe acesta, acțiune ce va genera apariția pe ecran a formularului.
Pas4.2.2. Se selectează din taskbar-ul formularului butonul destinat filtrării înregistrărilor:
8
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas4.2.2.1. Se selectează cu click sânga câmpul, UM, cu valoare după care se dorește să
se realizeze filtrarea, în cazul de față UM=buc
Pas4.2.2.2. Se selectează cu click sânga pe butonul Filter/Unfiltered existent în taskbarul
formularului acțiune ce va genera rezultatul filtrării.
Observație. Rezultatul filtrării: se pot vizualiza prin navigare doar înregistrările care îndeplinesc
condiția de filtrare definită la pasul 4.2.2.1.
Pas4.2.2.3. Ștergerea condiției de filtrare impune să se efectueze un click sânga pe
butonul Filter/Unfiltered existent în taskbarul formularului acțiune ce va genera eliminarea
filtrării.
Observație. Butonul de filtrare existent în taskbar funcționează în cazul în care s-a realizat
anterior folosirii lui definirea unei filtrări cu ajutorul instrumentelor dedicate acestei acțiuni din
Ribbon, fila Home, zona Sort&Filter
Cerința4.3.Să se insereze o înregistrare Cod:61, Denumire:Tastatura,
Marca:Samsung,Stoc:12,Obs Tastaura Wireless
Pas4.3.1 Se selectează din Navigation Pane formularul frxProduse, se dă dublu click
stânga de mouse pe acesta, acțiune ce va genera apariția pe ecran a formularului.
Pas4.3.2. Se selectează din taskbar-ul formularului butonul destinat inserării
înregistrărilor:
9
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Problema 5. Să se creeze un formular wizard de tip Tabular pentru tabela Stoc care să
permită acțiuni de adăugare, modificare, ștergere, navigare prin acesta. Formularul se va numi
frxStoc.
10
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas2. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Design View
11
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas3. Modul de vizualizare Form Design, determină apariția în Ribbon a lui Form Design Tools
în care se alege din fila Design zona Controls Toolbox. Din zona Controls Toolbox se
selectează butonul aferent controlului Command Button cu opțiunea User Control Wizard
selectată.
Pas4. Se desenează cu stânga de mouse apăsat butonul pe suprafața formularului, iar la eliberarea
mouse-ului apare pe ecran fereastra Command Button Wizard.
12
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas5. Din Fereastra Command Button Wizard se selectează din zona Categories opțiunea
Record Operations, acțiune ce va genera apariția pe ecran în zona Action a opțiunilor destinate
oprațiilor de gestiune a înregistrărilor: inserare, ștergere, duplicare, printare,salvare și revenire.
Pentru a adăuga un command button destinat inserării datelor se selectează din zona Action
opțiunea Add New Record. Click pe butonul Next.
Pas6. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii designului butonului: imagine sau text. Noi alegem Imagine prin click stânga
de mouse în cercul din dreptul lui Picture și apoi selectarea lui imaginii Go To New, acțiune ce
va genera apariția în zona Sample a modului în care va arăta butonul. Click pe butonul Next.
Pas7. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată stabilirii unui nume controlului, în cazul de față se alege cmdAdauga. Click pe butonul
Finish.
13
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas9. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
Pas10. Rezultatul pasului anterior este apariția pe ecran a formularului frxStoc cu controlul
command button creat.Testarea efectului butonului se face efectuând click stânga pe acesta
după ce ne-am poziționat în cadrul tabelului pe locul în care dorim să adăugăm înregistrarea, cu
ajutorul butoanelor de navigare prezente în zona taskbar a formularului.
14
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas11. Crearea butonului de modificare se face reluând pașii 2-4 și 8-10 modificare apărând la
pasul 5 în cadrul căruia se va alege în zona Action opțiunea Save Record iar la pasul 6 se va
alege să apară Text pe buton prin click stânga de mouse în dreptul opțiunii Text și editarea
numelui Modificare în loc de Save Record. La Pasul 7 în loc de cmdAdaugare se scrie
cmdModificare.
Pas12. Rezultatul pasului 10 este apariția pe ecran a formularului frxStoc cu controlul command
button creat la pasul 11. Testarea efectului butonului se face efectuând click stânga de mouse pe
înregistrarea pe care dorim să o modificăm, facem modificarea dorită și apoi click stânga de
mouse pe butonul Modificare creat.
15
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas13. Crearea butonului de ștergere se face reluând pașii 2-4 și 8-10 modificare apărând la pasul
5 în cadrul căruia se va alege în zona Action opțiunea Delete Record iar la pasul 6 se va alege să
apară Text pe buton prin click stânga de mouse în dreptul opțiunii Text și editarea numelui
Sterge în loc de Save Record. La Pasul 7 în loc de cmdAdaugare se scrie cmdStergere.
Pas14. Rezultatul pasului 10 este apariția pe ecran a formularului frxStoc cu controlul command
button creat la pasul 11. Testarea efectului butonului se selectând înregistrarea pe care dorim să
o ștergem și apoi click stânga de mouse pe butonul Stergere creat.
16
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas15. Se efectuează click pe butonul Yes din fereastra de sistem apărută pe ecran ca rezultat al
pasului 14 acțiune ce va genera ștergerea înregistrării marcate la pasul 14.
Pas16. Crearea butonului de închidere form presupune repetarea pașilor 1-4, ai prezentei
probleme.
Pas17. Din Fereastra Command Button Wizard se selectează din zona Categories opțiunea
Form Operations, acțiune ce va genera apariția pe ecran în zona Action a opțiunilor destinate
oprațiilor de gestiune a formularelor: aplicare filtre, închidere formular, deschidere formular,
printare formular, reâmprospătare date de pe formular. Pentru a adăuga un command button
destinat închiderii unui formular se selectează din zona Action opțiunea Close Form. Click pe
butonul Next.
17
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas18: Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii designului butonului: imagine sau text. Noi alegem Imagine prin click stânga
de mouse în cercul din dreptul lui Picture și apoi selectarea lui imaginii Stop, acțiune ce va
genera apariția în zona Sample a modului în care va arăta butonul. Click pe butonul Next.
Pas19. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată stabilirii unui nume controlului, în cazul de față se alege cmdClose. Click pe butonul
Finish.
Pas20. Rezultatul pasului anterior este apariția pe ecran a controlului command button creat
formularului.
18
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas21. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
Pas22. Rezultatul pasului anterior este apariția pe ecran a formularului frxStoc cu controlul
command button creat.Testarea efectului butonului se face efectuând click stânga pe acesta
efectul fiind de închidere formular cu posibilitate de salvare a modificărilor realizat.
Problema7. La formularul creat la Problema 6 pentru tabela Stoc să se adauge un buton care
să permită deschiderea formularului frxProduse, iar în formularul frxProduse un buton de
închidere.
Rezolvare:
Pas1. Se selectează din Navigation Pane formularul frxProduse, se dă dublu click stânga de
mouse pe acesta, acțiune ce va genera apariția pe ecran a formularului.
19
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas2. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Design View
Pas3. Modul de vizualizare Form Design, determină apariția în Ribbon a lui Form Design
Tools în care se alege din fila Design zona Controls Toolbox. Din zona Controls Toolbox se
selectează butonul aferent controlului Command Button cu opțiunea User Control Wizard
selectată.
20
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas4. Din Fereastra Command Button Wizard se selectează din zona Categories opțiunea
Form Operations, acțiune ce va genera apariția pe ecran în zona Action a opțiunilor destinate
oprațiilor de gestiune a formularelor: aplicare filtre, închidere formular, deschidere formular,
printare formular, reâmprospătare date de pe formular. Pentru a adăuga un command button
destinat închiderii unui formular se selectează din zona Action opțiunea Close Form. Click pe
butonul Next.
Pas5: Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii designului butonului: imagine sau text. Noi alegem Imagine prin click stânga
de mouse în cercul din dreptul lui Picture și apoi selectarea lui imaginii Stop, acțiune ce va
genera apariția în zona Sample a modului în care va arăta butonul. Click pe butonul Next.
Pas6. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată stabilirii unui nume controlului, în cazul de față se alege cmdClose. Click pe butonul
Finish.
21
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas7. Rezultatul pasului anterior este apariția pe ecran a controlului command button creat
formularului.
Pas8. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
22
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas9. Rezultatul pasului anterior este apariția pe ecran a formularului frxProduse cu controlul
command button creat.Testarea efectului butonului se face efectuând click stânga pe acesta.
Efectul fiind de închidere a formularului cu posibilitate de salvare a modificărilor realizat .
Pas10. Crearea butonului de legătură în cadrul formului frxStoc presupune repetarea pașilor 1-3,
din cadrul prezentei probleme, dar asupra formularului frxStoc.
Pas11. Din Fereastra Command Button Wizard se selectează din zona Categories opțiunea
Form Operations, acțiune ce va genera apariția pe ecran în zona Action a opțiunilor destinate
oprațiilor de gestiune a formularelor: aplicare filtre, închidere formular, deschidere formular,
printare formular, reâmprospătare date de pe formular. Pentru a adăuga un command button
destinat deschiderii unui formular se selectează din zona Action opțiunea Open Form. Click pe
butonul Next.
23
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas12: Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii formularului care se dorește a se deschide la click pe butonul care se crează. În
cazul problemei curente se selectează frxProduse. În zona Sample a modului în care va arăta
butonul. Click pe butonul Next.
Pas13. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii modalității de deschidere a formularului care se dorește a fi deschis. În cadrul
curentului exemplu se efectuează click stânga de mouse în cercul din dreptul opțiunii:Open the
form and show all the records. Click pe butonul Next
Pas14. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii designului butonului: imagine sau text. Noi alegem Imagine prin click stânga
de mouse în cercul din dreptul lui Picture și apoi selectarea lui imaginii Ms Access Form,
acțiune ce va genera apariția în zona Sample a modului în care va arăta butonul. Click pe
butonul Next.
24
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas15.Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată stabilirii unui nume controlului, în cazul de față se alege cmdOpen. Click pe butonul
Finish.
Pas16. Rezultatul pasului anterior este apariția pe ecran a controlului command button creat
formularului.
Pas17. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
Pas18. Rezultatul pasului anterior este apariția pe ecran a formularului frxStoc cu controlul
command button creat.Testarea efectului butonului se face efectuând click stânga pe acesta
efectul fiind de deschidere formular frxProduse din cadrul formularului frxStoc.
25
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
26
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas4. Se lansează utilitarul FormWizard care are rolul de a asista pas cu pas utilizatorul în
procesul de creare a formularelor.
Pas5. Din fereastra deschisă la lansarea utilitarului Form Wizard se verifică dacă în zona Tables-
Queries este selectată interogarea Cantitate maximă parteneri. În zona Available Fields se
selecteză câmpurile pe baza cărora se vor crea formularul (în cazul de faţă toate) se face click
stânga de mouse pe butoanele cu săgeată spre stânga aflate în mijlocul ferestrei, rezultatul fiind
popularea zonei Selected Fields cu câmpurile care vor fi afişate în formular. Click pe butonul
Next.
27
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas6. Rezultatul acţiunilor de la pasul 5 este apariţia pe ecran a ferestrei utilitarului Form
Wizard din care se selectează modul în care va arăta formularul. În cadrul acestui exemplu
alegem opţiunea Form with Subform. Click pe butonul Next.
28
Universitatea ”Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Observație. Gestiunea datelor din interogare se face cu butonele aflate in taskbar-ul formularului.
Probleme propuse
Problema 1. Să se realizeze un formular automat pentru tabelele Tipuri Abonamente şi
Abonamente cu scopul de a vizualiza datele și a le modifica.
Problema 2. Să se insereze 2 înregistrări în tabela Abonamente folosind formularul creat la
problema1.
Problema 3. Să se creeze un formular wizard de tip Columnar pentru tabela Linii care să
permită acțiuni de adăugare, modificare, ștergere, navigare prin acesta.
Problema4. Să se realizeze cu ajutorul formularului creat la problema3 următoarele acțiuni:
4.1. să se navigheze printre înregistrările tabelului numerele de linie destinate autobuselor
4.2.Să se realizeze un filtru astfel încât să se afișeze doar abonamentele de pe linia 25.
4.3. Să se insereze o înregistrare in tabela Linii Numar linie: 161, Tip linie:autobus, electrificare:
nu
4.4. Să se modifice ultima înregistrarea adăugată astfel încât câmpul tip linie să devină troleibus.
Problema5. Să se creeze un formular wizard de tip Tabular pentru tabela Staţii care să permită
acțiuni de adăugare, modificare, ștergere, navigare prin acesta. Formularul se va numi frxStatii.
Problema6. La formularul creat la problema 4 pentru tabela Linii să se adauge butoane
destinate acțiunilor de inserare, modificare, ștergere înregistrări, închidere formă.
29
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare
Pas1. Se selectează din ribbon fila Create, zona Forms, opţiunea Forms Design acţiune ce
generează apariţia formularului Form1.
Pas2. Se selectează din zona FormDesignTools, din fila Design, zona Themes, din Themes
opţiunea Slice, rezultatul este că form va prelua formatările definite în cadrul acestei Theme.
Pas3. Se selectează din zona FormDesignTools, din fila Design, zona Header&Footer opţiunea
Title, acţiunea va genera apariţia pe ecran a unui TextBox în cadrul zonei Header a lui form, în
care se va introduce titlul formului.
Pas4. Se selectează din fila zona FormDesignTools, din fila Design, zona Tools, opţiunea Add
Existing Fields acţiune ce va genera apariţia pe ecran a Task Paneului din partea stângă cu
1
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
numele Field List. Din Field List se selectează tabelul apoi câmpul şi se glisează pe formular cu
stânga de mouse apăsat.
Pas5.1. se selectează din Ribbon, zona Form DesignTools fila Design, zona Controls şi
obiectul TextBox.
2
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas5.3. Labelul se completează cu textul Valoare, iar în Property Sheet se alege tabul
Other şi la opţiunea Name se introduce lblValoare.
3
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
PU cu dublu click pe aceste. Între ele se introduce semnul “*” şi egal de la tastatură. Click pe
butonul ok are ca efect părăsirea ferestrei Expresion Builder
Pas6. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Form View.
Pas7. Rezultatul pasului 6 este apariţia pe ecran a formularului care reuneşte câmpurile din tabele
tabele Facturi, Parteneri, Continut_Facturi,Produse, Istoric_Pret şi câmpul cantitate care se
calculează cu formula Preţ*catitate. Deplasarea prin înregistrările tabelelor se face cu butoanele
de navigare din taskbar-ul formularului
4
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas8. Pentru creacrea câmpului calculate TVA se reiau paşii 5-7 doar că în loc de lblValoare
avem lblTVAc respectiv în loc de txtValoare avem txtTvac. Opţiunea Control Source a lui
txtTVAc va fi completată cu formula completată din Expresion Builder:
5
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas9. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Form View
Pas10. Rezultatul pasului 9 este apariţia pe ecran a formularului care reuneşte câmpurile din
tabele Facturi, Parteneri, Continut_Facturi,Produse, Istoric_Pret şi câmpul cantitate care se
calcurlează cu formula Valoare*CotaTva. Deplasarea prin înregistrările tabelelor se face cu
butoanele de navigare din taskbar-ul formularului.
Pas11. Crearea unui buton de închidere se face alegând din se selectează din Ribbon, zona Form
DesignTools fila Design, zona Controls şi controlul CommandButton. Cu click stânga de mouse
se desenează butonul în zona Footer a formularului.
6
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas12. Rezultatul pasului 11 este apariţia ferestrei Command Button Wizard din care în zona
Categories se selectează Form Operation iar în zona Action se selectează Close Form. Click pe
butonul Next.
Pas13: Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată alegerii designului butonului: imagine sau text. Noi alegem Imagine prin click stânga
de mouse în cercul din dreptul lui Picture și apoi selectarea imaginii Stop, acțiune ce va genera
apariția în zona Sample a modului în care va arăta butonul. Click pe butonul Next.
7
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas14. Rezultatul pasului anterior este apariția pe ecran a ferestrei Command Button Wizard
destinată stabilirii unui nume controlului, în cazul de față se alege cmdClose. Click pe butonul
Finish.
Pas15. Rezultatul pasului anterior este apariția pe ecran a controlului command button creat
formularului.
Pas16. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
8
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas18. Testarea efectului butonului presupune efectuarea unui click stânga pe acesta efectul fiind
de închidere a formular frxCalcule.
Metoda 2 Obs. în loc de opţiunea List Fields care permite alegerea câmpurilor din mai multe
tabele şi unirea lor pe suprafaţa unui formular se poate utiliza o altă metodă şi anume de creare a
unei interogări care să cuprindă câmpurile care vor intra în formular. Paşii sunt:
Pas1. Se crează o interogare selectând din fila Create Queries alegând opţiunea Query Design,
cu numele problema9.
9
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare
Pas1. Se selectează din ribbon fila Create, zona Forms, opţiunea Forms Design acţiune ce
generează apariţia formularului Form1.
Pas2. Se selectează din zona FormDesignTools, din fila Design, zona Themes, din Themes
opţiunea Slice, rezultatul este că form va prelua formatările definite în cadrul acestei Theme.
Pas3. Se selectează din zona FormDesignTools, din fila Design, zona Controls, controlul
Combo Box, se glisează mouse-ul pe suprafaţa formularului în zona Detail, reultatul este a
apariţia pe ecran a ferestrei ComboBox Wizard. În cadrul ferestrei se alege prima opţiune
(preluare date dintr-un table) şi se efectuează click pe butonul Next
10
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas5. Se selectează câmpurile care vor umple combobox-ul, mai exact Fact şi CodProd. Click
pe butonul Next.
Pas6.Se selectează câmpul după care se face ordonarea datelor din combobox. Click pe butonul
Next.
Pas7. Se afişează conţinutul coloaneleor care vor popula combobox-ul. Click pe butonul Next.
11
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas8. Se alege un câmp pe baza căruia se identifică în mod unic datele în tabela, în cazul de faţă
se alege Fact. Click pe butonul Next.
Pas9. Se stabileşte textul care va apărea pe eticheta (controlul lable de pe formular- Numar
Factura), din dreptul combobox-ului. Click pe Finish.
Pas10. Rezultatul pasului 9 este apariţia pe ecran a combobox-ului generat. În fila Other din
TaskPane-ul Property Sheet, se schimbă valoarea câmpului Name în cmbFact.
12
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas11. Se selectează din zona FormDesignTools, din fila Design, zona Controls, controlul
SubForm/SubReport, se glisează mouse-ul pe suprafaţa formularului în zona Detail, reultatul
este a apariţia pe ecran a ferestrei SubForm Wizard. În cadrul ferestrei se alege prima opţiune
(preluare date din tabele) şi se efectuează click pe butonul Next
Pas12. Se selectează din lista derulantă din zona Tables/Queries, pe rând tabele din care se vor
alege câmpurile. Tabela Continut_Facturi se aleg câmpurile Fact, CodProd,Cant; Produse se
alege Cod, Denumire, din Parteneri se aleg Cod, Denumire, Adresa,Localitate, Telefon. Click pe
butonul Next.
13
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas14. Rezultatul pasului 13 este apariţia în cadrul formularului a controlului subForm creat. În
fila Data din TaskPane-ul Property Sheet, se schimbă valoarea câmpului Link Master Fields
introducând de la tastaură numele combobox-ului, cmbFact, Link Child Fields introducând de
la tastaură numele câmpului Fact.
Pas15. Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
14
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas16. Testarea efectului combobox-ului se face alegând număr de factură din el acţiune care va
avea ca efect afişare în subform a datelor corespunzătoare numărului de factură selectat.
Obs. splitform permite vizualizarea datelor în două moduri diferite în cadrul aceluiaşi form, mai
exact: Form view şi Datasheet view
Rezolvare
Pas1. Se selectează din Navigation Pane tabelul Parteneri, se selectează din fila Create, zona
Forms, opţiunea More Forms din lista derulată care apare pe ecran se selectează opţiunea Split
Forms.
15
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas2.Vizualizare rezultat pas1, mai exact s-a generat un formular pentru tabela Parteneri, care
afişează datele din tabelă în 2 moduri în partea superioară ca Form view iar în partea inferioară
ca Datasheet view . Cu ajutorul formularului se pot face adăugari, modificări, ştergeri, navigări
asupra tabelei Personal.
Obs. Multiple items cunoscut şi sub denumirea de formă continuă, permite să se afişeze mai
multe înregistrări la un moment dat. Datele sunt aranjate în formă de rânduri și coloane (similare
cu o foaie de date).
Rezolvare
16
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas1. Se selectează din Navigation Pane tabelul Parteneri, se selectează din fila Create, zona
Forms, opţiunea More Forms din lista derulată care apare pe ecran se selectează opţiunea
Multiple Items.
Pas2.Vizualizare rezultat pas1, mai exact s-a generat un formular pentru tabela Parteneri, care
afişează datele din tabelă în formă de rânduri și coloane (similare cu o foaie de date).
17
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare
Pas1. Se selectează din Navigation Pane tabelul Parteneri, se selectează din fila Create, zona
Forms, opţiunea Navigation din lista derulată care apare pe ecran se selectează opţiunea
Vertical Tabs, Left.
Pas2.Vizualizare rezultat pas1, formular Design ataşat opţiunii Vertical Tabs, Left .
18
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas3. Din Navigation Pane se selectează, prin click stânga de mouse formularul frxStoc. Se
glisează mouse-ul cu click stânga active, pe suprafaţa formularului deasupra textului AddNew.
19
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas6 . Se selectează din Ribbon fila Home zona Views din meniul derulant se selectează
comanda Forms View
Pas7. Testarea problemei se face selectând pe rând cu click stânga de mouse numele
formularului pe care dorim să îl vizualizăm.
20
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Rezolvare
Pas1. Se selectează din meniul File\opţiunea Option\ Quick Access Toolbar\Command Not in
Ribbon Switchboard Manager.
21
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas2. Click pe butonul Add efectul fiind transferul opţiunii Switchboard Manager, din zona
Comand Not in Ribbon în zona Customize Quick Access Toolbar
Pas3. Se selectează butonul cu click stânga de mouse Switchboard Manager din zona Quick
Access Toolbar
Pas4. Rezultatul pasului 3 este apariţia ferestrei de dialog prin care se întreabă dacă se doreşte
crearea unui Switchboard Manager click pe butonul YES
22
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas5. Rezultatul pasului 4 este apariţia pe ecran a ferestrei Switchboard Manager din care se
selectează butonul Edit. acţiune ce va genera apariţia ferestrei Edit Switchboard Page din care
se execută click pe butonul New acţine ce va genera apariţia ferestrei Edit Switchboard Item. În
fereastra Edit Switchboard Item se completează câmpul Text cu Calcule, în Command se
selectează Open Form in Add Mode iar din lista derulanta Forms se selectează opţiunea
frxCalcule.
Pas6. Se reia pasul 5 pentru toate formele care se doresc a fi introduse în Switchboard, în
exemplu nostru mai adăugom frxStoc şi frxDateViz.
Pas7. În Main Switchboard mai adăugăm o comandă de părăsire a lui Access astfel:
Rezultatul pasului 4 este apariţia pe ecran a ferestrei Switchboard Manager din care se
selectează butonul Edit acţiune ce va genera apariţia ferestrei Edit Switchboard Page din care
se execută click pe butonul New acţine ce va genera apariţia ferestrei Edit Switchboard Item. În
fereastra Edit Switchboard Item, în Command se selectează Exit Application iar câmpul Text
se completează cu textul Iesire Aplicaţie.
23
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas8. Se părăsesc ferestrele Switchboard Manager, Edit Switchboard Page pe butonul Close
Pas9. Din Navigation Pane se selectează formularul Switchboard cu dublu click stânga de
mouse pe el.
Obs. Formularul Switchboard se poate selecta ca fiind formularul cu care se lansează baza de
date Magazin astfel:
24
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Pas1 Din meniul File\Option se lansează ferestra Option în care se selectează Current Database
acţiune ce generează apariţia în partea dreaptă a ferestrei Options for the Current Database, în
care se selectează Display Form: Switchboard. Click pe butonul ok
Dezactivarea ca fereastră implicită a lui Switchboard pentru baza de date magazin se fac
următoarele acţiuni.
Pas1. File,Option, Options for the Current Database, în care se selectează Display none
25
Universitatea “Babeș-Bolyai” din Cluj-Napoca
Facultatea de Științe Economice și Gestiunea Afacerilor Lucrări de laborator
Departamentul de Informatica Economică Baze de date și programe
Probleme Propuse
Problema 1.Să se creeze un formular pentru Abonamente şi un subformular pentru
Abonamente pe linii
Problema 2. Să se creeze un formular de tip navigare prin interogările bazei de date Transport
in comun.
26
Lucrarea de laborator 11. Construirea rapoartelor
Problema 8.Să se afişeze un raport cu toate vânzările de marfă care să conţină doar
informaţii legate de numărul facturii, data facturii, cantitatea vândută, numele
partenerului, denumirea produsului şi preţul de vânzare. Vânzările către acelaşi client
să fie grupate. Înregistrările vor fi ordonate crescător după numărul facturii. Se va afişa
un sub-total cu suma pentru cantitate şi media aritmetică pentru preţul de vânzare
pentru fiecare număr de factură ( se poate face in prealabil o interogare sau se poate
crea un paramteru pe campul Tip si la rulare sa se ceara V).
Să se salveze raportul sub denumirea Raport_Iesiri.
Rezolvare: Pentru afişarea câmpurilor necesare se vor selecta la primul pas al wizard-
ului câmpuri din două tabele.
PROBLEME PROPUSE