Documente Academic
Documente Profesional
Documente Cultură
CUPRINS ............................................................................................................................. 4
Introducere ........................................................................................................................... 5
I. Consideraţii generale privind stocurile de resurse materiale ale organizaţiei ........... 7
1. Definirea stocurilor organizaţiilor ............................................................................. 7
2. Proprietăţile stocurilor ................................................................................................ 9
3. Raţiunea şi necesitatea stocurilor ............................................................................. 13
II. Concepte de bază ale modelului relaţional................................................................. 17
III. Analiza şi proiectarea bazelor de date ...................................................................... 27
IV. Studiu de caz ................................................................................................................ 29
1 Descrierea obiectelor folosite ..................................................................................... 31
2. Proiectarea tabelelor şi stabilirea relaţiilor............................................................. 34
3. Crearea interogărilor ................................................................................................ 39
4. Crearea rapoartelor .................................................................................................. 58
5. Crearea formularelor ................................................................................................ 63
6. Crearea macrourilor ................................................................................................. 64
7. Realizarea meniurilor aplicaţiei ............................................................................... 66
CONCLUZII ...................................................................................................................... 79
BIBLIOGRAFIE ............................................................................................................... 80
Introducere
Nivel Motiv
Imposibilitatea fizică de a obţine
Primar volumul adecvat de stoc exact în
momentul în care este necesar
Randamentul favorabil al investiţei
Stoc tampon pentru reducerea
nesiguranţei
Decuplarea (separarea ) operaţiunilor
Secundar
Nivelarea producţiei
Reducerea costurilor costurilor de
manevrare a materialelor
Achiziţii en-gros
2. Proprietăţile stocurilor
Câteva proprietăţi ale stocurilor sunt universale. Cererea, reaprovizionarea,
constrângerile, costurile, sunt cele mai des întâlnite.
Cererile reprezintă unităţi consumate din stocuri; reaprovizionările reprezintă
unităţi care sunt adăugate stocurilor; costurile reprezintă cheltuieli determinate de existenţa
sau din contră de inexistenţa stocurilor, iar constrângerile reprezintă limitările impuse
cererii, aprovizionării de costurile de management ori condiţiile fizice, de mediu.
Cererile pot fi categorisite în acord cu mărimea lor şi cu cererea unitară.
Mărimea cererii se referă la magnitudinea cererii şi se exprimă cantitativ. Când
mărimea este aceiaşi de la o perioadă la alta spunem că este o cerere constantă, în caz
contrar ea este variabilă. Când mărimea cererii este cunoscută, atunci spunem că avem un
sistem determinat. Atunci când mărimea cererii nu este cunoscută, sistemul este
nedeterminat. În astfel de cazuri este posibil uneori să se stabilească o distribuţie
probabilistică a cererii.
Cererea unitară este de fapt mărimea cererii pe unitate de timp. Modelul cererii se
referă la modul în care sunt scoase resursele din stoc. Articolele pot fi date în folosinţă-
scoase din stoc-la începutul perioadei, la sfârşitul perioadei, uniform pe tot parcursul
perioadei, sau în alte moduri.
Reaprovizionarea poate fi clasificată în funcţie de mărime, model şi timpul de
aprovizionare. Mărimea reaprovizionării se referă la cantitatea sau mărimea comenzii care
va fi recepţionată. Mărimea lotului poate fi constantă sau variabilă, depinde de tipul de
gestiune a stocului. Atunci când lotul de resurse materiale este recepţionat, de regulă el este
introdus în depozit şi devine o parte a inventarului organizaţiei.
Tipul aprovizionării se referă la modul în care se desfăşoară ea: instantaneu,
uniform sau pe loturi. Aprovizionarea instantanee indică faptul că întregul lot este
recepţionat în stoc în acelaşi timp.
Timpul de reaprovizionare reprezintă intervalul de timp între momentul luării
deciziei de aprovizionare a unei resurse materiale şi momentul în care resursa materială
intră în stoc, şi poate fi constant sau variabil.
Distribuţia probabilistică este folosită în descrierea timpului de aprovizionare
variabil la fel cum este folosită în descrierea cererii variabile.
Constrângerile sunt limitările sistemului de stocare. Constrângerile referitoare la
spaţiul fizic de depozitare pot limita cantitatea depozitată; constrângerile de capital
limitează volumul de bani imobilizaţi în stocuri; facilităţile, echipamentele şi personalul de
asemenea limitează capacitatea de a stoca sau opera stocurile. Politicile manageriale (cum
ar fi aceea potrivit căreia nu trebuie să existe niciodată ruptură de stoc) sau deciziile
administrative (cum ar fi contractele reciproce de aprovizionare), pot limita managementul
materialelor în nenumărate moduri.
Costurile stocării reprezintă ansamblul cheltuielilor determinate de existenţa
respectiv inexistenţa stocurilor.
Obiectivul esenţial al managementului resurselor materiale este de a stoca o
cantitate adecvată de resurse materiale, la locul potrivit, în momentul potrivit şi la cele mai
mici costuri. Costurile cu stocurile sunt asociate operaţiilor de stocare şi sunt rezultatul
acţiunii sau din contră a lipsei de acţiune a managementului în ceea ce priveşte organizarea
sistemului. Există parametrii economici de bază în orice model decizional de stocare iar cei
mai relevanţi sunt următorii:
-costul de aprovizionare;
-costurile de lansare a comenzii sau de organizare a aprovizionării;
-costul de stocare (de depozitare);
-costul cu ruptura de stoc.
De notat că pentru unele articole particulare de inventar doar acele elemente de cost
suplimentare sunt pertinente în analiză.
Costul de aprovizionare al unei resurse materiale este preţul unitar de aprovizionare
obţinut în cazul în care resursa este aprovizionată de la o sursă externă. În cazul în care
resursa materială respectivă este realizată în unitate, costul de aprovizionare reprezintă
costul unitar de producţie. Costul unitar trebuie totdeauna privit ca un cost al articolului aşa
cum apare el în inventar.
Pentru articolele aprovizionate, acest preţ include alături de preţul de aprovizionare
şi orice alte cheltuieli de transport a articolelor respective. Pentru resursele materiale
fabricate în interiorul organizaţiei, costul unitar include cheltuielile directe de personal,
materiale directe şi cheltuielile de regie.
Costul de aprovizionare se modifică în funcţie de nivelele cantitative de comandă
atunci când furnizorii acordă discounturi financiare.
Costurile de comandă se referă la cheltuielile de distribuţie plătite unui furnizor
extern sau costurile suportate în cazul aprovizionării interne. Acest cost variază de obicei
direct proporţional cu numărul de comenzi lansate şi nu în aceiaşi măsură cu cantitatea
comandată. Costul cu comanda include articole de cost cum ar fi: costuri cu formarea
comenzii, recepţia materialelor, controlul materialelor, urmărirea comenzii, etc. În cazul în
care resursa materială este fabricată în interiorul organizaţiei, acest cost cuprinde
cheltuielile cu producerea articolelor comandate.
Costurile de stocare, cuprind cheltuieli asociate cu investiţia în stocuri şi investiţia
în depozite şi întreţinerea acestora. Acestea încorporează elemente de cost cum ar fi:
costurile de capital, taxe, asigurări, manipulare, înmagazinare, costuri cu deteriorarea,
degradarea sau pierderea resurselor materiale.
Costurile de capital se referă fie la pierderea eventualelor venituri ce ar putea fi
obţinute prin investirea sumelor respective în altă afacere, costul de oportunitate, fie la
dobânzile ce trebuie plătite în cazul în care capitalul este obţinut prin împrumuturi.
În multe state, stocurile sunt tratate ca o proprietate taxabilă: cu cât stocurile sunt
mai mari, cu atât taxele ce trebuie plătite pentru deţinerea lor sunt mai ridicate.
Costurile cu asigurarea stocului sunt dependente de suma primei de despăgubire ce
ar fi primită în cazul degradării stocurilor. Prima de asigurare variază direct proporţional cu
mărimea investiţiei în stocuri.
De asemenea în timpul stocării resursele materiale se pot degrada, îşi pot pierde
unele proprietăţi, se pot pierde sau chiar fura. O teorie uzuală din cadrul managementului
materialelor ar fi că aceste costuri de stocare sunt direct proporţionale cu mărimea
investiţiei în stocuri. În general, se poate aproxima costul anual cu stocarea ca fiind între
20 şi 40% din valoarea stocului.
Costurile cu ruptura de stoc reprezintă consecinţele economice ale lipsei de stoc.
Ruptura de stoc poate apărea din cauza întârzierilor în aprovizionare sau fabricaţie.
Ruptura de stoc poate determina oprirea producţiei cu toate costurile ce pot fi antrenate,
inclusiv pierderea profiturilor ce ar fi fost obţinute prin vânzarea produselor finite ce acum
nu pot fi fabricate. La acestea se adaugă eventuala pierdere a unor clienţi în cazul în care
nu există produse finite pe stoc sau nu pot fi înlocuite cu alte produse. Cuantificarea
acestor costuri este foarte dificil de realizat.
Un obiectiv major (dar nu singurul) al managementului materialelor este
minimizarea acestor costuri. Doar costurile care se modifică odată cu modificarea nivelului
stocului trebuie analizate. De exemplu, suma cheltuielilor cu încălzirea, iluminatul,
serviciile de securitate ale unui depozit trebuie ignorate dacă nu variază odată cu
modificarea nivelului stocurilor.
Organizaţiile producătoare de bunuri acumulează costuri de fabricaţie. Până când
resursele materiale nu sunt eliberate, nici un fel de costuri de muncă sau costuri asociate
muncii nu sunt atrase. Dar odată ce fabricaţia începe, aceste resurse materiale acumulează
o valoare tot mai mare asupra lor fiind repartizate costurile cu munca, cheltuielile de
fabricaţie. În final articolele ating valoarea maximă devenind stocuri de produse finite
aşteptând să fie livrate clienţilor.
În cazul unui proces de fabricaţie intermitent unde resursele parcurg anumite stadii
de fabricaţie, în fiecare stadiu sunt adăugate unităţi noi de valoare iar timpul este
”consumat” între stadii (atunci când resursele materiale aşteaptă să intre în fabricaţie, sunt
transferate sau depozitate).
Dacă produsele sunt fabricate în loturi egale la începutul procesului de fabricaţie
resursa materială înglobează doar costul de achiziţie. Fiecare etapă adaugă costuri
adiţionale.
Profilul costurilor adiţionale arată mărimea fiecărui cost care se adaugă produselor
fabricate. Din punct de vedere al investiţiei de capital, ar fi de dorit să se scurteze timpul de
fabricaţie –timpul total pe care trebuie să îl petreacă stocurile în fabricaţie, de la
aprovizionare şi până la transformarea lor în produse finite.
Într-o organizaţie exista trei categorii de activităţi care produc informaţii necesare
acesteia: activităţile de intrare a datelor/informaţiilor, de procesare şi de ieşire a
rezultatelor. Informaţiile produse sunt folosite pentru adoptarea deciziilor, controlul
operaţiilor, analiza problemelor şi realizarea de produse sau servicii noi.
Datele sunt fapte, statistici, opinii sau predicţii clasificate pe o anumită bază pentru
a fi stocate, procesate sau regăsite atunci când este necesar.
Informaţiile, în schimb, sunt date care au relevanţă pentru nevoile managerilor şi
contribuie la exercitarea funcţiilor manageriale.
Tehnologia calculatoarelor a mărit viteza de procesare a datelor, a crescut
capacitatea de stocare şi a îmbunătăţit metodele de printare, astfel încât managerii adesea
sunt inundaţi cu date. Dar ei au nevoie de cele mai bune informaţii şi nu de volume din ce
în ce mai mari de date. În plus, managerii se orientează atunci când achiziţionează
calculatoare după cum procedează omologii lor din alte companii, deoarece competiţia fără
o analiză rapidă şi corectă a necesitaţilor informatice din propria organizaţie nu este
posibilă.
Pentru ca informaţia să poată servi eficient procesului decizional şi operaţional, este
necesar să îndeplinească următoarele criterii de calitate:
să fie oportună; .
să fie clară;
să fie completă;
să fie concisă;
să fie fidelă; .
să aibă relevanţă.
Schema
Nivelul conceptual Proiectarea
conceptuală
logică/conceptuală
a bazei de date
Proiectarea
fizică
Schema
Nivelul intern internă a bazei de date
Constrângeri de integritate
Constrângerile de integritate constituie restricţii aplicate bazelor de date în scopul
asigurării integrităţii datelor.
Constrângerile de integritate se împart în două categorii mari:
Structurale – cu caracter general,care trebuie satisfăcute de orice bază de
date care foloseşte modelul relaţional. Acestea la rândul lor pot fi:
o De entitate (integritatea entităţii) – când o cheie primară nu poate
conţine atribute ce pot avea valori Null. Cheia primară trebuie să fie
unică şi minimală.
o De referinţă (integritatea referirii) – când valorile unei chei străine
trebuie să fie sau NULL sau să coincidă cu o valoare a cheii primare
la care face referinţă.
De comportament – specifice fiecărei baze de date.
Constrângerile de comportament au în vedere semnificaţia valorii atributelor din
baza de date respectivă. De exemplu, constrângerile de domeniu restricţionează valorile
unui atribut la o anumită mulţime, iar constrângerile sintactice se pot referi la tipul datelor
sau lungimea atributelor.
De asemenea constrângerile de comportament pot exprima legătura intre valorile
unor atribute diferite; de exemplu valorile unui atribut pot fi dependente de valorile altui
atribut sau set de atribute sau o expresie formată de valorile mai multor atribute trebuie să
se încadreze între anumite limite.
O cheie străină poate fi rezultatul propagării oricărei chei, primară sau candidată.
În acest caz se spune că valoarea cheii străine reprezintă o referinţă la tuplu a cărei
cheie are o valoare identică cu a cheii străine.
Relaţia care conţine cheia străină se numeşte relaţie de referinţă, iar relaţia care
conţine cheia din care aceasta s-a propagat se numeşte relaţie referită.
Deci condiţiile de integritate referenţială impun ca toate valorile unei chei străine să
se regăsească printre valorile cheii corespunzătoare din relaţia referită.
În cazul în care relaţia de referinţă este una şi aceeaşi cu relaţia referită, se spune că
este o relaţie autoreferită.
De exemplu relaţia ArboreGenealogic(tată, fiu) este o relaţie autoreferită.
T F
ată iu
N A
Cheie primară ULL dam Cheie străină
A C
Normalizarea bazelor de dam ain date
Elementele unui sistem real C Asunt împărţite în două categorii:
entităţi şi legături (asocieri, ain bel relaţii).
Entitatea reprezintă orice obiect de interes pentru care există date înregistrate. De
exemplu, entităţi sunt angajaţi, funcţii, secţii, respectiv profesori, studenţi, facultate.
Entităţile sunt astfel denumite prin substantive şi sunt descrise prin proprietăţi
numite atribute.
Aşa cum s-a arătat anterior, între două sau mai multe entităţi se poate stabili o
asociere nedirecţionată numită relaţie. În cadrul aceleiaşi relaţii, entităţile trebuie să aibă
nume diferite, dar entităţi care participă la relaţii diferite pot avea acelaşi nume.
În modelul relaţional, entităţile devin tabele. Aceste tabele pot fi:
Independente – dacă cheia primară nu conţine chei străine;
Dependente – la care cheia primară conţine cheia străină şi unul sau mai multe
atribute adiţionale;
Subtabele – la care cheia străină se referă la supertabelă, iar cheia primară este acea
cheie străină.
Relaţiile devin tabele speciale sau coloane speciale care fac referinţă la chei
primare.
Atributele simple devin coloane, iar atributele multivaloare devin tabele dependente
ce conţin cheia străină.
Cardinalitatea unei relaţii este dată de numărul posibil de tuple care participă la o
relaţie. Cardinalitatea poate fi minimă sau maximă şi se împarte în trei categorii:
1:1 (one-to-one), când pentru un tuplu din prima tabelă există cel mult un tuplu în a
doua tabelă.
1:m (one-to-many), când pentru fiecare tuplu din prima tabelă există una sau mai
multe tuple în a doua tabelă. Reciproca nu este valabilă. În acest caz, tabela aflată în partea
„1” a relaţiei se numeşte tabelă primară (părinte sau referită) şi ea conţine cheia primară,
iar tabela aflată în partea „m” a relaţiei se numeşte tabelă asociată (fiu sau de referinţă) şi
ea conţine cheia străină. Astfel se spune că cheia străină din tabela asociată (de referinţă),
face referire la cheia primară a tabelei primare (referite).
M:m (many-to-many), când pentru fiecare tuplu din prima tabelă există mai multe
tuple din a doua tabelă, şi invers, pentru fiecare tuplu din a doua tabelă există mai multe
tuple în prima tabelă.
Exemplu : se consideră entităţile Angajaţi, Funcţii, Magazine, Şefi.
Între tabela Magazine şi tabela Şefi există o relaţie de tipul 1:1, deoarece la un
magazin corespunde un singur şef şi un angajat nu poate fi şef decât la un magazin.
Între tabela magazine şi tabela Angajaţi există o relaţie de tipul 1: m, deoarece la un
magazin corespund mai mulţi angajaţi, dar un angajat nu poate lucra decât într-un singur
magazin. Aceeaşi relaţie de tipul 1:m există şi între tabelele Funcţii şi Angajaţi: o funcţie
poate fi îndeplinită de mai mulţi angajaţi şi în acelaşi timp, un angajat nu poate avea mai
multe funcţii.
Între tabela Magazine şi tabela Funcţii există o relaţie m:m, deoarece într-un
magazin lucrează angajaţi cu mai multe funcţii şi reciproc, o funcţie poate fi îndeplinită de
angajaţi din mai multe magazine.
software de aplicaţie
elementele de hardware ale calculatorului, inclusiv mediile de stocare
Formularea problemei
Identificarea şi studierea actelor normative care reglementează activitatea vizată
frmIntrareAplicaţie
frmMeniuPrincipal
qryComenzi qryStergere
LunareIncrucisata Furnizori
qryIntarziriPlata
qryComenzi/
Perioade/Banca
qryMatFurniz
DataIncrucisata
Pentru realizarea aplicaţiei am ales sistemul de gestiune a bazelor de date Access,
un SGBD relaţional modern, componentă a pachetului de programe Microsoft Office,
foarte răspândit pe calculatoarele personale şi folosit pentru baze de date mici şi medii, aşa
cum este cazul bazei de date a acestei societăţi comerciale.
Interogări – pentru:
o Combinarea, sortarea şi filtrarea datelor – cu ajutorul interogărilor
de selecţie, pe care s-au aplicat diferite criterii de sortare şi filtrare;
o Efectuarea de calcule şi operaţii totalizatoare – cu ajutorul
interogărilor cu câmp calculat şi a interogărilor cu funcţii agregat
(totalizatoare);
o Actualizări de date - cu ajutorul interogărilor de acţiune.
Formulare – pentru:
o Introducerea datelor – prin formulare simple sau formulare
compuse, de tipul formular-subformular,
o Vizualizarea datelor – prin formulare realizate pe baza interogărilor
create anterior;
o Realizarea meniurilor;
o Panouri de intrare în aplicaţie sau panouri de trecere de la un meniu
la alt meniu.
Rapoarte - pentru:
o Sintetizarea datelor – prin rapoarte realizate pe baza interogărilor
create anterior;
o Vizualizarea grafică a datelor – prin realizarea unui raport de tip
Chart;
o Listarea rapoartelor ce ilustrează comenzile efectuate şi facturile
eliberate într-un interval de timp.
Macro-uri – pentru ataşarea diferitelor butoane de comandă, care fac
trecerea de la un formular la alt formular, precum şi de maximizare a
formularelor create.
2. Proiectarea tabelelor şi stabilirea relaţiilor
Având în vedere considerentele de mai sus, s-au realizat următoarele tabele pe baza
datelor de intrare, tabele prezentate atât în modul design, cât şi în modul datasheet :
tblFurnizori(CodFurnizor, DenFurnizor,
LocalitateFurnizor, Strada, Nr, CodFiscal, Banca, Sediu
banca, Cont, Telefon, sigla)
TblMateriale(CodMaterial,
DenMaterial, UM, Preţ)
unde UM reprezintă unitatea de măsură
a produsului, iar pentru câmpul Preţ s-a impus o
mască pentru a afişa în lei şi într-un anumit
format preţul produselor.
Produsele sunt desfăcute de societatea comercială prin magazinele proprii ale căror
date sunt păstrate în tabelul tblMagazine.
tblMagazine(Codmagazin, DenMagazin,
NumeGestionar, PrenumeGestionar).
Interogările sunt obiecte Access folosite pentru extragerea datelor din unul sau mai
multe tabele sau alte interogări, ordonarea, filtrarea şi totalizarea listelor, efectuarea de
calcule, actualizarea, adăugarea şi ştergerea articolelor din tabele, precum şi pentru crearea
unor tabele noi pe baza unui model.
Rezultatul unei interogări este tot un tabel, dar spre deosebire de un tabel, unde
datele sunt memorate permanent şi au aceeaşi valoare până la modificarea lor, în cazul
interogărilor, acestea nu memorează date, ci doar structura acestora.
În cadrul aplicaţiei s-a urmărit, pe lângă partea practică a aplicaţiei şi realizarea
tuturor tipurilor de interogări.
S-au creat doi parametri pentru a lăsa libertate utilizatorului să introducă singur
perioada calendaristică care-l interesează şi numele băncii unde trebuie să vireze banii.
Cei doi parametrii:
>[Data minima] And <[Data maxima]
[Introduceţi banca]
au fost specificaţi în paranteze pătrate pe rândul Criteria, în dreptul câmpului care s-a dorit
a fi parametrizat.
În urma rulării interogării este afişat tabelul Furnizori si termene, dar cu noua
valoare actualizată.
Pentru comparaţie, este reprezentat tabelul iniţial unde termenul de plată pentru
firma Binalia este de 35 de zile şi tabelul actualizat, unde pentru aceeaşi firmă noul termen
este de 45 zile, prin suplimentarea cu 10 zile.
Dacă iniţial, în primul tabel Furnizori şi termene, firma Binalia acorda un termen de
35 de zile, în al doilea tabel se poate observa actualizarea termenului la 45 de zile.
k) Pentru ilustrarea cazurilor de actualizare au mai fost create două interogări prin
care se presupune că un furnizor face reducere la un produs, respectiv creşte preţul la un
produs.
Pentru a nu aduce modificări bazei de date iniţiale, tabelului
FurnizoriComenziProduseInitial i s-a creat o copie, cu ajutorul comenzilor Copy-Paste. S-a
obţinut astfel tabelul FurnComProdCopie pe care s-a lucrat în continuare.
Astfel în primul caz s-a creat o interogare prin care se urmăreşte actualizarea
preţurilor la produsele firmei furnizoare specificate de utilizator, considerându-se o creştere
de preţ cu un procent specificat de utilizator.
Pentru aceasta s-a creat o interogare de selecţie, unde din câmpurile tabelului
FurnComProdCopie s-au selectat numai câmpurile care vor intervin în modificarea de preţ,
adică Preţ şi DenFurnizor. S-a transformat interogarea simplă de selecţie în interogare de
tip Update cu ajutorul opţiunii Update Query din meniul Query sau din butonul Query
Type a barei de instrumente. În urma alegerii opţiunii în grila de interogare apare automat
un nou rând Update To, unde pentru câmpul care va fi modificat, în acest caz câmpul Preţ,
s-a impus expresia de calcul prin care se va actualiza preţul. Această expresie este
următoarea:
[Preţ]+[Preţ]*[Val procent]/100
unde câmpurile au fost scrise ca de obicei în paranteze pătrate, iar pentru valoarea
procentului s-a utilizat parametrul [Val procent] pentru ca utilizatorul să introducă
procentul dorit.
De asemenea i s-a lăsat libertate utilizatorului să introducă şi numele firmei
furnizoare care face creşterea de preţ, introducându-se în câmpul DenFurnizor parametrul
[Introduceţi furnizorul].
Prin rularea interogării, utilizatorului i se solicită introducerea procentului dorit şi a
firmei în cauză. In acest caz, pentru exemplificare am ales valoarea procentului de 10
pentru firma Binalia. Actualizările au efect numai după acţionarea butonului Run, acţiune
în urma căruia printr-un mesaj ni se specifică numărul de rânduri (articole) actualizate.
Verificarea actualizărilor făcut se realizează prin reafişarea tabelului
FurnComProdCopie asupra căruia s-a lucrat. În imaginile de mai jos este reprezentat
acelaşi tabel înainte şi după actualizare.
În mod similar s-a procedat şi pentru reducerile de preţ. De data aceasta însă
expresia de recalculare a preţului este următoarea:
[Preţ]-[Preţ]*[Val procent]/100
De asemenea pentru procent, respectiv pentru furnizor s-a folosit câte un parametru.
S-a luat acelaşi exemplu pentru a avea acelaşi termen de comparaţie. În exemplul
dat s-a considerat reducerea de preţ cu 20%, la aceeaşi firmă Binalia. Deci în final preţul
produselor a fost cu 10% mai mic decât cel iniţial.
De asemenea pentru comparaţie, au fost reprezentate din nou toate cele trei tabele:
tabelul iniţial, cel obţinut după creşterea de preţ cu 10% şi cel obţinut după scăderea de preţ
cu 20%.
l) Un alt tip de interogare realizat este cea de acţiune de tip Delete, prin care dintr-
un tabel pot fi şterse toate înregistrările care satisfac un anumit criteriu de filtrare.
Astfel am considerat cazul în care din baza de date se doreşte ştergerea unui
furnizor cu care societatea nu mai are relaţii de colaborare. Pentru aceasta s-a creat o
interogare de selecţie în care din tabelul FurnComProdCopie pe care s-a lucrat, s-a selectat
doar câmpul DenFurnizor. S-a transformat interogarea de selecţie în interogare de tip
Delete cu ajutorul opţiunii Delete Query a butonului Query Type, acţiune în urma căreia
automat în grila de interogare a apărut un nou rând, rândul Delete cu clauza Where. Clauza
Where solicită impunerea în rândul Criteria a înregistrărilor care se doreşte a fi şterse.
Şi în acest caz pentru identificarea furnizorului s-a folosit un parametru,
[Introduceţi furnizorul], prin care utilizatorul poate specifica singur numele furnizorului pe
care doreşte să-l scoată din baza de date.
Pentru exemplificare am ales acelaşi furnizor Binalia şi am reprezentat acelaşi
tabel înainte de ştergere şi după operaţia de ştergere.
Pentru aplicarea unei funcţii agregat asupra câmpurilor, s-au folosit casete de text,
unde s-a introdus expresia de calcul.
Cantitatea minimă sau maximă/comandă a fost calculată prin inserarea expresiei de
calcul în zona de subsol a câmpului NrComandă.
Cantitate minimă/comandă: =min([Cantitate])
Cantitate maximă/comandă: =max([Cantitate])
Preţul mediu/produs s-a calculat prin inserarea expresiei de calcul în zona de subsol
a raportului.
Preţ mediu: =avg([Preţ])
Prin plasarea butoanelor de comandă pe formulare se pot crea meniuri simple sau
înlănţuite.
Pentru funcţionarea aplicaţiei au fost create formulare atât simple, cât şi înlănţuite
care să ducă la formularele fii.
Trecerea de la un formular la altul se face cu ajutorul butoanelor de comandă.
Fiecărui buton de comandă îi este ataşat evenimentul On clic a cărui acţiune pe care o
declanşează este specificată prin câte un macro.
Formularele pot fi create atât în mod asistat, folosind facilităţile oferite de Wizard,
cât şi în mod personalizat (design). Pentru formularele create s-au folosit ambele metode.
În general s-a folosit modul asistat, pentru ca ulterior formularele să fie
personalizate.
6. Crearea macrourilor
Macro-urile sunt obiecte Access care asigură legarea într-un flux continuu a
execuţiei operaţiilor referitoare la anumite obiecte.
Comenzile macro permit automatizarea lansării acţiunilor prin asocierea la un
singur eveniment utilizator a întregii succesiuni de operaţii.
Macro-urile pot fi create din fereastra bazei de date, obiectul Macro, sau din
fereastra de proprietăţi a obiectului căruia i se ataşează, tab-ul Event.
Indiferent de modul de creare, pentru fiecare macro trebuie să i se specifice
acţiunea sau grupul de acţiuni şi argumentele acestor acţiuni.
În cazul macro-urilor cu caracter general, care pot fi ataşate oricărui obiect, acestea
nu au argumente. Este cazul macro-ului mcrMaximizare care determină maximizarea
oricărui obiect căruia i se ataşează.
Cele două macrocomenzi conţin fiecare câte o singură instrucţiune, prin care este
deschis obiectul specificat în zona de argumente.
Formularul are o secţiune de antet unde este plasată o imagine nelegată şi o etichetă
sugestivă pentru conţinutul formularului
Fiecăruia dintre butoane i s-a ataşat un macro prin care se specifică formularul sau
interogarea pe care o deschide şi modul în care se face acest lucru.
Butoanele de comandă conduc la următoarele formulare fii:
Butonul Comenzi şi produse duce la formularul frmComenziProduse.
Acesta este realizat ca un formular cu subformular, la o comandă
corespunzând mai multe produse. Astfel câmpurile formularului părinte au
fost luate din tabelul tblComenzi, iar câmpurile subformularului au fost
luate din tabelul asociat corespunzător, adică tabelul tblContinutComanda.
În plus în fereastra de proprietăţi a formularului pentru proprietatea Navigation
Buttons s-a ales valoarea No, considerându-se că butoanele de comandă plasate pe
formular pot suplini lipsa butoanelor de navigare specifice mediului Access.