Sunteți pe pagina 1din 30

Microsoft ACCES 2003

Introducere Microsoft Access 2003 este aplicaia de management al bazelor de date pus la dispoziie de suita Microsoft Office. Spre deosebire de Excel, Access va permite s stocm i s administrm volume mari de date, organizate n uniti numite nregistrri. O baz de date Access const din urmtoarele obiecte: Tabele conin toate nregistrrile Interogri localizeaz nregistrri specifice Formulare afieaz nregistrrile din tabele, una cte una Rapoarte tipresc loturi de nregistrri Pagini de acces la date pun la dispoziie date prin intermediul paginilor Web Macrocomenzi aciuni automate uzuale Module stocheaz declaraii si proceduri Visual Basic, care ne permit s scriem programe pentru bazele de date, astfel nct acestea s poat interaciona cu alt software.

Utilitarele de asisten din aplicaia Access asigur un proces simplu, pas cu pas, de configurare a tabelelor, formularelor, paginilor de acces la date, rapoartelor i interogrilor. Prezenta lucrare conine 5 paragrafe. 1 conine noiuni de baze de date,tipuri BD. O baz de date (BD) reprezint o colecie de date integrat, anume structurat i dotat cu o descriere a structurii i a relaiilor dintre date. 2 conine caracteristica general a SGBD Access. 3 conine tabelele Access ,care n baza lor se definesc celelalte clase de obiecte. 4 conine funcii Access. Ultimul conine interogri Access care include i subpunctele interogri de selecie,de sortare, de actualizare a datelor,de excludere a nregistrrilor, de grupare i totalizare i interogri ncruciate.

CUPRINS ......................................................................................................................................................2 .1 Noiune de baz de date.Tipuri de BD.....................................................................2 . 2 SGBD Access. Caracteristica general..........................................................3 .3 Tabele Access......................................................................................7 4.Funcii Access................................................................................................15 5. Interogri Access..........................................................................................17 5.1Interogri de selecie a nregistrrilor(Select Query

.1

Noiune de baz de date.Tipuri de BD.

Printre multiplele forme de organizare a datelor, bazele de date ocup un loc aparte. O baz de date (BD) reprezint o colecie de date integrat, anume structurat i dotat cu o descriere a structurii i a relaiilor dintre date. n funcie de modul de organizare a informaiilor, se cunosc cteva modele de BD: ierarhic (arborescent), reea, relaional .a. Modelul ierarhic.Cu ajutorul modelului conceptual ierarhic, schema bazei de date poate fi reprezentat sub forma unui arbore n care nodurile exprim colecii de date, iar ramurile reflect relaiile de asociere ntre nregistrrile coleciilor de date superioare i inferioare. Accesul la nregistrrile coleciilor de date inferioare se face prin traversarea arborelui, adic se parcurg toate coleciile aflate n subordonare ierarhic dintre colecia rdcin i colecia cercetat. Unui element superior i pot corespunde unul sau mai multe elemente inferioare, iar unui element inferior i corespunde un singur element superior. Modelul reea. Modelul reea se aseamn cu cel ierarhic, diferena constnd n aceea c unui element inferior i pot corespunde unul sau mai multe elemente superioare. Modelul relaional. Modelul relaional este n prezent cel mai rspndit model de baze de date. Acest model are o singur structur de date: relaia sau tabelul. O baz de date relaional este un ansamblu de relaii (tabele) grupate n jurul unui subiect bine definit. Deci, o relaie poate fi redat printr-un tabel, n care fiecare rnd reprezint o nregistrare diferit, iar fiecare coloan un atribut. Coloanele tabelului sunt identificate prin nume diferite i reprezint cmpurile (atributele, caracteristicile) modelului conceptual. n fiecare coloan datele trebuie s fie de acelai tip. Cutarea n acest model de BD se face secvenial toate articolele i comparnd criteriile de cutare. Articolele ce satisfac conditiei cutrii se selecteaz i pot fi afiate. Subiectele pe care se axeaz tabelele unei BD pot fi cele mai diverse: activitatea unei firme, stocarea mrfurilor la un depozit, rezultatele unui recensmnt,etc. Dei n modelul relaional principala structur de date o reprezint tabelul, o baz de date este mai mult dect o simpl mulime de tabele.Pe parcurs vom vedea c ntre tabelele bazei de date exist o interdependen strns, n timp ce ntre tabelele de calcul obinuite aceast interdependen practic lipsete. Gestiunea bazelor de date. Sistemul de gestiune a bazelor de date (SGBD) este acel sistem de programe care faciliteaz i supervizeaz introducerea de informaii n baza de date, actualizarea i extragera din baz, controlul i autorizarea accesului la date. Un sistem de gestiune a bazelor de date trebuie s fie capabil s ndeplineasc urmtoarele funcii:

de descriere ,care rezid n definirea structuriidatelor, a relaiilor dintre acestea i a condiilor de acces la informaile coninute n baza de date; de actualizare, care presupune inserarea, redactarea i suprimarea datelor; de interogare a BD, care permite obinerea diferitor informaii din BD conform unor criterii de cutare; de obinere de date noi, care const n prelucrarea informaiei iniiale n scopul obinerii unor totaluri, medii etc.; de ntreinere, care const n crearea copiilor de rezerv, compactarea BD i repararea ei n cazul deteriorrii; de securitate a datelor, care rezid n protejarea BD mpotriva accesului neautorizat i n atribuirea drepturilor de acces.

Administrarea bazelor de date. Administrarea BD presupune coordonarea lucrrilor de proiectare a BD, protecia (securitatea) informaiei, dezvoltarea BD,etc. Aceste funcii le ndeplinete Administatorul Bazei de Date (ABD). El definete obiectele sistemului , elaboreaz principiile de protecie a datelor, rspunde de alegerea i implimentarea SGBD, asigur funcionarea normal a sistemului.

. 2 SGBD Access. Caracteristica general La nceputul anilor 80 s-a produs o trecere n mas la elaborarea i utilizarea sistemelor de gestiune a bazelor de date de tip relaional.Acest fenomen se explic prin atingerea unor limite tehnice i prin flexibilitatea redus a sistemelor de gestiune a bazelor de date cu structuri arborescente i reea care se foloseau pn atunci .nzestrate cu limbaje de generaia a patra i cu generatoare de aplicaii puternice , SGBD de tip relaional ofer numeroase faciliti de proiectare i dezvoltare a aplicailor .Cele mai rspndite SGBD de acest tip sunt: Oracle, Informix, SyBase, MySQL, Interbase, Access, acesta din urm fiind subiectul capitolului de fa. Sistemul de gestiune a bazelor de date MS Access 2003 (i versiunile care l-au precedat) a fost realizat de corporaia Microsoft i reprezint o nou ideologie n acest domeniu, avnd performane sporite. Lansarea sistemului MS Access 2003 SGBD MS Access funcioneaz numai n mediul Windows. Exist mai multe modaliti de lansare a sistemului Access, una din ele fiind executarea consecutiv a aciunilor Start/All Programs(sau Programs)/Microsoft Office/Microsoft Office Access 2003. Ca rezultat, obinem o fereastr, asemntoare cu cea din figura 1.

Figura 1. Lansarea sistemului Access Crearea / accesarea unei baze de date Dup cum am mai menionat, elementele principale ale unei baze de date sunt tabelele. Dar o baz de date poate conine i alte elemente care se creeaz pe baza tabelelor (interogri, formulare, rapoarte etc.). Aceste elemente, mpreun cu tabelele, formeaz aa-numitele clase de obiecte ale bazei de date. Pentru a crea o baz de date nou, n zona Open a ferestrei reprezentate n figura 1 alegem opiunea Create a new file, iar n caseta urmatoare - opiunea Blank Database. Putem, de asemenea, utiliza comenzile de creare/accesare a bazelor de date din meniul File.

Figura .2 Pentru a deschide o baz de date existent n zona Open a ferestrei reprezentate n figura 1 executm un clic pe denumirea uneia din bazele de date utilizate recent sau selectm opiunea

More pentru a accesa o baz de date amplasat pe un dispozitiv de memorie auxiliar. n caseta de dialog care apare indicm numele BD

Figura.3 (de ex., BIBL) i localizarea ei (discul, dosarul).Obinem o fereastr n care sunt disponibile cele 7 clase de obiecte Access.

Figura. 4 Fereastra cu clasele de obiecte Access nchiderea / redeschiderea bazei de date nchiderea unei baze de date poate fi fcut prin executarea comenzii Close din meniul File sau prin acionarea butonului din bara de titlu a bazei de date. De regul, la nchidere, sistemul salveaz automat baza de date mpreun cu toate obiectele pe care le conine. nchiderea unei baze de date nu nseamn i nchiderea aplicaiei MS Access, astfel nct putem deschide o alt de date sau crea o baz de date nou, n modul descris mai sus. Ieirea din Access Ieirea din MS Access poate fi fcut n unul din urmtoarele moduri: se apas combinaia de taste Alt+F4; se execut comanda Exit din meniul File;

se acioneaz butonul

din bara de titlu a aplicaiei

.3 Tabele Access. Crearea unui tabel Dup ce am deschis o baz de date , eveniment confirmat prin apariia ferestrei cu cele 7 clase de obiecte (fig.4) , putem crea diferite obiecte n oricare din clasele nominalizate. Dar deoarece fiecare din clasele Queries, Forms, Reports, Pages, Macros i Modules se definesc n baza tabelelor, acestea (tabelele) trebuie create n primul rnd. Cu alte cuvinte, dac o BD nu conine cel puin un tabel, crearea altor clase de obiecte devine lipsit de sens. Pentru a crea un tabel nou ,de exemplu, Comenzi, selectm clasa de obiecte Tables, apoi acionm butonul . Caseta de dialog New Table care apare (fig.5) ne ofer 5 moduri de definire a structurii tabelului.

Figura.5 Moduri de definire a structurii unui tabel Dac selectm opiunea Design View i acionm butonul OK, obinem o fereastr (fig.6) n care definim cmpurile tabelului i caracteristicile lor.

fig.6.Definirea cmpurilor tabelului Comenzi

Caracteristicile cmpurilor Pentru fiecare cmp al tabelului se specific 3 caracteristici, i anume: Field Name (denumirea cmpului, obligatoriu); Data Type (tipul cmpului, obligatoriu); Description (descrierea cmpului, opional). Pentru comoditate, denumirile cmpurilor se introduc pe vertical, urmnd ca n regimul de introducere a datelor Datasheet View denumirile cmpurilor s-i ocupe poziiile obinuite (pe orizontal). Regimul Design View nu permite introducerea nregistrrilor n tabel, ci doar descrierea cmpurilor care alctuiesc tabelul. Denumirea cmpului poate conine diferite caractere, inclusiv spaii, cu excepia unor semne speciale ( ".", "!" .a.). n caz de necesitate, denumirea poate conine semnul "_" (subliniere). Lungimea denumirii cmpului (mpreun cu spaiile) nu poate depi 64 de caractere. Exemple: autorul;Id_ rii; locul_ de_ munc; LoculDeMunc; Locul de Munc. Tipul cmpului poate fi unul din urmtoarele: Text - pentru texte sau numere care nu vor fi folosite n calcule; Memo - pentru texte lungi (biografia autorului, rezumatul crii etc.). Number - pentru numere care vor fi folosite n calcule; Date/Time - pentru date calendaristice; Currency - pentru valori bneti; AutoNumber - pentru numere ntregi care i mresc n mod automat valorile (numrul de ordine, de exemplu); Yes/No - pentru valori logice care pot lua numai dou valori: Yes (adevr), No (fals); OLE Object - pentru imagini (fotografia autorului), sunete (imnul rii). Hyperlink - pentru adrese Hyperlink. Valorile acestui cmp pot fi adrese Internet (de exemplu, www.google.com) sau locaii (calea spre un fiier sau dosar din calculator) Lookup Wizard - reprezint, de fapt, nu un tip de date, ci o proprietate a cmpului prin care valorile lui pot fi selectate din alt tabel. Acest mod de abordare simplific procedura introducerii valorilor cmpului i, n plus reduce riscul comiterii unor erori. Pentru a schimba tipul cmpului (implicit tipul este Text), trecem n coloana Data Type (fig.6) i din lista derulant alegem tipul dorit. Apoi trecem (dac e cazul) n coloana Description, pentru a introduce note explicative, sau n rndul urmtor, pentru descrierea altui cmp. Stabilirea cheilor primare Dac valorile unui cmp sunt unice (nu se repet), putem semnala acest lucru, pentru a evita introducerea accidental a dou valori identice. Aceast procedur poart denumirea de stabilire a cheii primare, n cazul tabelului CITITORI, cheia primar poate fi stabilit pe cmpul IdCarte, pentru a exclude eventualitatea repetrii identificatorului crii (n bibliotec nu pot exista dou cri cu acelai identificator). Cheia primar poate fi stabilit i pe cteva cmpuri. Pentru a stabili cheia primar, selectm cmpul respectiv, apoi executm un clic pe butonul din bara cu instrumente. Ca rezultat, n partea din stnga a cmpului respectiv apare semnul cheii (vezi fig. 6). Dup ncheierea procedurii de descriere a cmpurilor i de stabilire a cheii primare, salvm tabelul (descrierea lui), selectnd comanda Save din meniul File i indicnd numele tabelului. Dac nu am stabilit o cheie primar (acest lucru nu este obligatoriu), sistemul ne va avertiza, sugerndu-ne stabilirea cheii pe un cmp de tip AutoNumber. Pentru a confirma, acionm butonul Yes. n acest caz sistemul stabilete automat cheia primar pe un cmp AutoNumber (dac el exist) sau creeaz suplimentar un asemenea cmp (dac el nu exist), stabilind pe el cheia primar. Pentru a renuna la stabilirea cheii primare, acionm butonul No. Proprietile cmpurilor n afar de tipul cmpului, putem stabili i unele proprieti ale sale, cum ar fi mrimea (lungimea), numrul cifrelor zecimale, formatul datei calendaristice etc. Fiecare tip de date are

proprieti prestabilite, dar ele pot fi modificate, executnd un clic pe cmpul respectiv (fig. 6, partea de sus) i modificnd valorile prestabilite care apar n partea de jos. Cmpurile de tip Text pot avea lungimi cuprinse ntre l i 255 de caractere. Implicit, mrimea cmpului este de 50, dar ea poate fi modificat n limitele amintite, n funcie de lungimea maxim preconizat a valorilor cmpului respectiv. Astfel, pentru IdCarte (identificatorul crii), modificm mrimea cmpului din 50 (valoarea prestabilit) n 8 (valoarea necesar). La fel procedm i cu caracteristicile altor cmpuri. Menionm i cu aceast ocazie, c pentru cmpurile ce conin numai valori numerice (identificatori numerici), care nu vor fi folosite n calcule, vom prefera tipul Text n locul tipului Number. Acest mod de abordare va facilita ulterior cutarea informaiei n baza de date. Cmpurile de tip Number au lungimi diferite n funcie de opiunea specificat pentru proprietatea Field Size. Opiunea implicit pentru cmpurile de tip Number este, de regul, Single, dar ea poate fi modificat, utiliznd comanda Options din meniul Tools. Pentru cmpurile de tip Number poate fi stabilit i proprietatea Format, n care specificm modul de afiare a valorilor (numrul cifrelor zecimale etc.). Cmpurile de t ip Date/Time au lungimi variabile n funcie de formatul datei/orei specificat pentru proprietatea Format a cmpului. De altfel, formatul de reprezentare a datelor calendaristice, la fel ca i delimitatorii dintre dat, lun i an, pot s difere de cele utilizate n aceast lucrare. Reprezentarea datelor ine de modul n care a fost personalizat sistemul Windows. Pentru a schimba formatul de reprezentare a datelor calendaristice (dar i a orei, a numerelor i a valutei), este necesar de a efectua setrile respective, utiliznd aplicaia Regional Options din meniul Control Panel al meniului de baz Start. Remarc: Dac anul este indicat cu 2 cifre, Access l interpreteaz astfel: pentru valorile din intervalul 00-29 se subnelege anii 2000-2029; pentru valorile din intervalul 30-99 se subnelege anii 1930-1999. Cmpurile de tip logic (Yes/No) ocup n memoria calculatorului un octet i pot fi reprezentate n 4 moduri, n funcie de opiunea specificat pentru proprietatea Format a acestui cmp, i anume: Yes/No, True/False, On/Off, -1/0. n ultimul caz valoarea - l corespunde strii True (adevr), iar valoarea 0 - strii False (fals). Specificarea valorilor prestabilite Dac o bun parte din valorile unui cmp se repet frecvent (de exemplu, n cazul cnd majoritatea cititorilor au studii superioare), putem specifica o valoare prestabilit (implicit) a cmpului respectiv. Valoarea prestabilit (n cazul nostru "super") se specific pentru proprietatea Default Value a cmpului. In procesul introducerii datelor sistemul atribuie cmpului valoarea prestabilit n mod automat, utilizatorul urmnd s modifice doar valorile care difer de cea prestabilit. Stabilirea unor condiii de validare Pentru a diminua riscul introducerii unor valori greite, putem stabili condiii (reguli) de validare pentru valorile cmpurilor respective. Regulile de validare se stabilesc pentru proprietatea Validation Rule a cmpului. Totodat, pentru proprietatea Validation Text se specific mesajul care trebuie s fie afiat n cazul nerespectrii regulii. Astfel, dac se tie c preul crilor nu depete valoarea 200, specificm pentru proprietatea Validation Rule a cmpului Pre condiia <=200, iar pentru proprietatea Validation Text -mesajul "Preul crii nu poate fi mai mare de 200 de lei. Reintroducei preul crii. La fel, data mprumutului/restituirii crii nu poate depi data curent, astfel c pentru cmpurile DataImpr i DataRestit putem stabili condiia <=Date() pentru proprietatea Validation Rule. Mesajul specificat pentru proprietatea Validation Text va fi i el adecvat. In fiecare din situaiile descrise vor fi afiate mesajele respective n cazul introducerii unor valori care nu corespund condiiilor de validare stabilite n procesul definirii cmpurilor. Modificarea descrierii unui tabel

n cazul cnd apare necesitatea modificrii descrierii iniiale a unui tabel (adugarea sau excluderea unuia sau mai multor cmpuri, schimbarea ordinii, modificarea unor caracteristici etc), deschidem tabelul respectiv n regimul Design View i efectum modificrile necesare dup cum urmeaz (n orice consecutivitate): a) Modificarea denumirii cmpului. Executm un clic pe denumirea cmpului i efectum schimbrile necesare. b) Adugarea unui cmp. Marcm cmpul, naintea cruia trebuie inserat noul cmp. Pentru aceasta executm un clic n partea stng a rndului respectiv, acesta schimbndu-i culoarea. Apoi executm comanda Insert Row din meniul Edit. c) Excluderea unui cmp. Marcm cmpul ca n cazul precedent, apoi apsm tasta Delete. Confirmm aciunea prin OK. d) Schimbarea ordinii (deplasarea) cmpurilor. Marcm cmpul care urmeaz a fi deplasat, apoi, innd apsat butonul stng al mouse-ului, deplasm cmpul dat peste cmpul, naintea cruia dorim s fie situat. e) Schimbarea caracteristicilor. Executm un clic pe rndul n care este definit cmpul, apoi stabilim caracteristicile cmpului n modul descris n paragrafele precedente. n cazul n care n tabel au fost introduse date,modificarea caracteristicilor cmpurilor tabelului poate implica denaturarea informaiei. Astfel, dac micorm lungimea unui cmp de tip Text, este posibil trunchierea (din dreapta) a datelor. Modificarea tipului cmpului poate avea, de asemenea, consecine nedorite. Din aceast cauz ne vom strdui s definitivm proprietile cmpurilor nainte de a introduce valori n tabel. f) Adugarea sau anularea unei chei primare. n caz de necesitate, putem aduga sau anula una sau mai multe chei primare. Pentru a schimba cheia primar de pe un cmp pe altul, selectm cmpul nou, apoi acionm butonul din bara cu instrumente. Pentru a stabili cheia primar pe cteva cmpuri , le selectm, apoi acionm acelai buton. Pentru a anula una sau mai multe chei primare, executm comanda Indexes din meniul View, apoi n caseta care se deschide selectm cmpurile respective i apsm tasta Delete. Dup efectuarea modificrilor, salvm tabelul cu Save As sau Save din meniul File. Introducerea datelor n tabel Dup ce am efectuat procedurile de descriere a tabelului , putem introduce date n cmpurile lui. Pentru a iniia procesul de introducere a datelor , deschidem BD (dac nu este deschis) , apoi n fereastra Database (fig.4) selectm tabelul necesar (de exemplu Cititori) i executm un clic pe Open. Ca rezultat, se afieaz cmpurile tabelului respectiv fig.7(iniial tabelul conine doar un rnd liber).

fig.7 Introducerea i modificarea datelor n tabel

Nu este absolut obligatoriu s completm toate cmpurile; astfel dac anumite date nu snt deocamdat cunoscute, introducerea lor poate fi amnat. Excepie fac cmpurile pentru care au fost stabilite chei primare. Aceste cmpuri nu pot avea valori nule, de aceea valorile lor trebuie introduse n mod obligatoriu. Ordinea introducerii datelor poate fi i ea oricare. Dac a fost stabilit o cheie primar , la o nou deschidere a tabelului nregistrrile vor fi afiate n ordinea cresctoare a valorilor cmpului respectiv. Datorit acestui fapt, orice nregistrare nou se adaug la sfritul tabelului, avnd certitudinea c ulterior ea va fi plasat n locul corespunztor. Dup terminarea introducerii datelor nchidem tabelul, acionnd butonul sau executnd comanda Close din meniul File (modificrile efectuate se salveaz automat). Remarc: Tipul i caracteristicile datelor introduse trebuie s corespund ntocmai tipului i caracteristicilor cmpurilor respective definite n procesul crerii (descrierii) tabelului. Redactarea datelor Dac apare necesitatea modificrii (editrii) nregistrrilor unui tabel, deschidem tabelul n regimul Datasheet View, acionnd butonul Open din fereastra Database (sau executnd un dubluclic pe numele tabelului). Ca rezultat, obinem tabelul cu coninutul precedent, coninut pe care-1 putem modifica la dorin. Modificrile pot fi cele mai diverse: nlocuirea datelor existente, completarea unor cmpuri, ale cror valori nu erau cunoscute anterior, adugarea unor nregistrri noi, tergerea unor nregistrri, copierea unor valori etc. Majoritatea acestor modificri se efectueaz prin simpla deplasare n cmpul i rndul necesar i prin nlocuirea coninutului vechi prin altul nou. Menionm, c semnul indic rndul curent, iar atunci cnd iniiem procedura se modificare a nregistrrii, acest semn este nlocuit cu ultimul fiind prezent pn la trecerea la o alt nregistrare. In cele ce urmeaz vom descrie cteva proceduri de redactare a datelor. a) Adugarea unor nregistrri noi. nregistrrile noi sunt plasate la sfritul tabelului . b) Excluderea unor nregistrri. Pentru a terge una sau mai multe nregistrri consecutive, marcm aceste nregistrri prin glisarea ("tragerea") mouse-ului pe verticala din stnga tabelului, apoi apsm tasta Delete sau alegem comanda Delete din meniul Edit. Ni se va cere confirmarea aciunii, la care vom rspunde prin OK sau vom renuna prin Cancel. c) Copierea unor blocuri de date. Pentru a copia un bloc de date, marcm blocul, apoi acionm butonul Copy din bara cu instrumente. Ca rezultat, coninutul blocului se copie n memoria Clipboard. Din acest moment, coninutul memoriei Clipboard poate fi "lipit" oriunde. In acest scop marcm locul inserrii (bloculdestinaie) i acionm butonul Paste din bara cu instrumente. Remarc: Dimensiunile i caracteristicile blocului-destinaie trebuie s corespund ntocmai dimensiunilor i caracteristicilor blocului-surs. Modificrile efectuate n orice nregistrare a tabelului se salveaz n mod automat de fiecare dat cnd trecem la o alt nregistrare, sau la nchiderea tabelului. Aceasta nseamn c dup terminarea lucrului cu un tabel nu este neaprat nevoie s-1 salvm, sistemul o va face singur. Utilizatorul trebuie doar s aib grij s nchid tabelul n caz c nu-1 va mai utiliza. Dac, ns, am efectuat modificri ce i n de aspectul tabelului (limea coloanelor, ordinea lor etc.) i dorim ca aceste modificri s fie prezente la o nou deschidere, nainte de a nchide tabelul, l salvm cu comanda Save din meniul File. MS Access pstreaz informaia despre modificrile efectuate, ceea ce permite, n cazul cnd am greit, anularea modificrilor i revenirea la starea precedent. Pentru a anula modificrile din cmpul curent, apsm tasta Esc, iar pentru a anula modificrile din nregistrarea curent -apsm tasta Esc de dou ori. Pentru a anula modificrile din nregistrare dup ce s-a trecut la o nou nregistrare, executm comanda Undo Saved

Record din meniul Edit. Prin aceasta se revine la s i t u a i a anterioar aciunii greite (nedorite). Modificri ce nu afecteaz structura fundamental Pe lng modificrile care vizeaz structura unui tabel i coninutul lui, sunt posibile i modificri care schimb doar modul de prezentare a tabelului, fr a afecta structura lui fundamental. Aceste modificri i n de ordinea afirii cmpurilor (coloanelor), limea cmpurilor, nlimea rndurilor etc. a) Schimbarea ordinii afirii cmpurilor, n unele cazuri, este necesar de a schimba ordinea afirii cmpurilor, diferit de cea din descrierea fundamental, stabilit n regimul Design View. Pentru a reamplasa un cmp, l marcm, apoi, innd apsat butonul stng al mouse-ului, l deplasm n poziia dorit i eliberm butonul. Ca rezultat, cmpul deplasat nlocuiete cmpul peste care a fost suprapus, acesta din urm deplasndu-se la dreapta. n mod analog putem deplasa i alte cmpuri, astfel nct ordinea cmpurilor s devin cea dorit. Dar oricare ar fi modificrile efectuate n regimul Datasheet View (Foaie de date), ele nu afecteaz ordinea i caracteristicile cmpurilor stabilite n regimul Design View (Proiectare). b) Sortarea nregistrrilor. Pentru a obine o consecutivitate a nregistrrilor, diferit de cea existent, putem efectua o sortare (n ordine cresctoare sau descresctoare) dup valorile unui cmp al tabelului. Pentru aceasta plasm cursorul pe cmpul respectiv i acionm unul din butoanele sau . Dac la nchiderea tabelului aceast modificare nu se salveaz, la o nou deschidere a tabelului nregistrrile se vor afia n ordinea obinuit. Modul de sortare descris aici nu prevede sortri complexe, acestea putnd fi obinute n baza interogrilor . c) Modificarea limii coloanei unui cmp. In cazul cnd limea unui cmp nu corespunde lungimii datelor pe care le conine, putem schimba (mri, micora) limea lui. Pentru aceasta poziionm indicatorul mouse-ului pe l i n i a din partea dreapt a denumirii cmpului (forma indicatorului se schimb n sgeat dubl orizontal), apsm butonul stng al mouseului i, deplasndu-1 la stnga-la dreapta, micorm-mrim limea cmpului. Dac n poziia n care indicatorul mouse-ului ia forma menionat mai sus executm un dublu-clic, limea cmpului devine egal cu lungimea celei mai mari nscrieri a acestui cmp din partea vizibil a tabelului. Subliniem i cu aceast ocazie c aceste modificri nu schimb limea iniial a cmpului, stabilit n procesul descrierii lui n regimul Design View. d) Modificarea nlimii rndurilor. Pentru a modifica nlimea rndurilor, poziionm indicatorul pe linia ce desparte oricare dou rnduri (forma indicatorului se modific n sgeat dubl vertical), apsm butonul stng al mouse-ului i, deplasndu-1 n sus-n jos, micormmrim nlimea rndurilor (se modific simultan nlimea tuturor rndurilor, i nu doar a celui curent). Dac nu salvm tabelul cu Save din meniul File, modificrile descrise n a)-d) i pierd actualitatea, astfel nct, la o nou deschidere a tabelului, ordinea cmpurilor i a nregistrrilor, dimensiunile coloanelor i rndurilor vor rmne aceleai de pn la modificarea tabelului. Dac ns dup efectuarea modificrilor salvm tabelul, aceste modificri vor fi actuale la o nou deschidere a tabelului, dar i n acest caz ele nu afecteaz caracteristicile din descrierea lui iniial. Dup terminarea lucrului cu un tabel, l putem minimiza (n cazul cnd intenionm s-1 mai utilizm) sau nchide (n cazul cnd nu-1 vom mai utiliza). Deschiznd consecutiv cteva tabele i redimensionnd ferestrele respective, putem afia pe ecran mai multe tabele ale BD. nchiderea tabelului se face, dup cum am mai menionat, prin executarea comenzii Close din meniul File. Pentru a relua lucrul cu un tabel, l deschidem, acionnd butonul Open din fereastra Database (fig. 4). Relaii dintre tabele. Integritatea datelor Relaiile dintre dou tabele se stabilesc, de regul, prin intermediul unor cmpuri identice (cu aceeai denumire, de aceeai lungime, cu aceleai proprieti) prezente n ambele tabele.

n cazul relaiei de tipul unu la muli n tabelul primar (din partea cruia se realizeaz relaia "unu") trebuie s existe un cmp, numit cheie primar, n care nu se admit valori care se repet, iar n tabelul secundar (din partea cruia se realizeaz relaia "muli") trebuie s existe un cmp analogic cu cel din tabelul primar, numit cheie strin, care poate admite valori care se repet. Relaia muli la muli poate fi transformat n dou relaii de tipul unu la muli prin definirea unui tabel intermediar, n care se introduc, n calitate de chei strine, cheile primare ale primelor dou tabele. Astfel, pentru a evita relaia muli la muli dintre tabelele CRI i CITITORI, a fost definit tabelul COMENZI n care au fost incluse cmpurile IdCarte i IDCit din tabelele respective. Relaia de tipul unu la unu presupune existena n ambele tabele a unei chei primare cu aceleai caracteristici, n fond, dou tabele ntre care exist o relaie de tipul unu la unu pot fi oricnd unite ntr-un singur tabel; la fel, orice tabel poate fi divizat n dou sau mai multe tabele ntre care se stabilete o relaie de tipul unu la unu. Divizarea unui tabel n modul menionat mai sus poate fi util n cazul unui tabel cu un numr foarte mare de cmpuri (un tabel Access, de exemplu, nu poate conine mai mult de 255 de cmpuri), dar i n situaia cnd o parte din informaia care se refer la o entitate are un caracter confidenial, sau se utilizeaz foarte rar. n concluzie, dei relaiile de tipul unu la unu nu sunt caracteristice unei baze de date de tip relaional, totui n unele situaii acest tip de relaii este preferabil sau chiar necesar. Dac la proiectarea tabelelor inem cont de principiile expuse mai sus , atunci Access stabilete automat relaiile dintre tabelele care conin cmpuri comune. Totui putem stabili relaii ntre tabelele bazei de date i n mod explicit, utiliznd comanda Relationships din meniul Tools. n acest caz apare

fig.8 Relaiile dintre tabelele bazei de date BIBL o fereastr (fig.8) n care indicm tabelele ntre care se stabilesc relaii, apoi, mouse-ului, trasm legturile ntre cmpurile respective. Dac unul din cmpurile de legtur este de tip cheie primar (el are o culoare mai pronunat), trasarea se face pornind de la acest cmp. T a b e l u l de la care se traseaz legtura se numete tabel primar (principal), i a r cellalt - secundar (subordonat). Ca rezultat, apare o caset de dialog (fig.9) cu ajutorul

fig.9 Stabilirea proprietilor relaiilor n care putem specifica proprietile relaiei (legturii). Pentru relaia dintre dou tabele pot fi stabilite urmtoarele proprieti: 1. Tipul relaiei (Relationship Type) poate fi stabilit ca unu la unu (one to one) sau unul la muli (one to many); 2. Impune integritatea referenial (Enforce Referential Integrity}. Includerea acestui parametru asigur integritatea datelor n procesul introducerii, modificrii sau tergerii nregistrrilor din tabelele legate. Acest lucru este posibil doar n cazul cnd cmpul din tabelul principal este de t i p cheie primar, iar cmpul de legtur din tabelul subordonat are acelai tip de date. Atunci cnd introducem date n cmpul de legtur al tabelului subordonat, sunt acceptate doar acele valori care se conin n cmpul respectiv al tabelului principal. De exemplu, dac nu exist un cititor cu identificatorul 0472 n tabelul CITITORI, sistemul nu va admite apariia acestui cod n cmpul respectiv al tabelului COMENZI. In acest caz este necesar s introducem mai nti datele despre cititorul n cauz n tabelul CITITORI, apoi s utilizm identificatorul cititorului n tabelul COMENZI. La fel, nu putem exclude o nregistrare din tabelul principal, dac valoarea cmpului de legtur a acestei nregistrri se conine n una sau mai multe nregistrri ale tabelului subordonat. 3. Modificarea n cascad a nregistrrilor (Cascade Update Related Fields). Dac acest parametru este inclus, sistemul va modifica toate valorile cmpului de legtur ale tabelului subordonat n cazul cnd valoarea cmpului respectiv al tabelului principal se modific. De exemplu, dac un cititor a pierdut carnetul de cititor cu numrul 0519 (identificatorul cititorului) i i se remite un nou carnet cu numrul 1465, aceast valoare trebuie s se modifice n toate nregistrrile tabelului COMENZI n care figureaz valoarea veche. In caz contrar, mprumuturile de cri fcute de cititorul cu identificatorul 0519 nu sunt valide, deoarece nu se cunoate nici o informaie despre cititorul n cauz. 4. Excluderea n cascad a nregistrrilor (Cascade Delete Related Records). Dac acest parametru este activ, atunci excluderea unei nregistrri din tabelul principal implic excluderea tuturor nregistrrilor din tabelul subordonat, n care valoarea cmpului de legtur coincide cu cea a cmpului respectiv din tabelul principal. De cele mai multe ori asemenea excluderi sunt fireti, deoarece existena unor nregistrri n tabelul subordonat, pentru care valoarea cmpului de legtur nu se conine i n tabelul principal, duce la pierderea integritii datelor. Toate raionamentele de mai sus in de integritatea datelor, asigurarea creia reprezint unul din principiile fundamentale ale proiectrii bazelor de date.

4.Funcii Access MS Access conine un set de funcii standard de cele mai diferite tipuri. Pentru descrierea lor vom folosi urmtoarele convenii: CmpNum - argument ce reprezint cmpuri de tip Number sau Currency; CmpText - argument ce reprezint cmpuri de tip Text; CmpDate - argument ce reprezint cmpuri de tip Date/Time; Cmp - argument ce reprezint cmpuri de orice tip; n,m - argumente ce reprezint numere naturale; i - argument ce reprezint numere ntregi; {} - argumentele incluse n paranteze figurate sunt opionale (neobligatorii); Argumentele funciei se pun ntre paranteze rotunde i se separ prin punct i virgul (uneori prin virgul). n cazul lipsei argumentelor, dup denumirea funciei se pun paranteze rotunde care nu conin n interior nimic. n cazul cnd argumentul funciei reprezint un cmp, numele cmpului se ia ntre paranteze ptrate []. Enumerm n cele ce urmeaz cteva dintre funciile sistemului Access: 1. Abs(CmpNum) - calculeaz valoarea absolut (modulul). 2. Avg(CmpNum) - calculeaz media aritmetic. 3. Sin(CmpNum) - calculeaz valoarea sinusului. 4. Exp(CmpNum) - calculeaz puterea numrului e. 5. Log(CmpNum) - calculeaz logaritmul natural. 6. Sqr(CmpNum) - calculeaz rdcina ptrat. 7. Int(CmpNum) - calculeaz partea ntreag. 8. Rnd(i) sau Rnd() - returneaz un numr aleator situat ntre 0 i 1. 9. Sum(CmpNum) - calculeaz suma. 10. Max(CmpNum)-calculeazvaloareamaxim l 1. Min(CmpNum) - calculeaz valoarea minim. 12. Var(CmpNum) - calculeaz variaia (dispersia). 13. Count(Cmp) - calculeaz numrul valorilor nenule. 14. Left(CmpText,n) - extrage primele n caractere (din stnga). 15. Right(CmpText,n) - extrage ultimele n caractere (din dreapta). 16. Len(CmpText) - calculeaz lungimea expresiei. 17. LTrim(CmpText} - lichideaz toate spaiile de debut (din fa). 18. RTrim(CmpText) - lichideaz toate spaiile (blancurile) de la sfrit.

19. Trim(CmpText) - lichideaz toate spaiile de debut i de la sfrit. 20. Mid(CmpText;n{;m}) - extrage primele m caractere, ncepnd cu al n-lea. n cazul cnd m lipsete - extrage toate caracterele, ncepnd cu al n-lea. 21. InStr({n;}Text,CmpText) calculeaz locul, ncepnd cu care valoarea Text se conine n ntregime n CmpText. Cutarea se face ncepnd cu poziia l (sau n, dac este specificat). 22. Date() - returneaz data curent. 23. Time() - returneaz ora curent. 24. Now() - returneaz data i ora curente. 25. Weekday(CmpDate) - calculeaz ziua sptmnii care corespunde datei. 26. Year(CmpDate) - extrage anul (cu 4 cifre). 27. DateAdd(Tip;i;CmpDate) - adun/scade la/din CmpDate i intervale de tipul dat (i poate lua i valori negative). "Tip " poate avea una din urmtoarele valori: "q"- trimestre; ex.: DateAdd("q";7;Date()) - peste 7 trimestre din ziua curent. "m" - luni; ex.: DateAdd("m ";-9;Date()) - cu 9 luni n urm fa de ziua curent. "d" - zile; mprumutului. "yyyy" - ani; curent, "ww" - sptmni; restituirii. "h" - ore; ex: DateAdd("ww";2;[DataRestit]) - peste 2 sptmni de la ex.: DateAdd("h";-27;Now()) - cu 27 de ore in urm. data ex.: DateAdd("d";25;[DataImpr]) - peste 25 de zile de la data ex.: DateAdd("yyyy";-4;Date()) - cu 4 ani n urm de la data

Remarc: Funciile descrise mai sus pot fi utilizate numai n interogri, formulare, rapoarte i n limbajul de programare Visual Basic for Applications.

5. Interogri Access Performanele unui SGBD depind n mare msur de capacitatea extragerii rapide a diferitor informaii n forma dorit. n multe cazuri este necesar de a selecta date din mai multe tabele simultan. De exemplu, pentru a selecta crile din domeniul informaticii editate n Frana dup anul 2001, utilizm 3 tabele: CRI, RI i TEMATICI. Pentru a formula condiii de selecie, n MS Access exista o clas special de obiecte (alturi de tabel )numite Interogri (engl. Queries). Sinonime: Interogri - Cereri - Interpelri. Interogrile reprezint modaliti de selecie i afiare a informaie din unu sau mai multe tabele, formulate cu ajutorul unor condiii logice. Tipuri de interogri n funcie de modul de definire i rezultatele aciunii, interogrile pot fi clasificate astfel: a) interogri de selecie (folosind condiii logice); b) interogri de sortare (indicnd cmpul/cmpurile i ordinea sortrii); c) interogri de excludere a unor nregistrri din BD (de exemplu, excluderea tuturor cititorilor care nu au mprumutat cri n ultimii 2 ani); d) interogri de modificare a unor nregistrri din BD (de exemplu, majorarea preurilor tuturor crilor cu 20%); e) interogri de obinerea a unor informaii rezultante (n cmpuri noi) n baza informaiei existente (de exemplu, obinerea vrstei cititorului prin scderea anului de natere din anul curent); f) interogri de obinere a unor totaluri, medii etc.; g) interogri ncruciate. n toate cazurile, cu excepia ultimelor dou, rezultatul interogrii este un nou set de date, numit set dinamic (engl: Dynaset). Setul dinamic (rezultalul interogrii) conine doar cmpurile specificate ale nregistrrilor din tabelele specificate care satisfac condiiilor specificate. Denumirea '"Set dinamic" este legat de faptul c orice modificri ale datelor din tabelele specificate n interogare implic modificri respective ale rezultatului interogrii (la o nou executare a ei). i invers, orice modificri n setul dinamic implic modificri n tabelele respective (cu condiia respectrii integritii datelor). Seturile dinamice nu se memorizeaz; ele se formeaz din nou de fiecare dat cnd executm o interogare. Dac n tabelele BD intervin modificri, rezultatele executrii a dou interogri identice pot fi diferite, n cele ce urmeaz vom descrie modalitile de definire i executare a interogrilor nominalizate.

5.1 Interogri de selecie a nregistrrilor(Select Query) Exemplu:1 Pentru a defini o interogare de selecie (de exemplu, afiarea emisiunilor cu desene animate), acionm fila Queries din fereastra Database (fig. 10), apoi butonul New.

fig.10 Fereastra cu clasele de obiecte Access n continuare indicm unul din cele 5 moduri de creare a interogrilor (n cazul nostru Design View) Din caseta care apare (fig. 11) selectm consecutiv (n orice ordine) tabelele necesare (n cazul nostru,Emisiuni,Genuri,Canale TV) i pentru fiecare acionm butonul Add.

fig.11 Selectarea tabelelor pentru definirea interogrii Dup selectarea tabelelor acionm butonul Close. Dac tabelele au cmpuri comune (definite n procesul crerii lor), Access stabilete n mod automat legturile respective (fig. 12). n continuare indicm, n partea de jos a ferestrei, cmpurile din fiecare tabel (n ordinea dorit) care urmeaz a fi afiate sau pentru care se vor specifica condiii de selecie i/sau de sortare. Includerea cmpurilor se face prin "tragerea" lor cu ajutorul mouse-ului din tabelele din caseta de sus n rndul Field al casetei de jos sau prin executarea unui dubluclic pe denumirile respective. Dup aceasta specificm condiiile seleciei i/sau ordinea sortrii, n acest fel interogarea se consider definit (fig. 12).

fig12.Specificarea condiiilor de selecie n rndul Criteria din partea de jos a ferestrei specificm condiia seleciei Des* pentru cmpul DenGen al tabelului Genuri. Dac dorim ca nregistrrile s fie afiate ntr-o anumit ordine (cresctoare/alfabetic sau descresctoare) pentru cmpul respective specificm opiunile Ascending sau Descending n rndul sort. Dac indicm Ascending pentru cmpul DenEmisiunii al tabelului emisiuni denumirile emisiunilor vor fi afiate n ordenea alfabetic. Interogarea astfel definit poate fi executat imediat n scopul obinerii rezultatului (fig. 13), sau salvat pentru a fi executat ulterior. n primul caz acionm butonul (Datasheet View) din bara cu instrumente n aldoile caz executm comanda Save din meniul File. La salvarea interogrii indicm numele ei, care nu trebuie s coincid cu numele unor tabele sau ale unor interogri definite anterior. Setul dinamic (rezultatele interogrii) conine cmpurile marcate cu simbolul n rndul Show al ferestrei. Celelalte cmpuri chiar dac sunt incluse n interogare, nu se afieaz.

fig.13 Rezultatele interogrii Exemplu 2. Lista emisiunilor cu durata mai mic de 30 de minute. Pentru afiarea emisiunilor cu durata mai mic de 30 minute acionm fila Queries din fereastra Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View (fig.14).

fig.14 Din caseta care apare (fig.15) selectm tabelul Emisiuni,Canale TV i Genuri i acionm butonul Add.

fig.15 Dup selectarea tabelului acionm butonul Close. Apoi executm dublu clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos (fig.16).

fig.16

Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim condiia <30 pentru cmpul Durata Emisiunii al tabelului Emisiuni i ne va afia lista emisiunilor cu durata mai mic de 30 minute.

fig.17. Rezultatul interogrii Exempul 3: Lista emisiunilor tiri Pentru afiarea emisiunilor tiri acionm fila Queries din fereastra Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View (fig.14). Din caseta care apare (fig.15) selectm tabelul Emisiuni , Genuri acionm butonul Add .Dup selectarea tabelului acionm butonul Close. Apoi executm dublu clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos (fig.18).

fig.18

Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim condiia tiri pentru cmpul DenGen al tabelului Genuri i ne va afia lista emisiunilor tiri.

fig.19. Rezultatul interogrii Exemplul 4: Lista emisiunilor n limba rus Fie c dorim s afim lista emisiunilor n limba rus. Pentru aceasta executm urmtorii pai: Definim o interogare n care includem tabelele Emisiuni, Limbi, Canale TV din care selectm cmpurile DenEmisiunii, DenCanal, DenLimba (fig.20)

fig.20 Dup aceasta specificm criteriul de selecie n rndul Criteria pentru cmpul DenLimba din tabelul Limbi i ne va afia lista emisiunilor n limba rus.

fig.21

5.2 Interogri de sortare a nregistrrilor Dup ce am definit condiiile de selecie, putem stabili condiii de sortare pentru unul sau mai multe cmpuri. Exemplu 1: Pentru afiarea emisiunilor n ordine alfabetic executm un clic n rndul Sort al casetei (fig.22) n dreptul cmpului DenEmisiuni i din lista derulant alegem opiunea Ascending.

fig.22 Pentru a afia rezultatul interogrii (fig.23), acionm butonul instrumente. (Datasheet View) din bara cu

fig.23 Sortarea datelor poate fi fcut i fr a specifica condiii de selecie. n acest caz se vor afia toate nregistrrile, dar ordinea lor va corespunde condiiilor stabilite n rndul Sort pentru cmpurile respective.

Exemplu 2: Lista emisiunilor n ordinea duratei lor. Pentru afiarea emisiunilor n ordine duratei lor executm un clic n rndul Sort al casetei (fig.24) n dreptul cmpului Durata emisiunii i din lista derulant alegem opiunea Ascending.

fig.24 Pentru a afia rezultatul interogrii (fig.25), acionm butonul instrumente.

(Datasheet View) din bara cu

fig.25 5.3 Interogri de actualizare a nregistrrilor (Update Query) n cazul cnd este necesar de a modifica un numr mare de nregistrri conform unuia i aceluiai algoritm, putem defini o interogare de modificare (Update Query) Vom descrie n continuare modul de definire a unei interogri pentru care tirile se mresc cu 5 minute. 1. Definim interogarea n modul descris n p.5.1. 2. Includem tabelul Emisiuni i Genuri. 3. Selectm Update din meniul Query sau acionm butonul din bara de instrumente.Ca rezultat titlul ferestrei se modific n Update Query, iar n partea de jos apare rndul Update To (fig.26).

fig.26 4. Includem (prin tragere) n celulele rndului Field cmpurile DenEmisiunii, DenGen, Durata emisiunii. 5. Introducem n rndul Update To pentru cmpul DenEmisiunii expresia [DenEmisiunii], DenGen expresia [DenGen], Durata emisiunii expresia [Durata emisiunii]+5 6. Introducem n rndul Criteria pentru cmpul DenGen condiia Stiri. 7. Acionm butonul din bara cu instrumente, pentru a obine valorile curente ale cmpului Durata emisiunii care urmeaz a fi modificate (fig.27).

fig.27 Modificrile propriu-zise vor fi operate numai dup trecerea n regimul Design View i acionarea butonului din bara cu instrumente sau executarea comenzii Run din meniul Query. n acest caz pe ecran va aprea un mesaj despre numrul total al nregistrrilor care urmeaz a fi modificate. Acionnd butonul Yes , Access va efectua modificrile (fig.28). Pentru a renuna la modificri, acionm butonul No .

fig.28

Remarc: Interogrile de tip Update se execut de regul o singur dat. n cazul executrii repetate a interogrii definite n exemplul de mai sus, vom obine de fiecare dat mrirea emisiunilor tiri cu 5 minute. 5.4 Interogri de excludere a nregistrrilor (Delete Query) Fie, de exemplu, c dorim s excludem din tabelul Emisiuni toate emisiunile ntre ora 1000 -1200. Pentru aceasta, executm urmtoarele aciuni: 1. Definim interogarea n modul descris n p 5.1. 2. Includem tabelul Emisiuni. 3. Selectm Delete Query din meniul Query sau acionm butonul (dac este afiat) din bara cu instrumente. Ca rezultat, titlul ferestrei se schim n Delete Query iar n partea de jos a ferestrei apare rndul Delete. 4. Din lis ta cmpurilor tabelului Emisiuni, afiat n partea de sus a ferestrei (fig. 8.12), selectm cmpurile care vor fi afiate sau pentru care vor fi specificate condiii de selecie DenEmisiunii i Timpul nceperii i le "tragem" n celulele respective ale rndului Field din partea de jos. Ca rezultat, n celulele respective pentru fiecare cmp apare opiunea Where (din englez - Unde, In care). 5. Introducem n celulele rndului Criteria condiiile seleciei. n cazul nostru pentru cmpul Timpul nceperii scriem condiia Between 1000 And 1200.

fig.29 6. Pentru a obine lista nregistrrilor care urmeaz a fi excluse (dar nc n-au fost excluse), acionm butonul (Datasheet View) din bara cu instrumente. Ca rezultat, obinem fereastra, reprezentat n figura 8.13.

fig.30 7. Dac rezultatele obinute n p.6 sunt cele dorite, revenind la regimulDesign View, putem elimina realmente nregistrrile, executnd comanda Run din meniul Query sau acionnd butonul (Run) din bara cu instrumente. Ca rezultat, pe ecran apare un mesaj despre

numrul total al nregistrrilor care urmeaz a fi eliminate. Dac acionm butonul Yes, nregistrrile vizate sunt eliminate definitiv. Pentru renunare, acionm butonul No. 8. Salvm interogarea, executnd comanda Save As din meniul File i indicnd numele interog 5.5 Interogri de grupare i totalizare a nregistrrilor n multe cazuri apare necesitatea de a obine valori rezumative referitoare la toate nregistrrile din tabel sau pentru o submulime a lor. De exemplu, ar putea s ne intereseze cte emisiuni de fiecare gen sunt. n acest scop n Access pot fi definite interogri n care sunt specificate condiii de grupare i totalizare. Pentru obinerea valorilor rezumative, sunt prevzute urmtoarele funcii: -Sum, pentru calcularea sumei valorilor cmpului; -Avg, pentru calcularea mediei valorilor cmpului; -Min, pentru gsirea valorii minime; -Max, pentru gsirea valorii maxime; -Count, calculeaz numrul de valori ale cmpului (excluznd cele vide); -StDev, pentru calcularea abatem standard; -Var, pentru calcularea dispersiei. Valorile rezumative pot fi obinute att pentru toate nregistrrile din tabel ct i pentru grupuri de nregistrri. Fie c dorim s obinem informaii despre cte emisiuni de fiecare gen sunt. Pentru aceasta executm urmtoarele aciuni: 1. Definim o interogare n care includem tabelele Emisiuni i Genuri din care selectm cmpurile DenGen i DenEmisiunii (fig)

fig.31 2. Selectm opiunea Totals din meniul View; ca rezultat n caseta de jos apare rndul Total, iar n celulele respective a l e cmpurilor selectate opiunea Group By 3. Din lista derulant a cmpului DenEmisiunii (rndul Total) selectm opiunea Count. 4. Acionm butonul pentru a obine valorile cutate (fig)

fig.32

5.7 Interogri ncruciate (Crosstab Query) In multe cazuri rezultatele unei interogri sunt greu de perceput din cauza volumului mare de informaii selectate. In figura sunt prezentate datele despre cte emisiuni de fiecare gen sunt, obinute cu ajutorul unei interogri de grupare i totalizare.

fig Access permite gruparea i reprezentarea datelor ntr-o form compact, form care se aseamn cu un tabel electronic.n acest scop se definesc interogri speciale, numite interogri ncruciate (Crosstab Query). Pentru a defini o interogare ncruciat procedm iniial ca n cazul unei interogri de selecie obinuit, adic selectm tabelele Emisiuni, Canale TV, Genuri, din care selectm cmpurile DenGen, DenCanal, DenEmisiunii (fig)

fig n continuare parcurgem urmtorii pai: 1. Selectm opiunea Crosstab din meniul Query. Ca rezultat, titlul ferestrei se schimb n Crosstab Query, iar n partea de jos apare rndul Crosstab. 2. Definim cmpul DenGen, valorile cruia vor servi n calitate de denumiri ale rndurilor tabelului. Pentru aceasta acionm butonul cu sgeat din rndul Crosstab pentru cmpul DenGen i din li s t a derulant care apare selectm opiunea Row Heading. 3. In mod analogic definim cmpul DenCanal, valorile cruia vor servi n calitate de denumiri ale coloanelor tabelului . Pentru aceasta acionm butonul cu sgeat din rndul Crosstab pentru cmpul DenCanal i din lista derulant care apare selectm opiunea Column Heading. 4. n rndul Total nlocuim opiunea Group By din cmpul DenEmisiunii prin operatorul Count. 5. Pentru cmpul DenEmisiunii n rndul Crosstab stabilim opiunea Value pe care o selectm din lista derulant prin analogie cu aciunile descrise mai sus. 6. Acionm butonul pentru vizualizarea rezultatelor (fig)

Powered by http://www.referat.ro/ cel mai tare site cu referate