sistem informatic pentru gestiunea stocurilor În farmacii.1

101
Proiectarea unui sistem informatic a gestiunii stocurilor din cadrul unei farmacii INTRODUCERE Sisteme informatice în economie Societatea zilelor noastre se bucură de un timp al informatizării, informatizare ce în unele cazuri este chiar indispensabilă. Astfel, întâlnim la tot pasul aşa numitele „maşinării” ce ne uşurează munca prin a lor contribuţie şi anume calculatoarele. Dar, trebuie subliniat faptul, că un calculator este doar o maşinărie care prelucrează o serie de informaţii pe care i le dăm. Informaţia fiind elementul cheie din acest întreg lanţ. De fapt, în practică întâlnim, printre altele, două concepte legate de aceasta şi anume: sistemul informaţional şi sistemul informatic. Rolul sistemului informaţional fiind acela de a transmite informaţia între diferite elemente. Aşa cum ar fi în cadrul unei unităţi economice, rolul sistemului informaţional este acela de a asigura persoanele din conducere cu informaţii necesare pentru luarea diferitelor decizii economice sau de altă natură. Printre posibile activităţi desfăşurate în cadrul

Upload: maria-mihaela-voicu

Post on 26-Sep-2015

542 views

Category:

Documents


35 download

TRANSCRIPT

Proiectarea unui sistem informatic a gestiunii stocurilor din cadrul unei farmacii

INTRODUCERE

Sisteme informatice n economie

Societatea zilelor noastre se bucur de un timp al informatizrii, informatizare ce n unele cazuri este chiar indispensabil. Astfel, ntlnim la tot pasul aa numitele mainrii ce ne uureaz munca prin a lor contribuie i anume calculatoarele. Dar, trebuie subliniat faptul, c un calculator este doar o mainrie care prelucreaz o serie de informaii pe care i le dm. Informaia fiind elementul cheie din acest ntreg lan. De fapt, n practic ntlnim, printre altele, dou concepte legate de aceasta i anume: sistemul informaional i sistemul informatic. Rolul sistemului informaional fiind acela de a transmite informaia ntre diferite elemente. Aa cum ar fi n cadrul unei uniti economice, rolul sistemului informaional este acela de a asigura persoanele din conducere cu informaii necesare pentru luarea diferitelor decizii economice sau de alt natur. Printre posibile activiti desfurate n cadrul acestui sistem, pot fi enumerate: achiziionarea de informaii din sistemul de baz, completarea documentelor i transferul acestora ntre diferite compartimente sau centralizarea acestora. n cadrul sistemului informaional, majoritatea activitilor se pot desfura cu ajutorul tehnicii de calcul. Se pot prelucra datele primare i apoi, rezultatul poate fi transferat mai departe, ctre alt compartiment spre prelucrare. Transferul se poate face i pe cale electronic, prin intermediul unei reele de calculatoare sau cu ajutorul modemului. Acest ansamblu de elemente implicate n procesul de prelucrare i transmitere a datelor pe cale electronic alctuiesc un sistem informatic. Astfel, aceste dou sisteme ne arat rolul i frumuseea informaticii n viaa noastr.n acest cadru al compartimentului de aprovizionare voi ine cont i de anumite etape principale de rezolvare a problemelor de stocare, att ct privete gestiunea lor, ct i pentru definirea modului de aprovizionare a unei societi. Astfel, voi pune accent pe organizarea compartimentului aprovizionare, inand cont i de celelalte compartimente (contabilitate, financiar), pentru a scoate n eviden elaborarea unei gestiuni eficace ntr-o ntreprindere.

GESTIUNEA STOCURILORRolul, funciile i natura economic a stocurilor

Conducerea i controlul stocurilor de resurse materiale reprezint, n economia de pia, o activitate creia i se acord o atenie deosebit datorit implicaiilor economico financiare importante pe care le determin formarea i deinerea lor. [footnoteRef:1] [1: Managementul aprovizionarii si desfacerii, Prof.univ.dr.Gheorghe BASANU, Prof.univ.dr.Mihai PRICOP,cap 2, pag 30]

Stocurile sunt cantiti de resurse materiale care se acumuleaz n depozitele i magaziile unitilor economice, ntr-un anumit volum i o anumit structur, pe o perioad de timp determinat, cu un anumit scop. Stocurile sunt de fapt rezultatul activitilor de aprovizionare i de desfacere, al activitii comerciale, n general, care sunt dependente de natura i caracteristicile materialelor i produselor, de condiiile i modalitile de furnizare i asigurare-transport, de strategiile care se elaboreaz pe aceast linie, n scopul ndeplinirii obiectivului de baz specific agenilor economici. n general, scopul formrii stocurilor este diferit la nivelul economiei, guvernul constituie stocuri sub forma rezervei naionale la resursele materiale strategice sau deficitare pentru a pune la adpost economia naional de influena unor factor i de for major(seisme, inundaii, stare de necesitate, evitarea conjuncturilor economice nefavorabile sau a penuriei). Agenii economici i constituie stocuri de resurse materiale sau de produse pentru a asigura alimentarea continu a subunitilor de consum sau servirea clienilor n vederea desfurrii normale a activitii i realizrii astfel a obiectivelor ce i le-au propus.

Formarea stocurilor de resurse materiale asigur condiii optime pentru desfurarea, dup un sistem raional, a activitii fiecrei uniti economice; fr stocuri nu se poate obine utilizarea judicioas a capacitilor de producie, nu se pot satisface cererile clienilor n strict concordan cupreteniile pe care le emit, nu se pot desfura o serie de operaii din sistemele aprovizionare i desfacere cu cheltuieli rezonabile. Toate acestea pentru c "stocurile" ndeplinesc o "funcie vital", aceea de "decuplare" i de "armonizare" a fluxului: "cumprarea, aducerea (transportul), recepia-depozitarea, pregtirea pentru consum - utilizare a materialelor, trecerea acestora prin fazele de prelucrare pn la magazia de produse finite, expedierea sau livrarea produselor la clieni, n magazinele proprii sau ale distribuitorilor specializai pentru desfacere- vnzare".

"Stocul de pregtire" sau de "condiionare" reprezint cantitatea de material care se acumuleaz i este staionat o perioad de timp n spaii special amenajate, n vederea aducerii resurselor respective, prin operaii de condiionare, la parametrii fizico chimici care s permit prelucrarea lor corespunztor condiiilor impuse de normele tehnologice.

TEHNOLOGII INFORMATICE, SUPORT PENTRU SISTEME INFORMATICE ECONOMICE

Sisteme de gestiune a bazelor de date

Avnd n vedere utilizarea din ce n ce mai larg a tehnicii de calcul n activitatea zilnic i acumularea unui volum din ce n ce mai mare de informaii reinute pe medii magnetice, se pune problema determinrii unor metode din ce n ce mai eficiente de reprezentare i prelucrare ale acestor informaii. n bun parte, acestea fac obiectul unui domeniu al informaticii numit baze de date, domeniu n plin dezvoltare n ultima perioad. O baz de date conine toate informaiile necesare despre obiectele ce intervin ntr-o mulime de aplicaii, relaiile logice ntre aceste informaii i tehnicile de prelucrare corespunztoare. n bazele de date are loc o integrare a datelor, n sensul c mai multe fiiere sunt privite n ansamblu, eliminndu-se pe ct posibil informaiile redundante. De asemenea se permite accesul simultan la aceleai date, situate n acelai loc sau distribuite spaial, a mai multor persoane de pregtiri diferite, fiecare cu stilul personal de lucru.[footnoteRef:2] [2: Octavian Bsc, Baze de date, Editura All, Bucuresti 1997, pag. 22]

O baz de date, mai poate fi definit ca un ansamblu de date elementare sau structurate, accesibile unei comuniti de utilizatori. Mai concret, o baz de date, este un ansamblu de fiiere intercorelate, care conine nucleul de date necesare unui sistem informatic (aplicaie informatic). [footnoteRef:3] [3: http://facultate.regielive.ro/cursuri/limbaje_de_programare/sistem_de_gestiune_a_bazelor_de_date-36960.html]

Un fiier este un ansamblu de nregistrri fizice, omogene din punct de vedere al coninutului i al prelucrrii. O nregistrare fizic este unitatea de transfer ntre memoria intern i cea extern a calculatorului. Aceasta este format din una sau mai multe nregistrri logice. O nregistrare logic este unitatea de prelucrare din punct de vedere al programului utilizator. Aceasta este format dintr-un ansamblu de cmpuri, care descriu o anumit realitate.Sistemul de programare care permite construirea unor baze de date, introducerea informaiilor n bazele de date i dezvoltarea de aplicaii privind bazele de date se numete sistem de gestiune a bazelor de date - SGBD. [footnoteRef:4] [4: Sorin Borza, Paul Dan Brindau, Marinela In, Baze de date n sisteme informatice de gestiune, Ed. Universitii Lucian Blaga Sibiu 2003, pag. 33]

Un SGBD d posibilitatea utilizatorului s aib acces la date folosind un limbaj de nivel nalt, apropiat de modul obinuit de exprimare, pentru a obine informaii, utilizatorul fcnd abstracie de algoritmii aplicai pentru selecionarea datelor implicate i a modului de memorare a lor. SGBD-ul este o interfa ntre utilizatori i sistemul de operare.Orice SGBD conine, printre alte componente, un limbaj de descriere a datelor LDD care permite descrierea structurii unei baze de date, a fiecrei componente a ei, a relaiilor dintre componente, a drepturilor de acces a utilizatorilor la baza de date, a resticiilor n reprezentarea informaiilor i alte elemente asemntoare. LDD este utilizat att pentru proiectarea bazelor de date, ct i pentru redefinirea lor. O alt component foarte important a unui SGBD este limbajul de cereri LC sau limbajul de prelucrare a datelor LPD ce permite operaii asupra bazelor de date, cum ar fi: ncrcarea bazei de date, inserarea unui nou element, tergerea unui element, modificarea unui element, cutarea unor elemente, realizarea a diferite statistici asupra datelor i alte asemenea operaii.[footnoteRef:5] [5: Octavian Bsc, Baze de date, Editura All, Bucuresti 1997, pag. 45]

O alt modalitate de operare este aceea a transformrii comenzilor n lansri de programe executabile. Comenzile sunt descrise prin sintaxe specifice fiecrui tip de SGBD, iar interpretarea i activarea lor se face automat, prin rutine scrise, de obicei, n limbajul gazd. n acest fel, calitile SGBD-ului depind n mare msur de calitile limbajului utilizat.n funcie de modul de exploatare a bazelor de date, utilizatorii pot fi mprii n urmtoarele clase:[footnoteRef:6] [6: Michael J. Hernandez, traducere de Cora Radulian, Radu Biri, Mihai Mnstireanu , Proiectarea bazelor de date -- Editura Teora -- Bucureti, 2003, pag 55-56]

Utilizatorii obinuii, care pot s obin informaiile fr s aib cunotine de programare. Ei obin informaiile dorite prin comenzi cunoscute i, eventual, rspunznd la diferitele opiuni pe care le indic sistemul de calcul la un moment dat. Programatorii de aplicaii, care pot scrie programele n LC, acestea fiind apoi compilate i memorate n fiiere, putnd fi lansate n execuie de utilizatori prin invocarea numelui asociat lor. Administratorul bazei de date, care stabilete structura iniial a bazei de date i modul de memorare a datelor la nivel fizic, acord utilizatorilor drepturi de acces la baza de date sau pri ale ei, stabilete condiiile pentru asigurarea securitii i integritii datelor, modific structura bazei de date fcnd periodic copii i reconstituind eventual baza de date n cazul n care au aprut erori datorate componentelor soft, hard sau utilizrii, i rspunde, n general, de modul de utilizare al bazei de date. Administratorul sistemului de baze de date, care stabilate bazele de date de pe un sistem de calcul, aloc spaii de memorare i asigur drepturi de acces.

Proiectarea bazelor de date

Proiectarea bazelor de date presupune fixarea structurii bazei de date i a metodelor de prelucrare a datelor, spre deosebire de utilizarea bazei de date, care privete mai mult informaiile stocate n baza de date la un moment dat. Dac n mod obinuit baza de date i schimb frecvent coninutul, structura ei rmne nemodificat pe lungi perioade de timp.Prin proiectare se determin un model semantic, care s reflecte ct mai fidel lumea real, construit astfel:[footnoteRef:7] [7: Roca, I.; Zaharie, D. Proiectarea sistemelor informatice de gestiune ASE, Bucureti 2000, pag 111]

1. Se identific o mulime de concepte semantice (entiti, tipuri de entiti, proprieti ale entitilor, identificatorii entitilor, relaii ntre entiti i altele) ce dau informaii despre lumea real.2. Se asociaz obiecte simbolice formale prin care sunt reprezentate conceptele semantice. 3. Se definesc reguli de integritate formale ce se aplic obiectelor simbolice. 4. Se definete o mulime de operatori formali ce pot s transforme obiectele formale.

Un model de etapizare a construirii unei baze de date ar putea fi urmtorul:[footnoteRef:8] [8: http://facultate.regielive.ro/cursuri/limbaje_de_programare/sisteme_de_gestiune_a_bazelor_de_date-20867.html, pag. 67]

1. Studiul de fezabilitate, ce const n cercetarea sistemelor operative deja existente, stabilirea unor alternative cu evaluarea costurilor, a avantajelor i dezavantajelor fiecrei alternative n parte. 2. Cercetarea sistemului prin determinarea diferitelor detalii ale sistemului prezent (tipuri de date, dimensiuni, condiii excepionale) folosind metode de interogare, chestionare, exemplificri i observaii directe aplicate n sistemul deja existent. 3. Analiza sistemului prin determinarea cauzelor diferitelor evenimente i a adoptrii diferitelor metode, eventuale alternative posibile i justificarea lor.4. Proiectarea sistemului prin determinarea celui mai bun model de reprezentare i prelucrare a datelor, de asigurare a securitii i integritii. 5. Dezvoltarea sistemului prin stabilirea detaliilor asociate datelor prevzute a fi luate n consideraie, a relaiilor dintre ele i a modului de reprezentare fizic.6. Implementarea sistemului prin proiectarea, scrierea i testarea programelor, antrenarea utilizatorilor, alctuirea documentaiei, crearea i ncrcarea fiierelor.7. Revizuire i ntreinere prin probe de lucru ale noului sistem, efectuarea unor eventuale modificri, adugarea de noi componente i urmrirea procesului de prelucrare a datelor.n proiectarea bazelor de date se ine seama de independena datelor[footnoteRef:9] pe diferite nivele. De exemplu, reprezentarea fizic a datelor se poate schimba n timp pentru a obine performane superioare din punct de vedere al timpului de rspuns i al spaiului ocupat, fr ca aceasta s afecteze modul de reprezentare a datelor n schema conceptual. [9: http://dppd.wikispaces.com/space/showimage/Curs+baze+de+date.pdf, pag 89]

Aceast independen se numete independen fizic a datelor. De asemenea, ntre vederi i schema conceptual exist o independen numit independen logic a datelor. n timpul existenei unei baze de date pot aprea modificri n schema conceptual prin adugarea unor noi entiti sau prin adugarea de noi atribute unor entiti existente. Proiectarea unei baze de date privete n primul rnd nivelul logic i mai puin pe cel fizic. Proiectarea se poate face plecnd de la modelul relaional care permite o tehnologie de proiectare i apoi se poate transforma rezultatul proiectrii n oricare dintre modele, prin adaptrile corespunztoare.Modelarea bazelor de date este un proces de definire amnunit, precis, pas cu pas, a tuturor elementelor ce permit o documentare complet privind cererile de informaii. n aceast procedur se folosesc metode specifice de reprezentare a obiectelor. La proiectarea bazelor de date trebuie s funcioneze o comunicare efectiv ntre cel care proiecteaz baza de date i cei care o implementeaz, cei care o utilizeaz, pentru a gsi i a valida soluiile alese la proiectare. De cele mai multe ori, folosirea schemelor este mai sugestiv dect folosirea unor texte explicative.Proiectarea urmrete obinerea unor baze de date care s ntruneasc urmtoarele caliti:[footnoteRef:10] [10: Lect. Univ. Nicolae Morariu, Lect. Univ. Valeriu Lupu, Ing. Ec. Ovidiu Hurjui, Baze de date, Universiatea tefan cel Mare Suceava, Facultatea de tiine Economice i Administraie Public, Suceava 2003, pag. 11]

Corectitudine: reprezentarea ct mai fidel n baza de date a modului obinuit de lucru cu datele n sistemul real. Consistena: informaiile corespunztoare obiectelor cu care se lucreaz n baza de date (nume, definire, relaii, documentare), s nu conin contradicii. Distribuire: informaiile s poat fi utilizate de aplicaii multiple i s poat fi accesate de mai muli utilizatori, aflai n diferite locuri, utiliznd medii de calcul diverse i acoperind un numr mare de cereri posibile. Flexibilitatea: faciliti de adugare de componente care s reflecte cereri noi de informaii, s mbunteasc performanele sau s adapteze datele pentru eventualele schimbri din lumea real.Criteriile de clasificare pentru determinarea modelului logic de date optim corespunztor unei baze de date sunt:[footnoteRef:11] [11: Peterson J. "Baze de date pentru nceptori", Ed. All, Bucureti, 2003]

Validarea structural: reflectarea consistent a modului de utilizare a informaiilor n lumea real. Simplitatea: uurina nelegerii structurilor chiar de ctre utilizatori fr o pregtire special. Neredondan: eliminarea pe ct posibil a reprezentrii de mai multe ori a aceleiai informaii sau a informaiilor ce se pot deduce logic din altele. Extensibilitate: posibilitatea de a dezvolta noi componente cu efecte minime asupra bazei de date existente.Integritate: consistena n modul de utilizare i ntreinere ale valorilor din informaii.

Securitatea datelorDup ce o baz de date a fost proiectat i realizat este de luat n calcul, securitatea sa. Baza de date trebuie s fie protejat mpotriva unei distrugeri logice (anomalie de actualizare) sau fizice. Pentru aceasta exist instrumente care permit:[footnoteRef:12] [12: V. Viktor, Securitatea datelor, PC Report, februarie 1998, pag. 46-48.]

crearea unor puncte de repriz altfel spus salvarea din timp n timp a unor copii coerente ale bazei de date; gestiunea unui jurnal de tranzacii lista operaiilor realizate asupra bazei de date dup ultimul punct de repriz.Dac apare o anomalie care ar putea distruge baza de date, pe baza copiei de la ultima repriz i a jurnalului de tranzacii se poate reface baza de date n forma iniial. Protecia mpotriva unei distrugeri fizice se face prin realizarea unei copii a bazei de date.Pentru securitatea datelor, se ine seama deasemenea de confidenialitatea datelor.Confidenialitatea datelor este asigurat prin proceduri de: identificare a utilizatorilor prin nume sau cod; autentificarea prin parole n acest mod este restricionat accesul persoanelor din afar la baza de date; autorizarea accesului difereniat prin drepturi de creare, consultare, modificare, tergere pentru anumite segmente de date.

Niveluri i modele de reprezentare a datelor n bazele de date Modelarea logic a datelor

Poate cea mai important parte din procesul construirii unei baze de date o constituie studiul sistemului ce urmeaz s fie reflectat n baza de date. Stabilirea informaiilor relevante pantru sistem i a relaiilor dintre ele este un lucru esenial pentru etapele urmtoare.Baza de date este un model al lumii reale i nu poate reprezenta dect un numr limitat de caracteristici n unele aplicaii. Orict de perfecionat ar fi un model utilizat, exist aplicaii care se pot concepe astfel nct s nu poat fi satisfcute de baza de date. [footnoteRef:13] [13: http://facultate.regielive.ro/cursuri/limbaje_de_programare/baze_de_date_si_sisteme_informatice-47112.html, pag 45]

Pentru a construi o baz de date corespunztoare unui sistem real dat, se face mai nti o apreciere general a sistemului. n aceast apreciere se includ informaii privind structura sistemului elemente eseniale ale acestuia care sunt cuprinse ntr-o schi preliminar. Schia cuprinde, printre alte informaii, i modul n care sistemul este vzut de diferite persoane implicate n sistemul respectiv. Se creaz un model informaional n care sunt cuprinse principalele funciuni i fluxuri de informaii din sistem. Sistemul trebuie privit unitar i nu ca o alturare a componentelor sale. n baza de date, multe pri sunt folosite n comun de diferitele componente ale sistemului.

Modelul relaional de baze de date

Un model relaional de baze de date cuprinde trei componente principale:[footnoteRef:14] [14: http://www.studentie.ro/Curs_Baze_de_Date_TRANSPUNEREA_MODELULUI_E_A_IN_MODELUL_RELATIONAL--citeste-nr713.html]

- Structura datelor prin definirea unor domenii i a relaiilor n-are (atribute, tupluri, chei primare, etc.).- Integritatea datelor prin impunerea unor restricii.- Prelucrarea datelor prin operaii din algebra relaional sau calculul relaional.Modelul relaional se bazeaz pe noiunea matematic de relaie, aa cum este definit n teoria mulimilor, i anume ca o submulime a produsului cartezian a unei liste finite de mulimi numite domenii. Elementele unei relaii se numesc tupluri, iar numrul de domenii din produsul cartezian se numete arietatea relaiei. De obicei relaiile sunt reprezentate sub forma unor tabele n care fiecare rnd reprezint un tuplu i fiecare coloan reprezint valorile tuplurilor dintr-un domeniu dat al produsului cartezian.n reprezentarea sub form de tabel a unei relaii, coloanelor i respectiv domeniilor corespunztoare lor li se asociaz nume intitulate atribute. Mulimea numelor atributelor unei relaii se numete schem relaional. Dac relaia are atributele atunci schema relaional se noteaz .Un alt mod de a defini relaiile este urmtorul: prin relaie nelegem o mulime de funcii definite pe o mulime de atribute cu valori n reuniunea unor domenii, cu resticia ca valoarea corespunztoare fiecrui atribut s se reflecte n domeniul asociat acelui atribut.Prelucrarea relaiilor se face prin algebra relaional sau calculul relaional pe tupluri sau domeniu.Operatorii relaionali se pot grupa n operatori de baz, care pot genera toat clasa operatorilor relaionali i operatori auxiliari. Operatorii relaionali de baz se mpart n operatori de asamblare i operatori unari.[footnoteRef:15] [15: I. Roca, D. Zaharie, Proiectarea sistemelor informatice (P. S. I.) Note de curs, A. S. E. Bucureti, 2001, pag 55]

Operatorii de asamblare sunt operatorii care primesc la intrare dou relaii i genereaz la ieire una singur. Acetia sunt: reuniunea, diferena, produsul cartezian.Operatorii unari se aplic asupra unei relaii i genereaz o alt relaie. Acetia sunt proiecia i selecia.Operatorii auxiliari pot fi dedui din setul de operatori de baz. Acetia sunt compunerea, intersecia i mprirea.Modelul conceptual de baze de dateNivelul conceptual este nivelul central care reflect datele structurate astfel nct acestea s poat fi preluate i prelucrate cu ajutorul unui SGBD. Schema conceptual st la baza modelului conceptual care va permite definirea proprietilor elementare ale obiectelor care intereseaz.Modelul conceptual al bazei de date este reprezentat grafic prin diagrame, entitate relaie. n aceste diagrame, entitile sunt reprezentate sub form de dreptunghiuri ce conin numele entitii respective. Proprietile sunt reprezentate prin elipse ce conin numele entitii respective, unite cu linii de entitile la care sunt asociate. Elipsa se deseneaz punctat dac proprietatea este derivat i dublat dac este multivaloare. Proprietile compuse au ataate componentele lor, reprezentate tot sub form de elipse. Cheile sunt subliniate. Relaiile sunt reprezentate sub form de romburi etichetate cu numele tipului relaiei respective. Rombul se dubleaz dac relaia indic legtura ntre o entitate special i entitatea de care depinde ea. Relaia este unit prin linii cu entitile ce apar n ea, etichetate cu one sau many dup caz. Linia se dubleaz dac participarea n relaie a entitii este total. Orice subtip Y al lui X se marcheaz cu o linie de la Y la X pe care se pune semnul de incluziune de mulimi (a lui Y n X).[footnoteRef:16] [16: http://www.studentie.ro/Curs_Baze_de_Date_MODELE_DE_DATE_FOLOSITE_IN_PROIECTAREA_BAZELOR_DE_DATE-nr570-d1-.html]

MICROSOFT ACCESS, APLICAIE PENTRU GESTIUNEA UNEI FARMACIIntr-o farmacie sunt mai multe operatii economice care se desfoar, de aceea un sistem informatic ar trebui : s asigure urmrirea produselor comercializate : Administrare, Furnizori, Clienti, Stocuri, Casa de marcat, Nomenclator de medicamente si Comunicatie s alctuiasc rapoarte complete rapoarte ce acopera integral activitatea farmaciei, inclusiv: centralizator NIR-uri, centralizator documente de ieire, top produse vndute, top produse profitabile i liste promoii s gestioneze turele, cu informaii detaliate despre activitatea fiecrui angajat s calculeze reetele compensate i gratuite s realizeze urmrirea mrfurilor de la intrare i pn la vnzarea cu amnuntul s permit lucrul n sistem multi-gestiune si multi-societate .Instrumentul Wizard

Pentru a facilita realizarea de aplicaii n Microsoft ACCESS, au fost introduse instrumentele de ajutor wizards, care pot fi clasificate n dou categorii: generale i orientate obiect. Rolul acestor instrumente este de a realiza n mod automat o baz de date sau un anumit obiect (tabel, formular, cerere de interogare, raport), lund n considerare anumite preferine ale utilizatorului.n cadrul istrumentalor wizard generale, Microsoft ACCESS conine un numr de probleme pentru rezolvarea crora aplicaiile pot fi generate automat prin utilizarea unor abloane, fiind create toate obiectele necesare pe baza anumitor preferine ale utilizatorului. Un exemplu n acest sens este baza de date privind contractele de afaceri (Contract Management). Aceast baz de date poate fi generat automat de ctre Microsoft ACCESS pe baza specificrii anumitor preferine ale utilizatorului. Utilizarea instrumentelor wizard este recomandat n special n cazul crerii formularelor sau rapoartelor.

Crearea unei baze de date

Pentru a crea o nou baz de date trebuie s parcurgem urmtorii pai:[footnoteRef:17] [17: Luminita Serbanescu, Baze de date relationale. Aplicatii Access, Editura Paralela45,2008, pag 57-61]

-mergem n meniul File de unde selectm opiunea New...; moment n care se va deschide o nou ferestr de unde trebuie s alegem Database... . Acelai lucru l putem efectua prin selectarea pictogramei New din bara de instrumente.(Figura 1)

Figura 1. Opiunea New pentru crearea unei baze de date

-dup acest prim pas va aprea o nou fereastr care ne va da posibilitatea de a da un nume bazei de date i de a o salva pe suportul dorit (Figura 2).n Save in: avem posibilitatea indicrii locaiei unde dorim s salvm proiectul. n cutia de sub directorul unde se dorete a se salva aplicaia sunt indicate toate sub-directoarele folderului nostru. n figura de mai sus folderul laboratoare nu prezint nici un folder inclus. n File name: vom indica numele sub care vrem s salvm baza de date, iar dup indicarea acestui nume urmeaz s acionm cu un click pe butonul Create pentru a salva acest baz de date

Figura 2. Cutie de dialog-pentru salvarea bazei de date

-o nou baz de date Access este creat, fiind de fapt un simplu fiier cu extensia .MDB.n fereastra bazei de date (Figura 3) se observ, n partea stng, o multitudine de obiecte pe care le poate avea o baz de date(tabele, interogri, forme, rapoarte, etc...), iar n partea dreapt, n funcie de obiectul selectat, avem posibilitatea s vizualizm obiectele existente n baza de date i s definim noi obiecte.

Figura 3. Fereastra Database

n cazul nostru, deoarece este o baz de date nou creat i este selectat opiunea Tables n partea stng, avem doar posibilitatea s introducem noi tabele n baza de date.

Deschiderea unei baze de date

Sunt trei posibiliti de deschidere a unei baze de datea.din bara de meniu (Figura 4.):-mergi n meniul File ;-selecteaz opiunea Open... .

Figura 4. Deschiderea unei baze de date(I)

b.n meniul File,prin selectarea unuia din ultimele proiecte deschise (Figura 5):

Figura 5. Deschiderea unei baze de date(I)

-aici ultimele proiecte deschise sunt afiate n ordinea invers a deschiderii lor (astfel, primul proiect afiat este cel deschis n momentul respectiv, al doilea proiect afiat este cel deschis naintea deschiderii proiectului n care se lucreaz n momentul de fa, etc.)

c.din bara de instrumente (Figura 6.):-click pe butonul Open din bara de instrumente.

Figura 6. Deschiderea unei baze

n primele dou cazuri de deschidere a unei baze de date va aprea fereastra de dialog Open: (Figura 7).

Figura 7. Fereastra de dialog Open

Pentru a gsi o baz de date trebuie s deschidem folderul unde a fost salvat prin dublu click. Prin deschiderea unui folder, numele lui va aprea n Look in:,iar n lista de sub nume vor aprea toate directoarele i fiierele situate n folderul de baz. Baza de date va fi deschis fie printr-un click asupra fiierului corespunztor, urmat de un click pe butonul Open, fie prin dublu-click pe fiierul resectiv.

Salvarea modificrilor aduse unei baze de date[footnoteRef:18] [18: Popa Gh. i alii "Baze de date ACCESS", Ed. Cison, 2003, pag 78]

Prin modificarea unei baze de date ACCESS se nelege modificarea obiectelor ce o compun. Modificarea unui obiect va atrage dup sine o ntrebare din partea sistemului dac aceast modificare va fi salvat sau nu. n concluzie, orice modificare a obiectelor se salveaz local nefiind necesar salvarea ntregii baze de date.

Figura 8. Salvarea modificrilor aduse unei tabele

Acesta este un exemplu de caset de dialog, prin care utilizatorul este ntrebat dac dorete s salveze schimbrile la tabela 1.In cazul unei baze de date se procedeaz la fel.

Crearea structurii bazei de date

Crearea tabelelor[footnoteRef:19] [19: Alison Balter , Microsoft Office Access 2003, traducerea Alexandru Szasz, Editura Niculescu, Bucureti 2006, pag 67-69]

O dat creat, baza de date este pregtit pentru crearea tabelelor, iar tabul care apare implicit primul este cel al tabelelorCrearea structurii tabelelor se poate face n trei moduri:1. Utiliznd fereastra de proiectare Create table in design view (Figura 9)2. Prin introducerea datelor Create table by entering data;3. Utiliznd instrumentul Wizard Create table by using wizard.Crearea unui tabel utiliznd instrumentul wizard permite adugarea unor cmpuri standard ce se afl deja n cadrul bibliotecilor de tabele standard. Crearea de tabele prin introducerea de date reprezint o form rapid de a introduce datele. Ea nu poate fi aplicat eficient n cadrul unei aplicaii complexe. n practic apare deseori necesitatea adugrii, sau tergerii unor anumite cmpuri dintr-un tabel, dup ce acesta a fost salvat i chiar i dup ce a fost completat. Pentru a ntreprinde aceste aciuni este necesar deschiderea tabelului n Design view, fie prin clic dreapta i selectarea opiunii, fie normal, dup care se selecteaz Design view prin butonul de pe bara de comand. Pentru a adugaun cmp n tabel[footnoteRef:20], trebuie s selectai cmpul care trebuie s-l urmeze pe cel nou, i se selecteaz Insert Rows de pe bara de comanda, sau din meniul ce apare dup un clic dreapta (Figura 10). [20: http://facultate.regielive.ro/cursuri/limbaje_de_programare_economie/programul_microsoft_office_pentru_baze_de_date-23970.html]

Figura 9. Crearea unui tabel n modul Design view

Figura 10. Introducerea unui nou rnd deasupra cmpului de valoare_total

tergerea unui anumit cmp al unui tabel se poate face asemntor cu introducerea unui nou rnd, sau pur i simplu se apas butonul delete de pe tastatur. Prin tergerea cmpului din tabel, sunt terse i toate datele care au fost memorate n acest cmp n tabel pn n momentul tergerii. Cmpurile cheie primar sau cheie strin nu pot fi terse atta timp ct exist relaii cu alte tabele prin intermediul lor.

Tipuri de date in Access[footnoteRef:21] [21: Cornel Ignat, Carmen Petre, Iniiere n Access, Editura Arves, 2002, pag 102-103]

Tipul de date care este stocat ntr-un anumit cmp poate fi modificat, prin selectarea cmpuluirespectiv i selectarea din list a unui alt tip (Figura 11).

Figura 11. Proprietatea unui cmp

Pe de alt parte, dac date deja au fot introduse n tabel, anumite schimbri nu vor mai putea fi fcute i n majoritatea cazurilor schimbarea tipului de date nu este indicat. De exemplu, dac tipul numr va fi transformat n text, atunci numerele memorate n respectivul cmp vor fi tratate ca simple iruri de caractere, deci nu vor mai putea fi implicate n calcule matematice.n continuare voi prezenta principalele tipuri de date existente n Access2003:Text ne permite s stocm orice tip de dat, caractere, digii, caractere speciale. Iniial putem stoca un numr de 50 de caractere, dar lungimea textului poate ajunge la 255 caractere. Este folosit pentru a stoca informaii, precum: nume, adrese, numere care nu vor fi folosite n calcule, cum ar fi numerele de telefoane, codurile potale.Memo este folosit pentru texte cu dimensiuni mai mari de 255 de caractere, cum ar fi de exemplu anumite observaii. Are o lungime maxim de 65.536 caractere. Access recomand ca pentru stocarea documentelor cu mult informaie, n locul unui cmp de tip Memo, este de preferat folosirea unui cmp de tip OLE Object. Access permite sortrile sau gruprile dup un cmp Memo, dar sunt luate n calcul numai primele 255 de caractere din acest cmp.Number pentru informaii de tip numeric folosite n calcule informatice. Tipurile Byte, Integer i Long Integer permit stocarea numerelor fr zecimale, n timp ce tipurile Single, Double i Decimal permit stocarea cu zecimale. Tipul Replication ID este folosit ca un cod n bazele de date de tip replication (informaiile sunt salvate att pe server, ct i pe staiile de lucru).Date/Time pentru a introduce data i ora din anul 100 pn n anul 9999.Currency pentru valorile monetare i informaii numerice folosite n calcule matematice. Acest tip de dat permite folosirea a maxim 15 simboluri numerice n partea stng a virgulei i maxim 4 n partea dreapt a acesteia. Un cmp de acest tip ocup 8 bytes pe spaiul de pe disc. Autonumber un numr unic (secvenial)- incrementat unul cte unul. Acest cmp nu poate fi actualizat.Yes/No acest tip de dat permite utilizatorului s specifice pentru cmp una din aceste dou valori.OLE Object poate fi un fiier EXCEL, Word, o imagine, un grafic, un sunet.Hyperlink un text sau o combinaie de litere i cifre care ne permit s mergem la un fiier, o locaie ntr-un fiier, o pagin de Internet sau intranet.Lookup wizard... cu ajutorul acestui tip de dat avem posibilitatea s alegem o valoare dintr-o list de valori. Access poate umple aceast list fie cu date dintr-un tabel, fie cu date introduse de noi. Tot n modul Design view atributele anumitor cmpuri pot fi stabilite cu rigurozitate pentru a proteja integritatea datelor, sau pentru a face baza de date compatibil cu scopul pentru care a fost creat. Astfel, n Figura 12 este prezentat modul n care valoarea introdus n cmpul cantitate al tabelului medicamente este restricionat la valori pozitive, att pentru a se evita erorile de tastare care ar putea duce la valori negative, ct i pentru a evita vnzarea mai multor medicamente dect se afl n stoc la un moment dat.

Cheia primar

nainte de a salva un tabel trebuie s-i atribuim o cheie primar. Cheia primar este folosit pentru a identifica n mod unic o nregistrare ntr-un tabel. ntr-un tabel nu putem defini mai mult de o cheie primar, dar aceast cheie primar poate fi compus din mai multe cmpuri.

Figura 12. Atributele cmpului cantitate. Ca regul de validare pentru acest cmp, valorile trebuie s fie mai mari sau egale cu 0.

.Pentru a stabili un camp ca fiind cheie primar trebuie parcuri urmtorii pai (Figura 13) click pe numele cmpului ce va deveni cheie primar; click pe butonul cheie primar aflat n bara de instrumente;n partea din stnga a cmpului va aprea o cheie, prin aceasta nelegnd c respectivul cmp este cheie primar.Dac vrem s definim o cheie primar format din mai multe cmpuri, atunci apsm pe tasta Ctrl i selectm toate cmpurile prin click. n cele din urm acionm asupra butonului .Important: De reinut c nu se admit valori nule pentru cmpurile ce formeaz o cheie primar i nu putem avea dou valori identice n cmpurile cheii primare.Dac vom ncerca s introducem o nregistrare care ncalc una din regulile de mai sus, sistemul va returna o eroare.

Salvarea unui tabelPentru a salva un tabel trebuie:[footnoteRef:22] [22: Luminita Serbanescu, Baze de date relationale. Aplicatii Access, Editura Paralela45,2008, pag68-83]

s mergem n meniul File i s selectm opiunea Save; sau click pe butonul din bara de instrumente.

Figura 13. Alegerea cheii primare pentru cmpul cod_medicament

Dac tabelul nostru nu are un nume, urmtoarea csu de dialog va aprea la nchiderii formularului specific crerii tabelelelor n modul design (Figura 14 )

Figura 14. Salvare tabel

Not: Dac nu avem definit o cheie primar n acel tabel, urmtoarea csu de dialog va ateniona proiectantul despre lipsa cheii.(Figura 15)Dac optm pentru Yes, atunci se va crea un nou cmp de tip Autonumber, fiind de fapt cheia primar a tabelului. Dac alegem No, atunci se va salva tabelul fr cheie primar.

Figura 15. Atenionare: Nu este definit cheia primar!

Relaii ntre tabele[footnoteRef:23] [23: Lect. Univ. Nicolae Morariu, Lect. Univ. Valeriu Lupu, Ing. Ec. Ovidiu Hurjui, Baze de date, Universiatea tefan cel Mare Suceava, Facultatea de tiine Economice i Administraie Public, Suceava 2003, pag 145-146]

Odat ce toate tabelele necesare au fost create, pn la nceperea utilizrii bazei de date, mai trebuie finalizat o etap extrem de important i anume cea de a stabili relaiile dintre tabele. Principala calitate a unei baze de date trebuie s fie uurina de utilizare, ceea ce presupune evitarea introducerii de mai multe ori a acelorai date, de exemplu, precum i capacitatea de a fi ntreinut ct mai uor. ntr-o baz de date relaional datele sunt organizate n tabele i programe( care prelucreaz aceste date).Bazele de date relaionale permit folosirea simultan a datelor din mai mult dect un tabel.Prin folosirea relaiilor putem evita duplicarea datelor, putem salva din spaiul folosit pe disc, putem ajunge la o viteza ridicat de manipulare i prelucrare a datelor din tabele.n cazul relaiilor vom avea dou tipuri de tabele: tabelul principal i tabelul secundar.O relaie este o asociere ntre dou cmpuri a dou tabele diferite.

ntr-o baz de date putem avea trei tipuri de relaii:-relaie unu la unu- cnd o nregistrare dintr-un tabel poate avea ca referin o nregistrare din tabelul secundar (i vice-versa). De exemplu avem un tabel cu angajai, unde putem avea informaii despre adresa, nume, etc., i un alt tabel unde vom stoca numrul total de ore lucrate de un angajat n strintate.Acest tip de relaie nu este folosit prea des.-relaie unu la N - cnd o nregistrare dintr-un tabel primar poate avea mai muli corespondeni n tabelul n tabelul secundar. De exemplu un tabel cu judeele, iar altul cu clieni. Astfel, ntr-un jude pot fi mai muli clieni, dar clienii aparin unui singur jude. Acest tip de relaii sunt folosite mult mai des.-relaie N la M - cnd unei nregistrri din tabelul primar i corespund mai multe nregistrri din tabelul secundar, iar unei nregistrri din tabelul secundar i corespund mai multe nregistrri n tabelul primar. Acest tip de relaie este posibil doar atunci cnd apare un al treilea tabel, care face legtura ntre alte dou tabele.

Crearea primei relaii

Pentru a crea prima relaie trebuie s ne poziionm n fereastra Relationships (Figura 16). Vom putea ajunge la aceast ferestr prin dou moduri:-n fereastra Database apelm meniul Tools i selectm opiunea Relationships... ;-click pe butonul din bara de instrumente.

Figura 16.

n acest va aprea cutia de dialog Show table (Figura 17), asupra creia vom face urmtoarele operaiuni:

Figura 17. Introducere tabele ntr-o relaie click pe un tabel necesar ntr-o relaie, dup care click Add pe butonul, sau dublu-click pe tabel ; facem aceleai operaiuni pentru a aduga i urmtorul tabel necesar relaiei; la final click pe butonul Close .

Dup aceti primi pai vom avea n fereastra Relationships cele dou tabele introduse.(Figura 18)

Figura 18. Tabelele introduse n relationships

Pentru a crea o relaie nu avem dect s selectm un cmp din tabelul principal i s-l tragem deasupra cmpului de referin din tabelul secundar. De obicei cmpul referit este o cheie primar.Dac avem mai multe cmpuri n tabelul principal, pe care vrem s la referim, selectm primul cmp, iar cu ajutorul tastei CTRL avem posibilitatea selectrii i celorlalte cmpuri.Dup ce selectm cmpurile ce vor forma o legtur va aprea o nou ferestr Edit relationships. (Figura 19)n partea de sus a acestei ferestre apar numele celor dou tabele care intr n legtur, iar mai jos cmpurile din aceste tabele care formeaz aceast legtur. De reinut faptul c aceste dou cmpuri trebuie s aib acelai tip de dat.n partea de jos la seciunea Relationship type se observ i tipul legturii(n acest caz unu la unu).Dac dorim csuele Cascade Update Related Fields i Cascade Delete Related Records pot fi activate.Pentru a termina dm click pe butonul Create.Legtura astfel creat va aprea n fereastra Relationships

Figura 19. Fereastra Edit relationships.

Integritatea referenial[footnoteRef:24] [24: Prof. dr. Viorica Stanciu, asist. drd. Alexandru Gavril, asist. drd. Drago Mangiuc, prep. drd. Bogdan Gheorghe Sahlean, Proiectarea sistemelor informatice, Editura Dual Tech, Bucureti, 2002]

Integritatea referenial este un sistem de reguli pe care bazele de date relaionale folosesc pentru a asigura coerena datelor.Putem activa aceste reguli printr-un click pe opiunea Enforce Referential integrity din fereastra aprut n cazul crerii legturilorDac aceste reguli sunt activate, Access nu ne va permite s introducem o nregistrare n tabelul secundar dac valoarea din cmpul de referin nu exist n cmpul referit din tabelul principal.Integritatea referenial are asociate dou aciuni:- Cascade update the related fields:selectarea acesteia determin ca la o modificare a valorii referite din tabelul de baz s se modifice toate nregistrrile aferente din tabelul secundar;- Cascade delete related records:selectarea acesteia determin ca la o tergere a valorii referite din tabelul de baz s se tearg toate nregistrrile aferente din tabelul secundar.ntre tabelele medicamente i arhiva vnzri din baza de date OvyFarm integritatea referenial nu este selectat pentru ca datele stocate cu privire la vnzri s nu fie terse atunci cnd medicamentele la care fac referire sunt scoase din stoc.(Figura 20)

Figura 20. Relaiile dintre tabelele bazei de date OvyFarm. ntre tabelele medicamente i arhiva vnzri integritatea referenial nu este selectat pentru ca datele stocate cu privire la vnzri s nu fie terse atunci cnd medicamentele la care fac referire sunt scoase din stoc.

Interogarea unei bazei de date Tipuri de interogri[footnoteRef:25] [25: Roger Jennings , Totul despre Microsoft Acces 2000 Editura Teora, Bucureti,2001, pag 69-72]

n practic apar ns foarte des situaii n care datele s fie sortate n funcie de mai multe variabile sau condiii i deseori sunt necesare operaii complexe de meninere a bazelor de date, cum ar fi tergerea automat a unor nregistrri nvechite, sau actualizarea tuturor n funcie de necesiti, precum i organizarea lor n moduri care s fac uoar vizualizarea lor, lucru foarte util n cazul bazelor de date foarte stufoase. Pentru toate acestea exist interogrile.Interogrile sunt acele obiecte din baza de date care ne permit s introducem, s actualizm i s aranjm datele stocate n tabele. Interogrile sunt de mai multe tipuri, n funcie de destinaia lor i precum formularele, sunt bazate pe tabele, dar i pe alte interogriDe asemenea, le putem folosi ca nite surse pentru formulare i rapoarte.n Access avem urmtoarele tipuri de interogri:A. Select queries.Sunt acele interogri care extrag sau ne arat anumite date. Aceste interogri ne vor afia datele n funcie de anumite criterii.Interogrile de selecie sunt foarte utile atunci cnd datele trebuie organizate n funcie de unul sau mai muli parametri. Parametrii sunt variabile care, trecute n tabul de criterii in locul acestora, utilizatorul fiind ntrebat nainte de a rula interogarea care este valoarea parametrului, pentru a selecta din tabel numai nregistrrile dorite. Parametrii trebuie scrii ntre paranteze ptrate, avnd ca denumire un alt nume dect numele cmpului pentru care servesc drept criteriu de sortare (Figura 21). Fiind afiat un rezultat, putem consulta i edita aceste date(n funcie de interogare). O selecie genereaz un tabel logic (l numim aa pentru c el nu este stocat pe hard, ci doar n memoria calculatorului; la fiecare deschidere datele din acest tabel sunt recalculate).

Figura 21. Interogare de selecie care afieaz numai nregistrrile care au n cmpul denumire valoarea pe care o introduce utilizatorul de la tastatur

B. Action queries.Acest tip de interogri sunt folosite pentru a modifica unele nregistrri. n acest tip de interogri se regsesc urmtoarele aciuni: tergere nregistrare, actualizare nregistrare, inserare date, crearea unui nou tabel din unul deja existent. Un astfel de tip de interogare este interogarea de tergere (Figura 22), care terge automat toate nregistrrile din tabelele asociate ei, n cazul n care anumite criterii sunt ndeplinite. Pentru a crea o interogare de tergere trebuie creat mai nti o interogare simpl, dup care n meniul Query se selecteaz opiunea delete query. n acest moment anumite cmpuri ale interogrii de selecie dispar i apare unul nou i anume delete unde este specificat modul de tergere, adic acolo unde este ndeplinit condiia, sau ncepnd de acolo de unde este ndeplinit condiia. La criterii este trecut condiia care trebuie ndeplinit pentru ca tergerea s aib loc, pentru cmpul dorit. n momentul n care interogarea este rulat, utilizatorul este atenionat c dac va continua aciunea, datele vor fi terse definitiv din baza de date. De asemenea, n fereastra de atenionare este specificat i numrul de nregistrri care urmeaz s fie terse. .

Figura 22. Interogare de tergere a nregistrrilor din tabelul medicamente, care au completat n cmpul cantitate valoarea 0, ceea ce nseamn c nu mai exist medicamente de tipul respectiv n stoc.

O interogare care are un mecanism de funcionare asemntor cu cel al interogrii de tergere este interogarea de actualizare sau update query. Aceast interogare are rolul de a modifica datele din toate tabelele asociate, n cmpurile specificate, fiind acestea fiind nlocuite cu datele care sunt introduse n cmpul update to, sau rezultatul unei expresii care este introdus n acelai cmp (Figura 23).

Figura 22. Interogare de actualizare a nregistrrilor din tabelul medicamente, la nivelul cmpului cantitate. Din valoarea care este stocat n acest cmp este sczut valoarea care se refer la medicamentul respectiv, din arhiva de vnzri, adic din factura de ieire. Legtura cu aceasta fcut prin intermediul parametrului [nr_factura], care face ca datele care vor fi modificate s fie cele care se regsesc i pe factura dorit, numrul acesteia fiind introdus de utilizator precum valoarea oricrui parametru. Se observ c pentru a scrie expresia, numele tabelelor i cmpurilor sunt trecute n paranteze drepte, ceea ce justific faptul c un parametru, care este scris dup aceeai sintax, trebuie s fie denumit altfel dect numele cmpului la care face referire, n special i altfel dect numele oricrui cmp din tabelul la care face referire, n general.

Figura 24. Avertizarea aprut nainte de rularea unei interogri de actualizare partea de sus este specificat numrul de rnduri ce urmeaz s fie modificate

Figura 23. Avertizarea aprut nainte de rularea unei interogri de n partea de sus este specificat numrul de rnduri care urmeaz tergere s fie terse

Un alt tip de interogare care poate fi utilizat este interogarea de adugare (append query).Aceasta are un rol asemntor cu cea de actualizare, numai c prin intermediul acesteia pot fi adugate nregistrri n continuarea tabelului pe care l specific utilizatorul, sau pot fi adugate date n cmpurile dorite.

Figura 25 Csua care solicit introducerea numelui tabelului la care s fie adugate date n cazul unei interogrii de adugare (append query)

C. Crosstab queries.

Vom folosi acest tip de interogri pentru a calcula sau restructura un tabel pentru o analiz mai uoar a datelor. Astfel putem calcula numrul de nregistrri, media unui cmp, suma elementelor sau alte tipuri de calcule pentru datele care sunt grupate dup dou cmpuri.Interogarea tip crosstab combin dou sau mai multe tabele pentru a obine o foaie tip tabel, unde cmpurile de intersecie dintre liniile i coloanele specificate conin informaia dorit, sau pur i simplu sunt bifate

D. SQL queries.Cnd vrem s realizm o modificare asupra datelor trebuie s apelm la mecanismul Microsoft Jet. SQL este un limbaj pe care Microsoft jet n recunoate i ne permite s comunicm prin ajutorul lui.Atunci cnd crem o interogare n Query Design, Access construiete n spatele acestei secvene o interogare n SQL. Dca vrem putem s vizualim i s editm aceast interogare.Dup ce am fcut modificrile necesare, fereastra Query Design se va modifica, adaptndu-se la noua secven SQL. Sunt anumite cazuri n care nu putem folosi Query Design pentru a defini o interogare. n toate aceste cazuri vom folosi, direct, cod SQL. Din numrul de interogri care pot fi create de utilizator se nelege cu uurin faptul c Microsoft Access pune la dispoziia acestuia o mulime de ustensile puternice i relativ uor de utilizat. Exist ns mult mai multe opiuni, care doar ateapt s fie descoperite, iar una din cele mai importante i des utilizate este opiunea totals, care poate fi gsit sub meniul View n timp ce interogarea se afl n Design view. Cu ajutorul acestei faciliti, utilizatorul are acces la funcii uzuale, cum ar fi cele de nsumare a valorilor numerice din toate cmpurile unei nregistrri i afiarea rezultatului ntr-un cmp separat, gsirea automat a valorii minime i maxime dintr-o nregistrare, afiarea primului sau ultimului cmp care ndeplinetecondiia trecut n tabul de criterii, sau numrarea elementelor specificate, care se regsesc ntr-o nregistrare. Pe lng toate aceste funcii predefinite puse la dispoziia utilizatorului, opiunea totals ofer utilizatorului ocazia de a crea cmpuri adiionale n interogare, care s conin valori ce sunt rezultatul unor expresii. Desigur, expresiile pot fi utilizate i n cazul celorlalte tipuri de interogri (Figura 26), dar se dovedesc cele mai utile n cazul interogrilor care au selectat opiunea totals

Figura 26. Exemplu de interogare care utilizeaz o expresie. Expresia DateDiff("m",[data_intrarii],Now()) are rolul de a calcula diferena dintre data calendaristic actual i data care corespunde intrrii n stoc a medicamentului respectiv, rezultatul fiind afiat n luni. n combinaie cu condiia >[valabilitate]-1 interogarea filtreaz medicamentele i le afieaz numai pe cele care mai au o lun pn cnd expir.

Crearea unei interogri[footnoteRef:26] [26: Alison Balter , Microsoft Office Access 2003, traducerea Alexandru Szasz, Editura Niculescu, Bucureti 2006, pag 187-189]

Pentru a crea o interogare trebuie s respectm urmtorii pai: Deschidem baza de date n care trebuie s crem interogarea. Click pe obiectul Queries aflat n parte stng-lateral al ferestrei Database. Va aprea urmtoarea fereastr (Figura 27).

Figura 27. Obiectul Query.

Dup aceasta avem trei alternative:-dublu-click pe opiunea Create query by using wizard .n acest caz se va deschide un set de ferestre vrjitor unde va trebui s introducem tabele din care trebuie s extragem datele, cmpurile pe care dorim s la vizualizm, precum i numele interogrii. n apsul urmtor se va genera automat o interogare.-dublu-click pe Create query in Design view .n acest caz se va deschide fereastra Query design , n care putem defini mai n detaliu interogarea noastr.-click pe butonul din fereastra Database.Va aprea urmtoarea csu de dialog (Figura 28).Opiunea Simple Query Wizard este identic cu Create a query using the wizard, menionat anterior.Celelalte tipuri de vrjitori ne permit s generm interogri speciale.Opiunea Design view are aceleai rezultate cu Create a query in Design view.La intrarea n Query design suntem ntrebai ce tabele vom folosi pentru a extrage datele.

Figura 28. Crearea unei interogri.

Figura 29. Alegerea tabelului pentru interogare.

Selectm tabelul de unde dorim s extragem datele i acionm cu un click pe butonul Add (sau doblu-click pe tabelul respectiv).Dac dorims extragem datele din alt interogare, click pe tabul Queries i selectm sursa datelor.Dac dorim s extragem datele din mai multe tabel, trebuie s parcurgem paii de mai sus.n final alegem butonul Close .Astfel va aprea fereastra Design view.

Fereastra Design view (Figura 30).

Figura 30. Fereastra Design view.

Dac privim figura de mai sus vom observa o fereastr unde vor aprea tabelele ce vor fi folosi pentru interogri, iar n partea de jos avem un grid(form tabelar), n care vom putea defini aceste interogri.Fiecare coloan din acel grid corespunde unui cmp.Fiecare linie are cte o funcie:Field: -aici vom pune cmpurile folosite n interogare(de obicei vor fi cmpurile pe care le vom vizualiza);poate fi un cmp dintr-un tabel, sau un cmp calculat. n cazul unui cmp nou, calculat, vom folosi urmtoarea form: -numecmpnou : expresieunde:-numecmpnou- va fi numele cmpului nou creat prin diferite calcule;-expresie- va fi format din cmpuri din tabele, operatori, funcii predefinite, numere, care vor contribui la determinarea valorilor aferente cmpului nou.

Observaie: ntre cele dou componente avem semnul :Table: -numele tabelului de unde extragem cmpul. Aceast linie este foarte folositoare, mai ales n cazul n care avem de fcut o interogare bazat pe mai multe tabele.Sort: -ajut la ordonarea rezultatelor ntr-o anumit ordine.Show: -dac nu este marcat, atunci respectivul cmp nu va apea n rezultatul final al interogrii. Nu este marcat n cazul n care dorim s folosim acest cmp n interogare, dar nu dorim s-l afim.De exemplu, dac vrem s afim toi studenii din Suceava, vom avea nevoie de un cmp care ne arat judeul, dar nu trebuie neaprat s-l afim.Criteria: -specific un criteriu de cutare. Un criteriu de cutare este o condiie pe care o nregistrare trebuie s o ndeplineasc pentru a aprea ca un rezultat a unei interogri. Acest criteriu poate fi compus dintr-una sau mai multe condiii cu ajutorul operatorilor AND i OR.or: -este folosit pentru condiiile multiple.

Adugarea de cmpuri ntr-o interogare[footnoteRef:27] [27: Pavel Nstase, Florin Mihai, Bogdan Brbulescu, Robert Aurelian ova, Luana Coscescu, Andrei Stanciu, Liana Covrig, Baze de Date Microsoft Access 2000, Editura Teora, Bucureti, 2003;, pag 211]

Pentru a aduga noi cmpuri n acel grid avem urmtoarele posibiliti:-dublu-click pe numele cmpului aprut n aria cu tabelele, aceast aciune aducnd respectivul cmp n prima coloan liber a gridului.-click pe numele cmpului din tabel, urmat de tragerea acestuia deasupra coloanei din grid n care vrem s-l punem.-click pe linia Field:, ntr-o coloan liber din grid i n partea dreapt a acelei csue va aprea o sgeat care ne va da posibilitatea (prin aciune asupra ei) s afim o list derulant cu toate cmpurile tabelelor prezente n arealul corespunztor. Dac avem multe tabele i multe cmpuri, putem simplica cutarea cmpului corespunztor prin selectarea unui tabel din linia Table:, iar pe urm din linia Field: selectarea cmpului dorit.-de asemenea, putem specifica un cmp prin tastarea numelui acestuia n linia Field: a unei coloane libere din grid.-dac dorim ca rezultatul unei interogri s cuprind toate cmpurile unui tabel, vom putea folosi semnul * (nlocuitor pentru toate cmpurile unui tabel). Folosirea acestui semn prezint un avantaj major: n cazul n care se modific schema unui tabel (fie tergere cmp, fie adugare cmp) rezultatul interogrii va include n mod automat aceste modificri.

Rapoarte-generarea rapoartelor

Din ceea ce s-a spus pn acum despre interogri, se observ faptul c o baz de date creat n Microsoft Access poate fi ntreinut cu uurin, odat ce un numr de filtre necesare este pus la dispoziia utilizatorului. ns datele filtrate i nu numai, n practic, sunt destinate nu numai unei existene virtuale, n memoria calculatorului i pe suportul de memorare, ct i imprimrii, pentru a fi utilizate mai departe n alte departamente, de exemplu( sau n cazul farmaciei, datele care sunt stocate n tabelele de intrri i vnzri trebuie imprimate pentru a se putea vorbi de o eliberare de factur).Rapoartele se bazeaz pe unul sau mai multe tabele, dar i pe una sau mai multe interogri, astfel nct datele imprimate s fie rezultatul unei filtrri (de exemplu, n cazul unei facturi, trebuie afiate numai datele referitoare la acestea, pe cnd, dac raportul ar fi construit pe baza tabelului, el ar conine toate datele de pe toate facturi). De asemenea, rapoartele prezint un numr de funcii predefinite. De exemplu, pe un raport utilizatorul poate alege ca valorile memorate s fie nsumate, sau ca valoarea maxim dintre acestea s fie afiat, ca i n cazul funciilor totals din cazul interogrilor.

Pentru a crea un raport, utilizatorul poate recurge la Design view sau la programul Wizard, care l va conduce, ca i n cazul formularelor i interogrilor, prin pai simpli la raportul dorit. Crearea raportului cu ajutorul programului Wizard[footnoteRef:28] se aseamn mult cu operaia asemntoare fcut n cazul formularelor. Primul pas presupune alegerea tabelelor sau interogrilor pe care se bazeaz raportul i selectarea cmpurilor care trebuie s apar n raport (Figura 31). [28: Popa Gh. i alii "Baze de date ACCESS", Ed. Cison, 2003, pag 136]

Urmtorul pas presupune alegerea modului n care va fi organizat raportul, funcie foarte important n cazul n care acesta se bazeaz pe mai multe tabele sau interogri. n cadrul acestei etape se stabilete ce nivel ierarhic ocup fiecare tabel n parte, fiind posibil setarea a maxim patru de nivele

Figura 31. Primul pas care trebuie urmat pentru a crea un raport. n fereastra dreapt se afl cmpurile care vor aprea n raport, n cazul de fa fiind vorba de cmpuri din dou tabele.ns Microsoft Access permite i o ierarhizare mai minuioas, care ine de organizarea cmpurilor n pagin i care poate duce de exemplu la crearea unui parametru, pe baza cruia va fi construit raportul (Figura 32). Figura 32. Pasul trei al programului Wizard pentru crearea unui raport. Cmpul nr_intrare din tabelul intrri are prioritatea i cum acelai cmp este prezent i n tabelul medicamente, raportul la deschidere va cere introducerea numrului facturii de intrare pe care utilizatorul o dorete imprimat.

Pasul urmtor este poate cel mai important, deoarece n cadrul su utilizatorul decide dac pe raport va fi prezent de exemplu suma tuturor preurilor medicamentelor, sau informaii de alt natur care pot fi adugate n mod automat (Figura 33 i 34). De asemenea, n cadrul aceluiai pas, poate fi stabilit un filtru de sortare al datelor, numrul maxim de sortri concomitente fiind de patru.Figura 33. Pasul patru, n cadrul cruia pot fi decise metode de sortare pentru maxim patru cmpuriFigura 34. fereastra summary options, unde utilizatorul decide dac raportul su va conine i valori calculate automat de de date.

Figura 35. Pasul cinci; este ales modul de organizare al elementelor n pagin i dac pagina va fi de tip vedere sau de tip portret

Odat ce toate aceste lucruri au fost fcute, utilizatorul nu mai trebuie n urmtorii pai dect s aleag stilul n care va fi organizat raportul din punct de vedere grafic, dac acesta va fi creat pe o pagin tip vedere sau tip portret i apoi, numele i modul n care va fi deschis raportul (Figura 35 si

Figura 36), adic pentru a previzualiza pagina nainte de imprimare, sau pentru a-i modifica setrile i elementele componente.

Figura 36. Ultimul pas al programului Wizard; este ales numele raportului i modul n care acesta va fi deschis.

Dup cum se observ, Access pune la dispoziia utilizatorului o funcie care i permite s creeze rapoarte cu aspect profesionist cu mare uurin, acestea prezentnd chiar i faciliti asemntoare cu cele pe care le ofer interogrile. Datele sunt aezate bine n pagin, ceea ce permite vizualizarea lor cu uurin, ceea ce recomand rapoartele folosirii i atunci cnd nu este necesar o imprimare.

Figura 37. Csua care solicit parametrul pentru rilarea raportului. n cazul de fa, este solicitat numrul facturii de intrare.

Figura 38. Raport deschis n modul previzualizare imprimare pentru numrul facturii de intrare.

. Formulare - Utilizarea formularelor pentru introducerea datelor,i pentru a asigura interfaa cu utilizatorul Formularele sunt soluii de introducere i extragere a datelor pe ecran, nregistrrile fiind prezentate sub form de cartele index, cte una o dat. De asemenea, formularele pot s aib n componen sub-formulare, care s conin informaii suplimentare referitoare la nregistrarea din formular, pot cpta o interfa personalizat n funcie de dorinele utilizatorului prin adugarea de imagini i text i pot conine butoane, care s ntreprind anumite aciuni prestabilite, sau s ruleze un macro sau un modul de cod Visual Basic.Pentru a crea o form, trebuie s ne poziionm n fereastra bazei de date i s selectm obiectul Form, urmtoarea aciune fiind acionarea asupra butonului , caz n care o nou ferestr va aprea, fereastr ce ne va permite s crem o form:-Design view deschide o nou form, noi trebuind s introducem o serie de controale pe aceasta. Aceast metod nu este folosit foarte mult, deoarece este mult mai uor s crem o form cu ajutorul unui wizard, iar pe urm, dup necesiti, s recurgem la modificarea aspectului acesteia;-Form wizard folosete un wizard, care ne va ghida pas cu pas n crearea formelor;-Autoform const n crearea automat a unei noi forme ce conine date dintr-un anumit tabel.Pentru a crea un formular cu ajutorul programului Wizard, se selecteaz tabul Forms n fereastra principal a bazei de date i se face dublu clic pe opiunea create form by using wizard. n fereastra care apare este ales din list tabelul pe baza cruia dorim s crem formularul i apoi trecem din fereastra stng n cea dreapt cmpurile care trebuie s fac parte din formular (Figura 39).

Figura 39. Selectarea cmpurilor care trebuie s apar n formular.

Mai departe este ales modul n care l dorim organizat(dup coloane, dup linii, tip foaie de calcul, sau pe rubrici) i pasul urmtor alegem stilul de grafic pe care l preferm, dintre cele predefinite. n final, alegem numele formularului(implicit va fi numele tabelului pe care este bazat (Figura 40) i dac dorim s l deschidem pentru a vizualiza i introduce date, sau pentru a-i modifica atributele.[footnoteRef:29] [29: Nicolae Morariu, Baze de date, ndrumtor de laborator , Universiatea tefan cel Mare Suceava, Facultatea de tiine Economice i Administraie Public, Suceava 2005, pag 89-90]

Figura 40. Alegerea numelui i a modului n care va fi deschis automat formularul.

Figura 41. Formular simplu creat cu ajutorul programului Wizard.

Bara de instrumente folosit pentru definirea unei forme[footnoteRef:30] [30: Steve Johnson, Perspection, Inc., Microsoft Office ACCES 2003 Editura Teora,Bucureti, 2003]

Figura 44. Bara de instrumente.

Cnd ai intrat n modul Form design i aceast bar nu apare, vei putea s o afiai prin intemediul meniului View, opiunea Form design din rubrica Toolbars.n cele ce urmeaz vom prezenta butoanele pe care le observm pe bara de instrumente.Butonul ne permite s trecem de la un tip de vizualizare la altul,dac deschidem meniul ataat acestui buton vom avea posibilitatea s selectm ntre Design view, Form view, Datasheet,sau alte vederi pe care nu le vom studia.

Figura 45. Tipuri de vizualizri.

Butonul Save ne permite s salvm modificriule efectuate, fr s ieim din design-ul formei.Butonul File Search ne permite s cutm anumite valori.Dup acestea avem butoanele Print i Print preview (pentru a vedea documentul care va fi printat).Urmeaz butoanele Cut , Copy , Paste i Copy Format , butoane folosite pentru a efectua aceste aciuni asupra controalelor de pe forme. Pentru a activa aceste icon-uri trebuie s selctm controlul asupra cruia dorim s efectum una dintre aceste trei aciuni.Butoanele Undo i Redo sunt folosite pentru a anula o aciune dup ce am fcut o greeal i pentru a reface aciunea.Pentru a insera o adresa vom folosi butonul .Urmtorul buton provoac apariia csuei Field list, care ne va permite o uoar manevrare a cmpurilor surs.Butonul face posibil apariia sau dispariia ferestrei Toolbox, fereastr n care vom ntlni toate controalele pe care le putem folosi pentru definirea unei forme.Cu ajutorul butonului Autoformat putem schimba aspectul formei noastre, printr-un click pe un format predefinit(vom ntlni aceleai formate ca i cele ntlnite la wizard).Toate formele au asociate anumite pagini pentru introducerea codului n Visual Basic for Applications(VBA), pagin de cod pe care o putem accesa cu ajutorul butonului .Cu ajutorul butonului putem vizualiza fereastra Properties.Butonul pornete constructorul de expresii, un macrouri sau cod.Dac vrem s mergem n fereastra Database vom aciona asupra butonului .Pentru a crea un nou tabel, interogare, macrou,... fr a iei din forma noastr vom aciona asupra butonului .n final, pentru a vizualiza help-ul avem la dispoziie butonul .

Proprietile formelorVizualizarea proprietilor[footnoteRef:31] [31: Nstase, P.; Mihai, F. Tehnologia bazelor de date. Access 2000 Economic, Bucureti 2000, pag 134, 137]

Pentru a vizualiza proprietile unui anumit obiect, selectm respectivul obiect i deschidem fereastra cu ajutorul butonului . Proprietile unui obiect sunt organizate n diferite tab-uri, dintre care tab-ul All ne permite vizualizarea tuturor proprietilor, iar tab-ul Event ne permite asocierea de cod formei. Tab-ul Formatn seciunea Caption vom avea numele formei.Default View ne permite s specificm formatul iniial al formei.Proprietatea Allow... ne indic care dintre modurile de vizualizare sunt disponibile.ScrollBars: ne permite s definim ce bar de derulare va putea fi vizualizat n cazul n care forma este mult prea mare dect fereastra monitorului. Aceast opiune poate fi Vertical Only, Horizontal Only, Both, sau Neither.Record Selectors: va specifica dac selectorul de nregistrri va fi disponibil sau. Acest selector este o mic csu plasat n partea stng a unei nregistrri, csu pe care putem aciona cu un click pentru a selecta ntreaga nregistrare n modul Datasheet sau Forms (va avea forma unui creion atunci cnd editm respectiva nregistrare).Proprietatea Navigation Buttons: este setat la Yes pentru a putea accesa butoanele de navigare.

Figura 46. Tab-ul Format al formei Clienti.

Figura 47. Butoanele de navigare..Dac proprietatea Dividing lines: este setat pe Yes, o linie va separa fiecare nregistrare care va aprea n form. Aceast proprietate e folosit, de cele mai multe ori, n cazul n care formatul implicit al formei este setat la Continuous forms.Auto Resize: indic faptul c forma se va deschide astfel nct s putem vizualiza toate nregistrrile.Auto center: indic dac o form va aprea centrat, sau nu , la deschidere.Tab-ul data (Figura 48).

Figura 48. Tab-ul Data.

Proprietatea Record source: ne indic din ce tabel sau interogare vom extrage datele.Poziionndu-ne pe aceast proprietate, vom avea posibilitatea s selectm un tabel, sau o interogare ca surs pentru forma noastr. Butonul , care apare n partea dreapt ne permite s intrm n fereastra Query design i s definim o nou interogare, care nu se va salva, dar proprietatea Record source: va fi umplut cu codul SQL aferent acestei interogri.Filter: ne permite s stabilim o condiie pentru a filtra sursa. Astfel, n form vor aprea doar anumite date.Order by: indic cmpul dup care vrem s sortm rezultatele. Dac specificm mai multe cmpuri, va trebui s folosim ; pentru a le delimita.Dac proprietatea Allow filters: este setat la No, atunci butonul corespunztor din bara de instrumente va rmne dezactivat la fel ca i opiunea de filtrare din meniul Records.Proprietile Allow Edits:, Allow deletions: i Allow additions: permit, sau nu editarea nregistrrilor, tergerea lor sau inserarea de noi cmpuri n tabele.Dac proprietatea Data entry: este setat la Yes, atunci, n momentul n care deschidem o form existent, nu va fi afiat nici o nregistrare, ci controalele vor fi pregtite pentru introducerea de noi date n tabel. Aceast proprietate poate fi folosit n cazul n care un utilizator trebuie s introduc anumite date ntr-o form, dar nu are acces la nregistrrile existente.

Gestionarea activitii unei farmacii

Avnd n vedere cele deja spuse, n paginile urmtoare va fi pus accentul pe funciile bazei de date OvyFarm i pe substratul acestora, fr a intra ns prea mult n detalii acolo unde nu este cazul, fie pentru c respectivele elemente au fost deja prezentate drept exemplu, fie pentru c metodele de creare au fost deja explicate. Programul OvyFarm are ca scop nregistrarea ntregii activiti a unei farmacii, fr a se ocupa ns i de partea financiar, care este n general gestionat de aplicaii dedicate, punnd ns la dispoziia acestora toate datele necesare pentru o bun contabilitate. S-a avut n vedere nu numai nregistrarea traficului de medicamente din farmacie, ci i fluidizarea acestuia i nregistrarea tuturor pailor, astfel nct n orice moment s existe copii de siguran, n special dup facturile de intrare i de ieire. i desigur, a fost dorit o interfa cu aspect plcut, profesionist chiar, care s arate faptul c programele moderne pot mbina cu succes utilul cu plcutul. Din punctul de vedere al etapelor n care a fost realizat, prima a fost desigur etapa de proiectare, pe parcursul creia au fost stabilite elementele care vor fi coninute obligatoriu de baza de date, funciile bazei de date i elementele necesare ndeplinirii lor (funcii alese din punct de vedere ct mai practic cu putin), i interfaa cu care va lucra virtualul utilizator al respectivei baze de date.

Baza de date are la baz cinci tabele i anume:

furnizori: cod_furnizor, denumire, adresa, nr_telefon intrari: nr_intrare, data_intrarii, cod_furnizor medicamente: cod_medicament, denumire, cantitate, pret_unitar, valoare, valoare_TVA, valoare_totala, nr_intrare, data_intrarii, valabilitate, pret_vanzare arhiva vanzari: numar_v, cod_medicament, denumire, factura, cantitate, pret_unitar_v, valoare_v, valoare_TVA_v, valoare_totala_v, valoare_compensare, pret_facturat, data_facturii vanzari: factura, data_facturii Tabelele au fost trecute n ordinea n care sunt i legate, cmpurile scrise cu litere ngroate reprezentnd cheile primare, iar cele scrise cu litere cursive reprezentnd cheile strine. n tabelele intrari i vanazari cheile primare sunt formate din cte dou cmpuri, astfel nct s nu fie obinute nregistrri neindividualizate, dar i pentru ca datele completate n formulare s fie completate automat i n sub-formulare, deci i n tabelele medicamente, respectiv arhiva vanzari (n felul acesta utilizatorul nu este obligat s introduc de la tastatur de fiecare dat aceleai informaii, cum ar fi data facturii sau numrul acesteia). Dup ce toate tabelele au fost create, s-a trecut la construirea interogrilor i a rapoartelor i abia dup aceea a formularelor, avndu-se n vedere scopul ca baza de date s poat fi utilizat n ntregime numai prin intermediul acestora. Lista interogrilor utilizate de baza de date, tipul lor i funcia pe care o au: cautare_medicament (select query): afieaz toate datele referitoare la medicamentul a crui denumire este introdus de la tastatur, avnd parametru n cmpul denumire. Se bazeaz pe tabelul medicamente. factura intrare (select query): afieaz toate datele referitoare la medicamentele aflate pe o anumit factur de intrare, al crei numr este introdus de la tastatur, cerut de un parametru din cmpul nr_intrare. Se bazeaz pe tabelele medicamente i intrari eliminare intrari goale (delete query): terge din tabelul medicamente nregistrrile care au n cmpul cantitate valoarea zero. Se bazeaz pe tabelul medicamente. cautare vanzari (select query): afieaz toate datele referitoare la medicamentele aflate pe o anumit factur de ieire, al crei numr este introdus de la tastatur, cerut de un parametru din cmpul factura. Se bazeaz pe tabelele arhiva vanzari i vanzari intrari goale (select query): afieaz toate nregistrrile din tabelul medicamente, care au n cmpul cantitate valoarea zero. Se bazeaz pe tabelul medicamente. pericol expirare (select query): afieaz toate nregistrrile din tabelul medicamente care au proprietatea c se refer la medicamente care mai au o lun pn cnd expir. Se bazeaz pe tabelul medicamente. pret (select query): afieaz preul de vnzare, codul i cantitatea disponibil dintr-un medicament a crui denumire este introdus de la tastatur, cerut de un parametru n cmpul denumire. Se bazeaz pe tabelul medicamente. stergere (delete query): terge nregistrrile din tabelul medicamente care au proprietatea c se refer la medicamente care deja au expirat. Se bazeaz pe tabelul medicamente. test_valabilitate (select query): afieaz nregistrrile din tabelul medicamente care au proprietatea c fac referire la medicamente care deja au expirat. Se bazeaz pe tabelul medicamente. update (update query): scoate din stoc cantitatea de medicamente vndute scznd din cmpul cantitate aflat n tabelul medicamente valoarea care se afl n cmpul cantitate din tabelul arhiva vanzari. Se bazeaz pe tabelele arhiva vanzari i medicamente.

Figura 64. Tabul Queries i toate interogrile utilizate de baza de date OvyFarm.

Rapoartele care se regsesc n program au att rolul de a pregti datele pentru imprimare ntr-un format adecvat, ci i rolul de a servi drept mijloace de informare i pentru a calcula valorile facturilor de intrare i de ieire. Rapoartele utilizate sunt: factura intrare1: strnge datele de pe factura de intrare cu numrul specificat de la tastatur nainte de deschidere i calculeaz valoarea sa total. Se bazeaz pe interogarea factura intrare. cautare_vanzari: strnge datele de pe factura de ieire cu numrul specificat de la tastatur nainte de deschidere i calculeaz valoarea sa total. Se bazeaz pe interogarea cautare vanzari medicamente: afieaz toate medicamentele care se afl la momentul apelrii n stoc. Se bazeaz pe tabelul medicamente.

Din moment ce toate interogrile i rapoartele au fost fcute, s-a putut trece la formulare. n primul rnd au fost create formularele principale: furnizori, intrri (mpreun cu sub-formularul medicamente), medicamente i vnzri (mpreuna cu sub-formularul arhiva vanzari). Dup aceea au fost create formularele secundare i anume formularele care in loc de pagini de ajutor. La final a fost creat pagina principal, care s lege totul la un loc.

Figura 65. Interogarea test_valabilitate n Design view..

Figura 66. Tabul Reports i rapoartele utilizate de baza de date OvyFarm

Figura 67. Capul raportului medicamente, cu rubricile organizate n funcie de data de intrare n primul rnd i de numrul facturii de intrare n al doilea rnd.

Pagina de start (Figura 68). Este pagina principal a bazei de date. n cadrul acestui formular se gsesc un numr de 6 butoane de comand, fiecare dintre el avnd funcii diferite. Astfel :- butonul cumprri face legtur la formularul intrri, adic la cumprrile de de medicamente efectuate de ctre farmacie.n cadrul acestui formular vor putea fi vizualizate toate datele referitoare la intrrile de medicamente (cod medicament, cantitate, pret unitar etc.). - butonul afiare furnizori face legtura la formularul furnizori, n care vor fi afiate datele referitoare la furnizorii cu care farmacia OvyFarm are relaii contractuale.Aici vom afla codul furnizorului, denumirea, adresa dar i numrul de telefon.- butonul medicamente este butonul prin apelarea cruia suntem direcionai ctre formularul medicamente. n cadrul acestui formular vom afla toate informatiile necesare despre medicamente de la codul i denumirea lor, pn la durata de valabilitate i preul de vnzare.- butonul vanzari este un buton prin care se face legtura cu formularul vanzri, din care vor fi obinute date referitoare la vanzarile efectuate de ctre farmacia OvyFarm.- butonul ajutor este un buton prin intermediul cruia, utilizatorul ajunge prin accesarea lui la formularul de ajutor n care sunt oferite informaii cu privire la fiecare formular i la modul de utilizare al acestuia -butonul iesire este ultimul buton din formularul principal cu ajutorul cruia utilizatorul poate iei n totalitate din aplicaie.

Figura 68. Pagina de start.

Formularul furnizori (Figura 69).

Formularul furnizori are rolul de a facilita nregistrarea furnizorilor cu care are contracte farmacia i operaiile de ntreinere care trebuie fcute la acest nivel. Faciliti: adugarea unei noi nregistrri cutarea unui furnizor pe baz de parametri multiplii tergerea nregistrrii care este selectat buton de ieire din formular i ntoarcere la pagina de start buton care deschide o pagin de ajutor, care explic funciile formularului.

Figura 69.

Formularul intrari (Figura 70).

Formularul intrari reprezint soluia total de a introduce medicamente n stoc, prin cumprare. Prin intermediul sub-formularului medicamentele sunt adugate automat n stoc, iar rubricile nr_intrare i data_intrarii nu mai necesit completare. Faciliti: calcularea automat a valorilor din cmpurile valoare, valoare_TVA i valoare_total (prin intermediul procedurilor Visual Basic care se afl n spatele cmpurilor respective. pregtirea facturii de intrare pentru tiprire, prin apsarea butonului calculare. (este deschis raportul factura intrare1) tiprirea raportului pregtit adugarea unei noi nregistrri un link ctre tabelul medicamente pentru a avea acces direct la facilitile de acolo posibilitatea de a salva factura de intrare n format extern, astfel nct s existe copii de siguran (este apelat o comand de tip Macro : vezi figura 66). buton de ieire din formular i ntoarcere la pagina de start buton de deschidere a unei pagini de ajutor, care explic funciile formularului.

Figura 70.Formularul medicamente (Figura 71).

Figura 71.

Formularul medicamente este locul unde pot fi efectuate toate operaiile de ntreinere a bazei de date n ceea ce privete stocul de medicamente. O parte din facilitile acestui formular presupun operaii de tergere, ceea ce nseamn c lucrul cu el necesit un spor de atenie.

Faciliti: Grupul normal (dreapta). afiarea tuturor medicamentelor care se gsesc n stoc(este folosit raportul medicamente) afiarea tuturor medicamentelor din stoc care au denumirea introdus de utilizator de la tastatur (este folosit interogarea cautare medicament). cutarea unui anumit medicament n funcie de mai muli parametri Grupul special (stnga jos) gsirea medicamentelor care au expirat (este folosit interogarea test_valabilitate). gsirea medicamentelor care mai au o lun pn cnd expir (este folosit interogarea pericol_expirare) eliminarea din baza de date a intrrilor care fac referire la medicamente care nu mai exist n stoc (este folosit interogarea eliminare intrari goale). eliminarea din baza de date a intrrilor care fac referire la medicamente care nu mai sunt valabile (este folosit interogarea stergere) afiarea nregistrrilor din baza de date care fac referire la medicamente care nu mai exist n stoc (este folosit interogarea intrari goale). posibilitatea de a schimba preul de vnzare al unui medicament n funcie de fluctuaiile pieei. Csua este situat separat de restul detaliilor medicamentelor din stoc. buton de ieire din formular i revenire la pagina de start buton de deschidere a unei pagini de ajutor, care explic funciile formularului

Este posibil ca intrrile care fac referire la medicamente care nu mai exist n stoc s fie necesare mai trziu, deci intrrile goale nu ar trebui terse imediat ce un medicament a fost epuizat din stoc. Pe de alt parte, dup o anumit perioad de timp (o dat pe zi, o dat pe sptmn, n nici un caz mai rar) acestea trebuie terse pentru a nu ngreuna funcionarea bazei de date n mod inutil. Formularul vanzari (Figura 72). Formularul vanzari reprezint soluia total de a scoate medicamente n stoc, prin vnzare. Prin intermediul sub-formularului medicamentele vndute sunt adugate automat n tabelul arhiva vanzari, iar rubricile nr_intrare i data_intrarii nu mai necesit completare. Medicamentele nu sunt scoase direct din stoc, ci prin intermediul arhivei de vzri

Figura 72. Faciliti: calcularea automat a valorilor din cmpurile valoare_v, valoare_TVA_v, valoare_totala_v, pret_facturat (prin intermediul procedurilor Visual Basic care se afl n spatele cmpurilor respective). afiarea datelor necesare n vederea vnzrii despre medicamentele solicitate (butonul preturi vanzare, este folosit interogarea pret). pregtirea facturii de ieire pentru tiprire, prin apsarea butonului calculare. (este deschis raportul cautare_vanzari). afiarea tuturor intrrilor care au n cmpul denumire valoarea introdus de la tastatur (este folosit interogarea cautare_medicament). link ctre formularul medicamente, pentru a avea acces direct la anumite funcii de ntreinere (de exemplu verificarea strii de valabilitate a unui medicament). adugarea unei noi nregistrri. posibilitatea de a salva factura de ieire n format extern, pentru a avea o copie de siguran (este apelat o comand de tip Macro, vezi figura 76). scoaterea din stoc a medicamentelor trecute pe factura de ieire (este apelat o comand de tip Macro, care deschide interogarea update. buton de ieire din formular i revenire la pagina de start. buton de deschidere a unei pagini de ajutor, care explic funciile formularului.

La scoaterea medicamentelor din stoc utilizatorul trebuie s fie foarte atent c datele din factur sunt corecte. n cazul n care se ncearc scoaterea din stoc a mai multor medicamente dect exist, atunci procedura de scoatere va fi ntrerupt. De asemenea, scoaterea medicamentelor din stoc trebuie efectuat o singur dat pentru fiecare factur n parte.

Figura 73. Principala pagin de ajutor, care este deschis din pagina de start. Conine link-uri ctre toate cele patru pagini de ajutor ale formularelor principale.

Formularul HELP_principalEste un formular care are rolul de a uura utilizarea acestei baze de date pentru acele persoane care utilizeaz pentru prima oara acest program. In cadrul acestui formular se gsesc un numar de cinci butoane, astfel: butonul afiare furnizori care ne va direciona ctre formularul hlp_furnizori, i cu ajutorul cruia vom nva s utilizm cu uurin formularul furnizori. Aici sunt date toate informaiile i indicaiile necesare pentru utilizarea acestui formular; butonul cumprri, ne va duce la formularul hlp_intrri unde vom fi ndrumai cum sa-l utilizm; butonul medicamente,care face legtura la formularul hlp_medicamente; butonul vnzri cu ajutorul cruia suntem direcionai ctre formularul hlp_vanzari.