informatica manageriala- microsoft access · (ii) aspectul programarii procedurale presupune o...

47
1 INFORMATICA MANAGERIALA- MICROSOFT ACCESS Sinteza

Upload: others

Post on 30-Aug-2019

30 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

1

INFORMATICA MANAGERIALA-

MICROSOFT ACCESS – Sinteza –

Page 2: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

2

Introducere

Cursul de informatică managerială-Access prezinta aspecte teoretice şi practice legate de utilizarea şi

administrarea bazelor de date Microsoft Access, cunoştinţe teoretice despre sisteme informatice, sisteme

expert, proiectarea sistemelor informatice, sinteze precum şi teste, intrebări de verificare a cunoştinţelor

dobândite. Vor fi atinse pe parcursul său noţiuni de utilizare a bazelor de date Access (creare baze de date,

introducere date, editare, afişare cu ajutorul formularelor şi rapoartelor, afişare slectivă). Totodată, studenţii vor

fi capabili, după parcurgerea cursului să proiecteze o bază de date adaptată unor cerinţe reale.

Obiectivele cursului

Înţelegerea noţiunilor de bază şi a fondului principal de cunoştinţe în domeniul sistemelor

informatice;

Însuşirea unui mod de gândire informatic;

Înţelegerea noţiunilor de bază şi a fondului principal de cunoştinţe în domeniul bazelor de date;

Explicarea si interpretarea principiilor, metodelor și tehnicilor de realizare a bazelor de date;

Dezvoltarea capacităţii practice prin diverse aplicații informatice de programare a bazelor de date;

Dezvoltarea capacităţii studenţilor de a înţelege procesul de realizare a bazelor de date din

întreprinderi;

Competenţe specifice

Insusirea metodelor de proiectare a bazelor de date şi dezvoltarea abilitatilor practice de gestionare a

acestora;

Dezvoltarea unor abilitati practice de exploatare a resurselor tehnice şi informaţionale ale

sistemelor informatice economice cu baze de date.

Page 3: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

3

BAZE DE DATE

Obiectivele lecţiei în corelaţie cu competenţele acumulate

Înţelegerea noţiunilor de bază şi a fondului principal de cunoştinţe în domeniul bazelor de

date;

Explicarea si interpretarea principiilor, metodelor și tehnicilor de realizare a bazelor de date;

Operarea corectă în ACCESS cu tabele: crearea, adăugare, ştergere, filtrare

Noţiuni cheie:

Baze de date, tabel, înregistrare, câmp, byte, integer, text, memo, OLE, filter, validation rule,

validation text, input mask.

Introducere

Microsoft Access reprezinta un SGBD (Sistem de Gestiune a Bazelor de Date) relational, care

faciliteaza stocarea si extragerea informatiei structurate pe hard drive-ul unui PC.

Cele mai raspindite SGBD-uri relationale comerciale de mare capacitate sint ORACLE, Microsoft

SQL Server, IBM DB2 si Informix, pe cind cele de tip PC “desktop” includ Microsoft ACCESS,

Microsoft FoxPro si Borland dBase. Microsoft a reusit pina acum sa incorporeze cit mai multe

caracterisitci posibile in produsele lor. Pachetele Microsoft contin urmatoarele caracterisitci

esentiale:

(i) un sistem baze de date relational care suporta doua standarde industriale: SQL

(Structured Querry language), respectiv QBE (Query By Example)

(ii) limbaj de programare procedural, care reprezinta o submultime a limbajului VISUAL

BASIC

(iii) macro limbaj procedural simplificat, unic ACCESS-ului

(iv) dezvoltarea unor aplicatii rapide intr-un environement complet cu forme visuale si o

multitudine de instrumente (tools) de realizare a rapoartelor (reports)

(v) posibilitatea unor viitoare extensii programare-obiect

(vi) wizard-uri si constructori care faciliteaza dezvoltarea bazelor de date

Pentru multi dintre noii utilizatori toate aceste caracterisitici ar putea deveni o sursa de frustratii,

datorita diferitelor ipoteze si restrictii precum si al multitudinii modalitatilor de calcul, precum:

(i) aspectul relational al bazei de date presupune o aplicatie ca fiind o multime de date

(ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi

executate secvential

(iii) aspectul de programare obiect–orientata al bazei de date presupune o aplicatie ca un set

de obiecte ce incapsuleaza starea si comportamentul dinamic al informatiei

Tinind cont de aceasta diversitate a aspectelor ce vizeaza o baza de date relationala utilizatorii si

creatorii bazelor de date de tip ACCESS trebuie sa aiba o pregatire solida in domeniul bazelor de

date si sa posede o serie de abilitati practice in manipularea acestor baze de date. Avantajul

acestei diversitati consta in posibilitatea utilizarii ACCESS-ului pentru a invata o impresionanta

multitudine de concepte de sisteme informationale fara a interactiona cu un numar mare de

instrumente individuale specifice unui singur aspect, precum:

(i) ORACLE ca baza relationala de date

(ii) PowerBuilder pentru dezvoltarea unor aplicatii rapide

Page 4: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

4

(iii) SmallTalk pentru programarea obiect-orientata

Intr-o acceptiune mai larga un fisier ACCESS baza de date contine nu numai o “colectie” de tabele

de date legate intre ele ci si alte diferite tipuri de obiecte baza de date:

(i) interogari (query design) pentru organizarea datelor

(ii) forme pentru interactiunea cu datele pe ecran

(iii) rapoarte pentru tiparirea (printing) rezultatelor

(iv) macro-uri si programe Visual Basic pentru extinderea functionalitatii aplicatiilor baza

de date

ACCESS-ul ne permite sa realizam propriul nostru design pentru stocarea unei baze de date. Datele

sint organizate in tabele (tables), fiecare din ele continind un anumit numar de cimpuri (coloane)

(fields, columns) si inregistrari (linii) (records, rows). Utilizarea unui cimp comun in doua tabele

diferite conduce la realizarea unei combinatii a datelor ce le contin. Un cimp reprezinta o coloana

dintr-un tabel ( nume, prenume, numar de marca, virsta, anul nasterii, adresa, numarul de telefon,

etc.,), pe cind o inregistrare reprezinta o linie din tabela cu valorile corespunzatoare fiecarui cimp al

acesteia (de exemplu, in cazul unui angajat o inregistrare inseamna toate datele necesare

completarii celulelor corespunzatoare intersectiei dintre linia respectiva si fiecare coloana a tabelei.

Mai multe tabele pot fi stocate intr-o singura baza de date. Putem de asemenea crea diferite forme

(forms) pentru introducerea si visualizarea datelor in tabele, ca de altfel si rapoarte (reports) pentru

afisarea sau extragerea datelor dintr-una sau mai multe tabele. O alta caracteristica a ACCES-ului

este creerea unor interogari (queries) capabile sa aleaga citeva submultimi de date selectate din

intreaga baza de date. O data interogarile fiind definite si salvate sub un nume, ele pot fii tratate de

acum ca tabele “virtuale”. Mai mult, putem chiar crea forme si rapoarte pentru accesul datelor

selectate printr-o interogare. Pentru a crea cimpuri intr-o tabela putem utiliza instrumentele oferite

de Design View din caseta de dialog ce apare la demararea ACCESS-ului, iar pentru actualizare,

editare, sau stergerea unui cimp ne putem utiliza de Datasheet View din bara de instrumente

(toolsbar).

Toate aceste obiecte baza de date sint stocate intr-un singur fisier cu extensia .mdb (.accdb

pentru Access 2007-2013), spre exemplu fisierul casa.mdb. Cind lansam in executie ACCESS-ul

acesta va crea automat un fisier temporar (“locking” file) de genul casa.ldb, care poate fii insa

ignorat fara sa afecteze procesul de executie ulterioara (running process) a bazei de date.

Pentru crearea unei tabele de date avem trei optiuni:

(i) in design view

(ii) using wizard

(iii) introducerea directa a datelor

(2) Optiunea Access database wizards, tables and projects

Pentru a crea o noua baza de date plecind de la zero (scratch) utilizam facilitatile oferite de

Database Wizard, ce include baze de date existente si care ne ghideaza de-a lungul procesului de

creere a acesteia. In cadrul acestei optiuni nu ne ramine decit sa urmarim toate etapele acestei

proceduri si sa introducem datele corespunzatoare cerute de fiecare din aceste etape. Ori de cite ori

vom deschide o baza de date noua sau una creata anterior, ACCESS va verifica daca toate

elementele bazei de date sunt intacte. In fereastra dreptunghiulara stinga apar citeva tipuri de baza

de date deja existente in biblioteca ACCESS-ului. Vom selecta una din aceste tipuri de baza de date

iar apoi vom executa un clic pe butonul OK. Urmatorul ecran ne va solicita sa numim noua baza de

date, de exemplu data1 si s-o salvam pe unul din mediile de stocare, de exemplu C:\My

Documents\data1.mdb.

Daca o baza de date a fost creata recent ea va apare cu siguranta in principala fereastra a casetei de

dialog. Primul pas pentru deschiderea ei este sa suprailuminam numele ei si apoi sa executam un

scurt clic pe selectie. Daca cautam o baza cu totul particulara vom utiliza optiunea More files din

Page 5: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

5

ferestra dreptunghiulara situata in partea de jos a casetei de dialog. Vom suprailumina aceasta

optiune, vom executa un clic pe selectie, vom alege baza de date care ne intereseaza, si vom

executa un scurt clic pe selectie pentru a o deschide.

Daca fisierul pe care-l deschidem este un fisier creat in versiuni mai vechi ale ACCESS el va trebui

convertit in ACCESS varianta superioară, utilizind butonul Convert Database din meniul Tools-

Database Utilities. Noua versiune de fisier va purta un alt nume iar baza de date va fii complet

separata de cea veche, care va raminine neschimbata.

Tabele

Intr-o fereastra Design view avem posibilitatea sa realizam propriul nostru design al bazei de date

(customize), in sensul vizualizarii si aranjarii cimpurilor dintr-o tabela dupa propria noastra

dorinta, ca de altfel si completarea acestora cu datele corespunzatoare. Aceasta tabela poarta

numele Date personale si are cheia primara Date Personale pentru a fii identificata cu usurinta

printre toate celelalte tabele din baza de date.

Figura 1.1: Crearea unei tabele ACCESS in Design View

1. Crearea tabelelor ACCESS

Există trei metode de creare a tabelelor:

in design view

cu wizard

Page 6: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

6

prin introducerea directa a datelor, similar unei foi de calcul Excel,

O tabela ACCESS in design view are doua parti (figura 3.6):

(i) partea superioara care contine numele cimpului (lungime mai mare de 64 de caractere,

incluzind si spatile dintre acestea) cit si tipul de date utilizat (text, number, date/time,

memo, autonumber, yes/no, currency, OLE object, hyperlink, lookup wizard)

(ii) partea inferioara care contine proprietatile cimpurilor

Deci de fiecare data cind creem un tabel in design view trebuie sa specificam proprietatile tabelului

cit al cimpurilor sale. Proprietatile tabelelelor din ACCESS se aplica tabelului in mod global,

introducerea acestora fiind optionala. Pentru specificarea acestor proprietati vom executa un clic pe

butonul Proprietati de pe bara cu instrumente in modul de afisare Table Design (figura 3.6). Drept

efect pe ecran va apare o fereastra cu cele 10 proprietati ale tabelului creat anterior, Date

personale, precum cea din figura de mai jos.

Figura 1.2. Fereastra Table Properties pentru tabelul Date personale

Vom descrie pe scurt semnificatia fiecareia din cele zece proprietati:

Description: descriere sumara sub forma de text a scopului tabelului (optional)

Validation Rule: o expresie (formula) ce stabileste regulile de integritate a domeniului

pentru mai multe cimpuri ale unui tabel (optional). Regula de validare introdusa se

aplica tuturor cimpurilor din tabel.

Validation text: specifica textul din caseta de mesaje care va fii afisata in cazul

incalcarii uneia din regulile de validare a tabelului (optional)

Filter: specifica o conditie care trebuie aplicata tabelului la deschiderea acestuia,

limitind numarul inregistrarilor pe baza unor criterii de selectie indicate de utilizator

(optional)

Order By: specifica ordinea de sortare care trebuie aplicata unui tabel, ori de cite ori

este deschis, inregistrarile fiind afistae in ordinea cheii primare, in cazul in care aceasta

exista (optional)

Page 7: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

7

Subdatasheet Name: este o noua facilitate introdusa de ACCESS, care determina

oportunitatea si modul de afisare a datelor din inregistrarile inrudite in foile secundare.

Valoare prestabilita (by default) este [Auto], care aduaga in mod automat foi de date

secundare pentru inregistrarile legate din tabele inrudite, pe cind valoarea [None]

dezactiveaza foile de date secundare (optional).

Link Child Fields: specifica denumirea cimpului legat din tabelul inrudit (subordonat)

ale carei inregistrari apar in foaia de date secundare, fiind conditionat de aplicarea

optiunii Subdatasheet Name (optional).

Link Master Fields: specifica denumirea cimpului de legatura din tabelul foii

superioare sau al foii de date secundare, fiind conditionat de aplicarea optiunii

Subdatasheet Name (optional).

Subdatasheet Height: specifica inaltimea maxima a foii de date secundare, fiind

conditionat de aplicarea optiunii Subdatasheet Name. Valoarea prestabilita este 0 si

permite afisarea tuturor inregistrarilor inrudite din foaia de date secundare (optional).

Subdatasheet Expanded: controleaza aspectul initial al foii de date secundare, fiind

conditionata de aplicarea optiunii Subdatasheet Name. Selectia valorii [Yes] are drept

effect deschiderea foii de date cu toate foile de date secundare deschise (optional).

ACCESS are o ferestra Indexes pentru specificarea cheii principale si a tuturor

indexurilor tabelului. Pentru selectarea cheii primare executam un clic pe Primary Key

de pe bara cu instrumente (figura 3.8). Este posibila uneori extinderea cheii principale

pe mai multe cimpuri, situatie in care spunem ca tabelul are o cheie compusa.

Proprietatile care trebuiesc precizate in reteaua Table Design pentru fiecare cimp sint:

Field Name: Specifica denumirea cimpului din prima coloana a tabelului. Denumirea

cimpurilor nu poate depasi 64 de caractere, impreuna cu spatiile si semnele de

punctuatie inglobate, cu exceptia punctelor (.), a semnelor de exclamatie (!) si a

parantezelor drepte ([]). Fiecare cimp va avea un nume unic in tabela, iar asignarea lui

este obligatorie pentru identificare.

Data Type: specifica unul din urmatoarele tipuri de valoare ce se ataseaza in cea de-a

doua coloana fiecarui cimp definit in prima coloana a tabelei:

o Text : este valoarea prestabilita fiecarui cimp din tabela, reprezentind orice

combinatie de litere si numere de lungime maxima 255 caractere per fiecare

inregistrare

o Memo: este de tip text care memoreaza pina la 64 K caractere

o Number : spcifica orice numar ce poate fii memorat

o Date/Time : specifica data (ziua/luna/an), timpul sau o combinatie a celor doua

o Currency: specifica valoarea monedei care poate fii setata, intr-un format care

include semnul dolarului ($) ca parte de inceput, numarul corect de zecimale,

precum si pozitia virgulei in cazul formatului de reprezentare englezesc

o AutoNumber: specifica un numar intreg unic asignat automat fiecarei inregistrari in

momentul creerii acesteia

o Yes/No: specifica o valoare logica, binara de tipul True/False, Yes/No, ori On/Off

o OLE Object (Object Linking and Embedding): specifica un sunet, desen, ori alt

obiect precum un document Word, foaie de calcul Excel, etc., care este creat in alt

program (embed object)

o Hyperlink: specifica o legatura (link) a bazei de date cu un anume site al

Internetului, Intranetului sau o alta locatie din interiorul aceleiasi baze de date.

Datele sint reprezentate printr-un sir de caractere compus din unul pina la patru

subsiruri de caractere separate intre ele prin semnul pound (#):

Field Properties: selecteaza oricare din proprietatile pertinente cimpului din partea

de jos a ferestrei de dialog Design View, printre care enumeram:

Page 8: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

8

Field Size este folosit pentru setarea numarului de caractere necesare tipului de date

Text sau Numeric. Valoarea prestabilita pentru text este de 50 caractere, iar daca cimpul

are nevoie de mai multe caractere vom creste dimensiunea acestuia pina la 255

caractere. Dimensiunea cimpului este setata pentru numarul de caractere al tipului de

date Text, iar pentru numere avem urmatoarele optiuni:

o Byte – integi pozitivi intre 0 si 255

o Integer – intregi pozitivi si negativi intre -32,768 si 32,768

o Long Integer (default) – intregi pozitivi si negativi intre -2 miliarde si 2 miliarde

( -2.147.483.648 and -2.147.483.647).

o Single – numar in virgula flotanta, simpla precizie

o Double - numar in virgula flotanta, dubla precizie

o Decimal – permite controlul preciziei (numarul total de cifre care trebuiesc afisate

pentru o valoare numerica) si a scarii (numarul zecimalelor care trebuiesc afisate)

Format: putem selecta un format standard, predefinit, in care sa fie afisate valorile din

cimp, folosind lista de optiuni pentru tipurile de date pe care l-am selectat, mai putin

pentru cele de tip Text sau OLE object.

FORMATUL TEXT

Format Datasheet

Intrari Afisare Comentarii

@@@-@@@@ 2317586 231-7586 @ indica solicitarea unui

spatiu sau a unui caracter

@@@-@@@& 675234 675-234 & indica un caracter

optional sau spatiu

< HY Hi < converteste caracterele

mari in cele mici

> Hi HY > converteste caracterele

mici in cele mari

@\! Hi Hi! \ adauga caractere la sfirsit

@;”No Data Entered” Hi Hi

@;”No Data Entered” (blank) No Data Entered

Number format: Selecteaza una dintre optiunile prestabilite sau construieste

un format propriu (custom format ) folosind urmatoarele simboluri::

FORMATUL NUMBER

Format Datasheet

Intrari Afisare Explicatii

###,##0.00 231746.12 231,746.12 0 este un delimitator de pozitie ce afiseaza

cifra 0 daca nu exista altceva

# este un delimitator de pozitie care

afiseaza o cifra sau nimic daca altceva nu

exista

$###,##0.00 0 $0.00

###.00% .25 2.5% % multiplica numarul prin 100 si adauga

semnul procent (%)

Currency format. Acest format consta din patru subsiruri de cifre separate prin

(;), fiind un format pentru numere positive, negative sau de valoare nula.

FORMATUL CURRENCY

Page 9: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

9

Format Explicatii

$##0.00;($##0.00)[Red];$0.00;”none” Valori positive pentru format normal,

negative pentru valori stornate in rosu

scrise in paranteze, zero pentru valoarea

zero, si “none” pentru valori nule.

Date/Time format. In tabela de mai jos valoarea de tip Date/Time „03/06/02”

este introdusa intr-o tabela ACCESS in diferite formate:

DATE/TIME FORMAT

Format Afisare Explicatii

dddd”,”mmmm d”,”yyyy Vineri, Iunie 3, 2002 dddd, mmmm, si yyyy

tiparesc numele complet

al zilei, lunii si al anului

ddd”,”mmm „. „ d”, ‚”yy Vin, Iun. 3, ‚02 ddd, mmm, si yy

afiseaza primele trei

litere ale zilei, ale lunii,

si ultimele doua cifre

ale anului

„Azi este „ dddd Azi este Vineri

h:n:s: AM/PM 13:20:15 PM „n” este folosit pentru

minute, pentru a elimina

eventualele confuzii cu

lunile

Yes/No sint afisate in una dintre formatele Check Box, Text Box sau Combo

Box, formatul prestabilit fiind Check Box. Pentru schimbarea formatului

acestor cimpuri mai intii vom executa un clic pe butonul Lookup iar apoi vom

schimba Display Control pe optiunea Text Box, dupa care ne vom reintoarce la

butonul General de optiuni pentru a realiza modificarile de format. Formatul

cuprinde trei sectiuni separate prin (;). Prima sectiune nu contine nimic in afara

caracterului (;) care trebuie inclus obligatoriu, cea de-a doua sectiune specifica

formatul pentru valorile Yes, iar cea de-a treia sectiune specifica formatul pentru

valoarea No

YES/NO FORMAT

Format Explicatii

;”Yes” [verde];”No”[rosu] Afiseaza „Yes” in verde sau „No” in rosu

Default Value – Sint cazuri cind valoarea cimpului este aceeasi pentru toate

inregistrarile. Pentru a evita scrierea repetata a acestei valori in toate cimpurile

tabelei vom seta tabela cu optiunea Default Value.

Primary Key: Fiecare inregistrare din tabela trebuie sa aibe un identificator,

numit cheie primara, care diferentiaza aceasta inregistrare in raport cu celelalte

inregistrari. In anumite cazuri putem desemna din cadrul tabelei un singur

cimp particular ca fiind cheie primara, bineinteles daca sintem siguri ca fiecare

inregistrare din tabela are o valoare diferita pentru acest cimp particular. Pentru a

desemna un cimp drept cheie primara vom executa un clic pe inregistrarea

respectiva si vom selecta Primary Key shortcut, sau putem selecta

EditPrimary Key din bara de meniu. Intr-o tabela putem recunoaste cimpul

Primary Key prin semnul cheii care apare la stinga. Pentru a schimba pozitia

Page 10: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

10

cheii primare vom executa un clic cu butonul drept al mouse-ului, urmat de un

nou clic pe Primary Key din meniul care apare pentru a o dezactiva, apoi vom

repeta una din etapele de pina acum pentru desemnarea noii chei. Daca nici

unul dintre cimpurile tabelei nu produce valori diferite pentru fiecare

inregistrare si nu am desemnat inca cheia primara, ACCESS are posibilitatea

creerii unui astfel de cimp si adaugarea automata a acestuia la tabela in primul

moment al salvarii (Save) tabelei nou create, cind ni se cere daca dorim sau nu

creerea unui astfel de cimp. Acest cimp este numit “ID” iar tipul de date

corespunzator lui va fi “Autonumber” ce permite actualizarea automata ori de

cite ori vom aduga o noua inregistrare acestei tabele.

Indexes: permit ACCESS-ului interogarea si sortarea rapida a inregistrarilor.

Pentru setarea unui cimp indexat vom selecta cimpul cautat si vom schimba

proprietatea Indexed in Yes (Duplicates OK) daca intrari multiple prezentind

aceleasi valori sint permise, sau Yes (No Duplicates) pentru prevenirea acestor

cazuri.

Field Validation Rules: specifica reguli pentru introducerea datelor intr-o

foaie ACCESS. Ori de cite ori va fii incalcata una dintre regulile setate vom fii

de fiecare data atentionati prin aparitia pe ecran al unui mesaj in acest sens. Vom

executa un clic pe butonul constructor (builder) (“…”) de la sfirsitul casutei

Validation Rule pentru a scrie o regula de validare. Optiunile care apar pe ecran

sunt prezentate in figura 3.9

Input Masks: controleaza valoarea unei inregistrari si o seteaza intr-un format

specific. Este similara cu proprietatea Format, cu deosebirea ca aceasta afiseaza

pe ecran formatul inainte de intrarea datelor. De exemplu, cimpul corespunzator

numarului de telefon “(514) 485-2106” poate fii formatat cu o masca de intrare

care sa accepte zece cifre, cimpul “blank (-)” putind fii privit astfel:

(514)485_2106

2. Inregistrari (records) intr-o foaie ACCESS

a) Adaugarea unei inregistrari intr-o tabela (Adding)

Pentru adaugarea unei noi inregistrari intr-o tabela selectam mai intii tabela in Datasheet view si

apoi vom plasa cursorul pe linia cu (*), ce semnifica o noua inregistrare. Vom introduce in

continuare datele noii inregistrari, respectind tipul de format specificat mai sus. Aceeasi actiune o

putem de asemenea realiza executind in mod repetat clic pe butonul Next Record de pe bara de

instrumente din partea de jos a tabelei, pina cind indicatorul de pozitionare va ajunge pe linia noii

inregistrari.

b) Editarea unei inregistrari ACCESS (Edit)

Pentru a edita o inregistrare de tip ACCESS vom pozitiona cursorul pe inregistrarea care dorim s-

o editam, si apoi vom efectua schimbarile dorite.

Page 11: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

11

c) Stergerea unei inregistrari (Delete)

Pentru a sterge o inregistrare vom pozitiona cursorul pe oricare dintre cimpurile inregistrarii si

apoi vom selecta din bara de meniu EditDelete, ori pur si simplu executam un clic pe butonul

Delete Record din bara de instrumente sau din bara de meniu EditInsert a foii ACCESS.

d) Adaugarea de noi coloane sau stergerea lor dintr-o tabela

Pentru a aduga o coloana noua intr-o tabela vom suprailumina (highlight) coloana din dreapta noii

coloane si vom selecta din bara de meniu Insert Column, ori cu butonul drept al mouse-ului vom

executa un clic pe coloana suprailuminata si vom selecta din meniul afisat pe ecran optiunea Insert

Column.

Pentru a sterge o coloana vom selecta din bara de meniu a foii EditDelete Column.

e) Redimensionarea unei linii sau a unei coloane (Resizing)

Pentru a schimba latimea unei coloane sau a unei linii vom pozitiona cursorul pe frontiera dintre

doua linii sau doua coloane si vom trage apoi linia de dimensionare ce apare pe ecran spre dreapta

sau spre stinga in sensul cresterii sau descresterii latimii acestora.

f) Inghetarea unei coloane (Freezing Column)

In cazul unor tabele cu un numar mare de coloane este destul de greu vizualizarea datelor

relevante in acelasi timp, de aceea vom incerca sa inghetam coloanele care ne intereseaza. Pentru

a realiza acest obiectiv vom selecta din bara de meniu Format optiunile Freezing Columns ori

Unfreezing All Columns, in cazul dezghetarii lor.

3. Sortarea si Filtrarea inregistrarilor dintr-o tabela (Sorting and Filtering)

Sortarea si Filtrarea permit vizualizarea inregistrarilor dintr-o tabela in diferite moduri fie prin

reordonarea tuturor inregistrarilor sau vizualizarea numai anumitor inregistrari care indeplinesc un

anumit criteriu de selectie.

a) Sortarea inregistrarilor dintr-o tabela

Putem vizualiza inregistrarile dintr-o tabela intr-o anumita ordine, cum ar fii de exemplu sortarea

dupa o anumita valoare a unui cimp sau in ordine alfabetica. Pentru realizarea sortarii

inregistrarilor dupa o anumita valoare a unui cimp vom parcurge urmatoarele etape:

Pasul 1: In Table View plasam cursorul in coloana care dorim sa o sortam;

Pasul 2: Selectam Records|Sort|Sort Ascending sau Records|Sort|Sort Descending din bara de

meniu ori clic butoanele Sort Ascending sau Sort Descending din bara de instrumente;

Pentru a sorta mai mult de o coloana vom suprailumina coloanele prin executarea unui clic si

tragere a mouse-ului deasupra etichetelor cimpurilor respective urmata de selectia unuia dintre

procedeele de la Pasul 2.

b) Filtrare prin selectie

Putem filtra inregistrarile care contin valori identice pentru datele dintr-un anume cimp al tabelei,

de exemplu vom putea selecta din cimpul Numele al tabelei Date personale toate inregistrarile care

au valoarea Ciortan. Pentru aceasta vom plasa cursorul pe cimpul Numele si vom executa un clic

pe butonul Filter by Selection de pe bara de instrumente sau selectam Records|Filter|Filter By

Selection din bara de meniu, precum in Figura 1..5.

Page 12: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

12

c) Filtrare prin selectie a unei forme (Filter by Form)

In cazul unor tabele de dimensiuni prea mari este uneori dificil sa gasim inregistrari ce contin

valoarea pe care dorim s-o filtram, fapt pentru care utilizam aceasta tehnica de selectie dupa o

anumita forma. Pentru aceasta vom executa un clic pe butonul Filter by Form din bara de

instrumente, iar in ferestra ce se deschide Look for vom executa un clic pe cimpul care dorim sa

facem o multipla selectie, de exemplu pe acelasi cimp Numele din tabela Date personale cu

criteriul de selectie ca toate inregistrarile din acest cimp sa aibe valoarea “Popescu” sau “Sopu”

(selectie multipla a tuturor persoanelor care poarta numele Popescu sau Sopu). In momenul in

care executam clic pe cimpul ale carui valori dorim sa le selectam va apare un drop-down meniu,

indicat printr-o sageata orientata cu virful in jos. Din acest meniu selectam valorile “Popescu” si

“Sopu” folosind butonul Or din partea inferioara a ferestrei Look for. Dupa terminarea selectiei

repetate utilizind butonul Or vom executa un clic pe butonul Apply Filter din bara de

instrumente, dupa cum putem observa in figura 3.15.

Pentru selectarea inregistrarilor dintr-o tabela care nu au exact aceeasi valoare am putea utiliza

urmatoarele metode prezentate in tabela de mai jos. In drop-down meniul care apare prin executia

unui clic pe cimpul ale carui valori le selectam vom scrie de aceasta data una dintre expresiile tip al

caror format este dat in tabela in loc de a alege valori absolute din cimp.

FILTER BY FORM

Format Explicatii

Like „*Ciortan” Selecteaza toate inregistrarile cre se termina in „Ciortan”

<=”S” Selecteaza toate inregistrarile care incep cu literele de la A la S

>1/1/55 Selecteaza toate datele de dupa 1/1/55

<> 0 Selecteaza toate inregistrarile care nu sint egale cu zero

De exemplu, utilizind al treilea criteriu de selectie din tabela de forma:

>= 12/12/75

vom putea selecta toate persoanele din tabela Date personale care sint nascute pina in 12

Decembrie 1975, deci o selectie in cimpul “data nasterii”, iar rezultatul acesteia este prezentat in

figura 3.16.

d) Salvarea unui Filter (Save)

Continutul tabelei rezultate dupa filtrare sau sortare poate fii salvat ca o interogatie (Query) prin

selectarea File|Save As Query din bara de meniu. Vom allege un nume pentru aceasta interogatie,

de exemplu Query1 si vom executa un clic pe OK. Prin aceasta procedura interogatia Query1 va

fii stocata definitiv in baza noastra de date data1.mdb

Page 13: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

13

Figura. 4.3. Salvarea continutului tabelei filtrate

e) Dezactivarea unui Filtru

Pentru a revizualiza toate inregistrarile din tabela supusa filtrarii, executam un clic pe butonul

deja apasat Apply Filter (toggle) din bara de instrumente.

Bibliografie

1. Fusaru, D., Aplicaţii economice în Visual Basic şi Access, Editura Fundatiei România de

Mâine, 2007

2. Gherasim, Z., Programare si baze de date, Editura Fundatiei România de Mâine, 2007.

3. Ionescu, B. şi colectiv Informatica utilizatorului: Office 2007, Ed. InfoMega, Bucureşti,

2008.

4. Popescu, G. " Sisteme informatice. Proiectare şi programare în Aceess ", Ed. “Ovidius”

University Press, Constanta, 2003.

5. Tudoroiu, N., Grigore M., s.a. Informatică de gestiune, Editura Europolis, 2004.

Page 14: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

14

RELATII INTRE TABELE

Obiectivele lecţiei în corelaţie cu competenţele acumulate

Înţelegerea noţiunilor de bază privind relaţiile între tabele;

Operarea corectă în ACCESS cu mediul vizual de editare a relaţiilor Edit Relationships.

Noţiuni cheie:

Relationships, Referential Integrity, one to one, many to many, one to many, inner join, outer join.

Relatiile dintre tabele ACCESS (Relationships)

Pentru a evita duplicarea informatiei intr-o baza de date prin repetarea unor cimpuri in mai mult

de o tabela, ACCESS gaseste o modalitate simpla prin stabilirea unor relatii (maps) care leaga toate

aceste cimpuri din tabele diferite impreuna.

Legăturile pot fi de tipul:

unu la unu (1:1) – corespund situaţiei în care unei înregistrări dintr-o tabelă îi corespunde o

singură înregistrare dintr-o altă tabelă; aceste două tabele ar putea fi realizate printr-o singură

tabelă care să conţină toate câmpurile celor două tabele, dar în unele situaţii este utilă această

legătură: dacă avem de-a face cu structuri mari ce depăşesc numărul maxim de cîmpuri (255);

pentru creşterea eficienţei aplicaţiei, în cazul în care există numai câteva înregistrări care au

nevoie de un număr mare de câmpuri adiţionale; pentru asigurarea securităţii datelor, în cazul

în care câmpurile din cel de-al doilea tabel sunt disponibile numai supervizării;

unu la mai mulţi (1:n) – tabelul din “partea unu” (denumit şi Master) a relaţiei trebuie să

aibă o cheie primară, iar tabelul din “partea mai mulţi” (denumit şi Detail) trebuie să conţină un

câmp similar (de acelaşi tip şi dimensiune) denumit cheie externă; unei înregistrări din tabela

Master îi corespund mai multe înregistrări în tabela Detail sau aceeaşi valoare a atributului

cheie primară din prima tabelă se regăseşte ca realizare a atributului cu rol de cheie externă în

mai multe înregistrări din cea de-a doua tabelă;

mai mulţi la mai mulţi (m:n) (ex. Tabele: Studenţi, Cursuri, Inscrieri).

Definirea legăturilor dintre tabele presupune deschiderea ferestrei Relationships (fig.4.8.) prin

acţionarea butonului cu acelaşi nume din bara de butoane standard. Se plasează în această fereastră

tabelele între care dorim să stabilim legături prin selectarea lor din lista ce apare în caseta de dialog

Show Table (prin doubleclick pe numele tabelei sau prin selectare din listă şi acţionarea butonului

ADD), apoi se închide caseta.

Trasarea unei legături se face într-un mod foarte sugestiv, folosind tehnica Drag and drop. Plasaţi

mouse-ul pe atributul cheie primară din tabela Master, menţineţi apăsat butonul stâng şi “glisaţi”

acest atribut peste numele atributului cu rol de cheie externă din tabela Detail. În caseta de dailog

Relationships se afişează tipul relaţiei ce urmează să se definească între cele două tabele. Caseta de

bifat Enforce Referential Integrity va da posibilitatea verificării restricţiilor de integritate

referenţială şi iniţierii ştergerilor şi/sau actualizărilor în cascadă (Cascade Update related fields şi

Cascade delete related records). Butonul Join Type permite, printr-o casetă de dialog, să se

specifice tipul de asociere stabilit între înregistrările celor două tabele:

inner join – când asocierea se realizează între tuplurile prezentând aceleaşi relizări pentru

atributele de legătură;

outer join – permit asocierea înregistrărilor dintr-o tabelă cu cele aparţinând altei tabele,

chiar dacă nu există înregistrări corespondente cu cele din prima tabelă.

Integritatea referenţială (Referential Integrity) are rolul de a vă împiedica să faceţi greşeli la

introducerea datelor. În principiu, ea arată că toate informaţiile din cele două câmpuri trebuie să

corespundă. Dacă există o intrare în câmpul de legătură dintr-un tabel care nu există în celălalt,

aceasta este o problemă care poate fi corectată de funcţia Referential Integrity.

Page 15: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

15

Ex.

Pentru ca un utilizator să nu introducă din greşeală în tabela Facturi un cod de client care nu este

introdus în tabela Client se selectează opţiunea Enforce Referential Integrity.

Dacă se întâmplă acest lucru, depinde de ce căsuţă de validare aţi mai selectat:

nici una marcată: Access afişează un mesaj de eroare pentru a vă arăta că aveţi nevoie de o

înregistrare corespondentă în tabelul legat şi nu vă va permite să introduceţi un cod greşit;

Cascade Update Related Fields: dacă operez o modificare în tabelul Clienţi, Access îmi va

modifica toate înregistrările corespondente din Facturi;

Cascade Delete Related Fields: dacă şterg o înregistrare în tabelul Clienţi, Access îmi va

şterge toate înregistrările corespondente din Facturi;

Prima dată când veţi folosi acest mecanism, conform legilor lui Murphy, probabil veţi obţine un

mesaj de eroare datorată fie introduceri datelor necorespunzător înaintea stabilirii legăturii între

tabele, fie nerespectării regulii care spune că pentru câmpul de legătură trebuie să avem acelaşi tip

de dată şi aceeaşi dimensiune în ambele tabele (excepţie Autonumber – Number, Long Integer).

După ce aţi creat o legătură, o puteţi edita prin dublu click pe linia ce face legătura dintre tabele,

aceasta având ca efect redeschiderea casetei de dialog Relationships.

Puteţi şterge o legătură, o selectaţi cu click pe ea, apoi tasta Del (sau meniul contextual).

Pentru setarea unei baze de date relationale vom parcurge urmatoarele etape:

Pasul 1: Clic butonul Relationships din bara de meniu Tools

Pasul 2: Din fereastra Show Table clic pe butonul Show Table, double clic pe numele tabelelor pe

care dorim sa le includem in relatii, clic pe butonul Add iar dupa ce terminam de adaugat toate

aceste tabele care ne intereseaza clic Close, dupa cum putem observa din figura 3.11.

Pasul 3: Pentru a lega cimpurile celor doua tabele intre ele vom trage oricare dintre cimpurile

primei tabele pina il suprapunem pe unul din cimpurile celei de-a doua tabele si vom relaxa mouse-

ul. Va apare in acest moment pe ecran o ferestra de dialog Edit Relationships. In acesta fereastra

vom selecta diferite cimpuri daca este necesar si vom selecta o optiune din Enforce Referential

Integrity daca este necesar. Aceste optiuni permit ACCESS-ului sa realizeze actualizarea automata

a tabelelor de referinta in cazul unor modificari de inregistrari in una din aceste tabele. Activeaza

casuta (check box) Enforce Referential Integrity pentru a ne asigura ca relatiile sint valide si

datele nu sint accidental sterse cind datele sint adaugate, editate, sau sterse. Clic Create pentru a

crea legatura (link) dintre cele doua tabele. Din acest moment o linie de interconexiune intre cele

doua tabele va apare, dupa cum observam in figurile 5.1.-5.3.

Clienţi Facturi

1 Cod client ∞

Page 16: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

16

Figura 2.1. Show Table-Relatii intre tabelele Date personale si Angajat ale

aceleiasi baze de date Data1

Foaia de date (datasheet) a tabelei relationale va furniza indicatori de extindere (expand) sau

contractie (collapse) pentru a permite visualizarea foilor secundare (subdatasheets) ce contin

informatii comune (matching information) din alte tabele. In exemplul nostru baza de date din

tabelul Angajat a fost legata cu baza de date din tabelul Date personale, cele doua putind fii

visualizate simultan folosind facilitatile furnizate de extindere (expand). Pentru a extinde sau

contracta toate foile secundare impreuna vom utiliza Format|Subdatasheet|Expand All ori

Collapse All din bara de meniu.

Figura 2.2. Edit Relationships intre tabelul Angajat si tabelul date personale

Page 17: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

17

Figura 2.3. Legatura (link) dintre tabelul Angajat si tabelul Date personale ale aceleiasi baza de

date Data1

Bibliografie

1. Fusaru, D., Aplicaţii economice în Visual Basic şi Access, Editura Fundatiei România de

Mâine, 2007

2. Gherasim, Z., Programare si baze de date, Editura Fundatiei România de Mâine, 2007.

3. Ionescu, B. şi colectiv Informatica utilizatorului: Office 2007, Ed. InfoMega, Bucureşti,

2008.

4. Popescu, G. " Sisteme informatice. Proiectare şi programare în Aceess ", Ed. “Ovidius”

University Press, Constanta, 2003.

5. Tudoroiu, N., Grigore M., s.a. Informatică de gestiune, Editura Europolis, 2004.

Page 18: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

18

CAPITOLUL 6

INTEROGARI

Obiectivele lecţiei în corelaţie cu competenţele acumulate

Înţelegerea noţiunilor de bază privind interogările;

Operarea corectă în ACCESS cu mediul vizual de creare şi editare a interogărilor;

Elaborarea corectă a unor interogări în SQL.

Noţiuni cheie:

Interogare, select query, make table query, update query, delete query, duplicate query, SQL.

Interogatii intr-o tabela ACCESS (Queries)

Cu ajutorul unei interogatii putem selecta inregistrari din una sau mai multe tabele dintr-o baza de

date, astfel incit sa poate fii vizualizate, analizate si sortate pe o foaie de date comuna. Colectia de

inregistrari rezultata (dynaset) este salvata ca un obiect distinct al bazei de date, ce poate fii utilizat

ori de cite ori este nevoie. O interogatie va fii actualizata ori de cite ori tabelele originale din care

provine au fost la rindul lor actualizate. ACCESS furnizeaza trei tipuri de interogatii:

Interogatii de tip Select, care extrag datele din tabele pe baza unor valori specificate

Interogatii de tip Find Duplicate, care afiseaza inregistrarile cu valori duplicate pentru unul

sau mai multe cimpuri specificate

Interogatii de tip Find Unmatched, care afiseaza inregistrarile dintr-o tabela care nu au

valori corespondente in cea de-a doua tabela

1. Creerea unei interogări in Design View

Pentru a creea o Interogatie noua in Design View vom parcurge urmatoarele etape:

Pasul 1: Clic butonul New din pagina Queries din fereastra bazei de date create deja, data1.mdb,

prezentata in Figura 3.1.

Figura 3.1. Fereastra bazei de date data1.mdb

Page 19: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

19

Pasul 2: Selectam optiunea Design View si apoi executam clic pe butonul OK.

Pasul 3: Selectam Tables si interogatiile existente din Tables si Queries tabs si executam clic pe

butonul Add sa adaugam fiecare din ele la noua interogare, precum in Figura 3.2.

Pasul 4: Clic Close cind toate tabelele si interogările existente au fost selectate.

Figura 3.2. Crearea unei interogatii in Design View

Pasul 5: Adaugam cimpurile din tabelele care dorim sa intre in structura Interogatiei nou create

prin executarea unui dublu clic asupra numelui cimpului din casutele acestor tabele sau prin

selectarea numelui cimpului din Field si Table, si anume din drop-down meniurile deschise de

acestea. Putem specifica de asemenea daca consideram necesar si un criteriu de sortare a acestor

date, de exemplu toate inregistrarile care nu incep cu numele localitatii “Constanta”din cimpul

Localitatea nasterii, tabelul Date personale. In cazul selectiei putem utiliza simboluri particulare

(wildcard) si operatori aritmetici, precum indica tabela de mai jos. De asemenea Expression

Builder poate fii utilizat sa ne asiste in timpul scrierii acestor expresii.

Pasul 6: Dupa terminarea selectiei tuturor cimpurilor din tabele clic butonul Run din bara de

instrumente.

Pasul 7: Salvam noua interogatie executind un clic pe butonul Save

Page 20: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

20

Figura 3.3 Introducerea datelor din tabelele Angajat si Date personale intr-o noua

Interogare in Design View pe baza unui criteriu de sortare

QUERY WILDCARDS SI EXPRESII OPERATORIALE

Wildcard / Operator Explicatii

? Virsta ? este un wildcard care ia locul unei singure litere

22 * * este un wilcard care reprezinta un numa de caractere

<20 Valoare mai mica decit 20

>=10 Valoare mai mare sau egala cu 10

<>”Constanta” Nu egal cu (toate orasele in afara de Constanta)

Between 10 and 20 Numere intre 10 si 20

Is Null

Is Not Null

Gaseste inregistrari cu valoare nula sau toate inregistrarile care au o valoare

Like „s*” Toate cuvintele ce incep cu litera „s”

>0 And <=100 Toate numerele mai mari decit 0 si mai mici decit 100

„Ion” Or „George”

Valoarile sint Ion sau George

Page 21: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

21

2. Query Wizard

Ne ofera asistenta in procesul creeri unei noi Interogatii.

Pasul 1: Clic icoana Create query by using wizard in fereastra bazei de date

Figura 3.4. Fereastra Query Wizard

Pasul 2: Din prima ferestra selectam cimpurile care vor fii incluse in noua executind clic pe butonul

(>) pentru a muta cimpurile selectate din tabele in ferestra din drepta. interogatie

Pasul 3: Clic Next > cind toate cimpurile au fost selectate.

Pasul 4: In urmatoarea ferestra afisata introducem numele interogatiei Angajat Query, ca in Figura

3.6., iar apoi executam clic pe butonul Finish. Tabela de interogatie rezultanta Angajat Query.

3. Find Duplicates Query

Acest tip de interogatie filtreaza toate inregistrarile intr-o singura tabela care contin valori duplicate

in cimp.

Pasul 1: Clic butonul New al ferestrei Queries bazei de date, selectam Find Duplicates Query

Wizard din fereastra New Query, urmat de un clic pe butonul OK, ca in Figura 3.10.

Pasul 2: Din lista indicata in fereastra de dialog ce apare, vom selecta tabela sau tabela de interogare

care dorim sa o verficam pentru gasirea valorilor duplicate, urmata de un clic pe butonul Next.

Page 22: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

22

Figura 3.5. Fereastra de dialog in Simple Query Wizard

Figura 3.6. Salvarea interogării cu numele Angajat Query

Page 23: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

23

Figura.6.7. Fereastra de dialog pentru selectarea Find Duplicates Wizard

Figura 3.8. Fereastra de dialog in Find Duplicates Wizard

Page 24: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

24

Figura. 6.9. Fereastra Find Duplicates Query Wizard

cu valorile cimpurilor selectate pentru verificare

Deoarece nu exista valori duplicate in Tabela Angajat supusa verificarii tabela de interogatie care

va fii produsa este complet black, nu contine nici o informatie asupra vreunui cimp.

Pasul 3: In cazul in care exista valori duplicate va trebui sa salvam tabela de interogatie rezultata

sub un nume, iar apoi vom executa un clic pe butonul Finish.

Stergerea unei Interogatii (Delete Query)

Pentru a sterge o tabela de interogatie vom executa un clic pe bara de titlu a tabelei iar apoi vom

apasa tasta Delete de pe claviatura.

Page 25: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

25

Structured Query Language-SQL

Limbajul SQL este un limbaj de interogare orientat pe rezultate folosit la accesarea datelor pentru

interogare, insertie, actualizare si modificari structurale. Desi limbajul SQL este cel mai puternic

sub aspectul posibilitatii de asigurare a interogarilor, are functii cu mult mai puternice decit simpla

regasire a datelor. Printre functiile sale amintim:

Executia de interogari

Crearea bazelor de date

Crearea si modificarea structurii tabelelor

Insertia de inregistrari noi

Modificarea inregistrarilor existente

Crearea de relatii multitabel

Limbajul de programare structurat SQL a fost creat pentru a indica bazei de date CE ANUME

doreste utilizatorul sa efectueze, si nu CUM sa se efectueze actiunea respectiva, comparativ cu

limbajul VISUAL BASIC pentru APLICATII (VBA) care indica calculatorului exact operatiile

pe care acesta trebuie sa le execute secvential. O interogare transmite pur si simplu o cerere de

extragere dintr-o baza de date a unor inregistrari care satisfac anumite criterii. Serverul bazei de

date care intelege limbajul de interogare structurat SQL determina cele mai eficiente mijloace de

satisfacere a cererii de date. Un astfel de limbaje structurat este construit in esenta pentru a permite

generarea unui proces de interogare robust. O instructiune SQL este alcatuita, in esenta, din patru

formulare:

SELECT pentru generarea unei interogari

UPDATE pentru modificarea datelor stocate intr-una sau mai multe inregistrari

INSERT pentru inserarea unei noi inregistrari in tabelul specificat

CREATE pentru construirea unui nou tabel, o noua vedere sau unei noi structuri din baza

de date.

Limbajul de programare structurat SQL consista dintr-un numar de cuvinte cheie si concepte de

baza. Pentru a accesa editorul de text vom incerca sa cream in Design View o noua interogare,

inchizind de aceasta data caseta de dialog cu optiunea “Show Table”, fara a adauga vreuna din

aceste tabele. Selectam din meniul View optiunea SQL View pentru a comuta de pe interfata

grafica (QBE) pe editorul de text al liniilor de cod SQL. Pentru vizualizarea rezultatelor in orice

moment in ferestra editor SQL vom inscrie numele interogarii, iar apoi vom selecta

ViewDatasheet. Pentru a comuta din nou in QBE mode (interfata grafica), in scopul vizualizarii

aceleasi interogari, vom selecta View Design View.

Page 26: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

26

Figura 3.10. Crearea in Design View a unei noi interogari

Figura 3.11. Fereastra editor SQL cu prima linie de cod SQL de tip SELECT.

Figura 3.12. Vizualizarea rezultatelor in Datasheet View

Figura 3.13. Comutarea din SQL mode in QBE mode

Dupa cum putem observa construirea unei interogari SQL nu prezinta dificultati, ca de altfel nici

comutarea dintr-un mod in celalat. Vom vedea in cele ce urmeaza ca nici sintaxa liniilor de cod

SQL nu este complicata, cu exceptia cazurilor de scriere a unor linii de cod SQL prea lungi ce ar

putea conduce la aparitia erorilor. Din acest motiv in Access este de preferat utilizarea limbajului

grafic QBE decit a celui structurat SQL. In general pentru scrierea liniilor de cod SQL pentru

operarea unor interogari de baza utilizam urmatoarele cuvinte cheie:

SELECT…FROM ce returneaza un set de inregistrari din unul sau mai multe tabele

Page 27: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

27

SELECT…INTO ce transfera inregistrarile unor cimpuri dintr-unul sau mai multe tabele

intr-un nou tabel (make table-query)

DISTINCT ce returneaza numai inregistrarile distincte din cimpurile uni tabel sau a mai

multor tabele (elimina inregistrarile duplicate)

WHERE ce defineste conditiile folosite pentru evaluarea inregistrarilor returnate

WHERE…LIKE ce defineste sablonul folosit pentru evaluarea inregistrarilor returnate

WHERE…IN ce defineste un grup de valori folosit pentru evaluarea inregistrarilor

returnate

ORDER BY ce defineste ordinea de sortare care va fi respectata de inregistrarile din setul

de inregistrari returnat dupa anumite criterii

GROUP BY ce grupeaza inregistrarile din setul de inregistrari returnat dupa anumite

criterii

Sum, Avg, Count, Max, Min, Var, StDev, First, Last pentru efectuarea unor operatii

aritmetice, calculul unor statistici (medie aritmetica, varianta sau deviatie standard),

selectia valorii maxime sau minime a unei inregistrari, sau selectia primei sau ultimei

inregistrari dintr-un tabel

Having ce specifica care inregistrari grupate sint afisate printr-o instructiune SELECT

combinata cu o clauza de tip GROUP BY.

AS pentru desemnarea unui alias

INNER JOIN, LEFT JOIN, RIGHT JOIN pentru combinarea inregistrarilor a doua sau

mai multe tabele

INSERT ce insereaza o noua inregistrare si valorile specificate intr-un tabel

UNION ce returneaza un set de inregistrari care contine seturile combinate a doua sau mai

multe inregistrari

UPDATE ce actualizeaza una sau mai multe inregistrari la valorile specificate

CREATE TABLE ce defineste un tabel nou in baza de date curenta.

ALTER TABLE ce defineste noi cimpuri in cadrul tabelului din baza curenta

DROP TABLE ce sterge un tabel al bazei de date

CREATE INDEX ce creaza un index pentru un tabel al bazei de date curente pentru care

se specifica un anumita inregistrae sau un anumit cimp.

DROP INDEX ce sterge indexul aferent unui anumit cimp

1. Instructiunea SQL SELECT...FROM

Instructiunea SELECT…FROM este utilizata intr-o linie de cod SQL pentru selectarea

informatiei dintr-o tabela sau mai multe, localizate intr-o baza de date. Dupa cum se poate vedea

aceasta instructiune SQL contine de fapt doua cuvinte cheie: SELECT informatie FROM un tabel.

Sintaxa acestei instructiuni este reprezentata prin urmatoarea structura:

SELECT nume_cimp FROM nume_tabel

sau, intr-o forma mult mai completa:

Page 28: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

28

SELECT [predicat] { * | tabel.* | [tabel.]cimp1 [AS alias1] [, [tabel.]cimp2 [AS alias2] [,

...]]} FROM expresie_tabel [, ...] [IN baza_de_date_externa]

[WHERE... ]

[GROUP BY... ]

[HAVING... ]

[ORDER BY... ]

[WITH OWNERACCESS OPTION]

Instructiunea SELECT are urmatoarele parti prezentate in Tabelul 6.1.

Tabelul 6.1: Partile componente ale instructiunii SELECT…FROM

PARTI DESCRIERE

Predicat Utilizate pentru restrictionarea numarului de inregistrari returrnate si poate fi

unul dintre urmatoarele predicate:ALL (default), DISTINCT,

DISTINCTROW, or TOP. In cazul nespecificarii este considerat predicatul

ALL (default).

* Specifica faptul ca toate cimpurile din tabelul sau tabelele specificate sint

selectate.

Tabel Numele tabelului continind cimpurile din care sint selectate inregistrarile.

cimp1, cimp2 Numele cimpurilor continind datele ce dorim sa le extragem. Daca sint incluse

mai multe cimpuri ele sint selectate in ordinea in care sint scrise in lista da

cimpuri.

alias1, alias2 Numele utilizate ca nume alternative ce se atribuie cimpurilor din tabel pentru

inlocuirea numelor originale.

Expresie_tabel Numele tabelului sau tabelelor continind datele care dorim sa le extragem.

baza_de_date_externa Numele bazei de date continind tabelele care nu se gasesc localizate in baza

curenta.

Observaţii:

Pentru realizarea acestei operatii motorul bazei de date Microsoft®Jet cauta tabelul sau

tabelele specificate, extrage cimpurile selectate, selecteaza inregistrarile care indeplinesc

criteriul de selectie, si sorteaza or grupeaza inregistrarile rezultate intr-o ordine specificata.

Instructiunea SELECT nu are caracter destructiv, si anume nu schimba cu nimic datele din

baza de date.

Daca dorim selectarea mai multor cimpuri din tabele diferite, la care unul dintre cimpuri este

comun trebuie sa specificam in linia de cod SQL numele tabelelor cu extensia cimpurilor ce

trebuiesc selectate, utilizind in acest caz cuvintele cheie INNER JOIN in raport cu cimpurile

comune (ON).

Operatia INNER JOIN combina inregistrarile din doua tabele ori de cite ori exista doua cimpuri

comune cu valori ce coincid.

Sintaxa:

FROM tabel1 INNER JOIN tabel2 ON tabel1.cimp1 operator_de_comparatie tabel2.cimp2

Page 29: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

29

Operatia INNER JOIN are urmatoarele parti:

PARTI DESCRIERE

tabel1, tabel2 Numele tabelelor implicate in operatie

cimp1, cimp2 Numele cimpurilor in raport cu care se face combinarea. Aceste

cimpuri trebuie sa fie de acelasi tip si sa contina acelasi tip de

date, si nu este absolut necesar sa aibe acelasi nume.

Operator_de_comparatie Oricare dintre urmatorii operatori relationali de comparatie:

„=,” „<,” „>,” „<=,” „>=,” sau „<>.”

Observaţii

Putem utiliza operatia INNER JOIN oricind intr-o clauza FROM a unei instructiuni

SELECT.

Putem utiliza operatia INNER JOIN pentru combinarea de exemplu a inregistrarilor din

doua tabele DepartamentTab si AngajatiTab pentru selectia tuturor angajatilor din fiecare

departament (sectie, birou). In contrast, pentru selectia tuturor departamentelor (chiar daca

unele nu au angajati repartizati) sau toti angajatii (chiar daca o parte din ei nu sint

repartizati unui departament), toate aceste situatii pot fi rezolvate cu operatii de tip LEFT

JOIN sau RIGHT JOIN pentru crearea unei operatii outer join.

Putem lega intre ele (nest) mai multe clauze ON intr-o instructiune JOIN, folosind

urmatoarea sintaxa:

SELECT lista_cimpuri

FROM tabel1 INNER JOIN tabel2

ON tabel1.cimp1 operator_de_comparatie tabel2.cimp1 AND

ON tabel1.cimp2 operator_de_comparatie tabel2.cimp2) OR

ON tabel1.cimp3 operator_de_comparatie tabel2.cimp3)];

In mod asemanator pot fi legate (nested) intre ele mai multe operatii INNER JOIN in cazul

mai multor tabele.

SELECT lista cimpuri

FROM tabel1 INNER JOIN

(tabel2 INNER JOIN [( ]tabel3

[INNER JOIN [( ]tabelk [INNER JOIN ...)]

ON tabel3.cimp3 operator_de_comparatie tabelk.cimpk)]

ON tabel2.cimp2 operator_de_comparatie tabel3.cimp3)

ON tabel1.cimp1 operator_de_comparatie tabel2.field2;

2. Instructiunea conditionala SELECT…FROM cu clauza WHERE

Daca dorim sa selectam numai anumite inregistrari din cimpurile indicate intr-o instructiune

SELECT…FROM vom utiliza clauza de tip WHERE, avind urmatoarea sintaxa:

SELECT nume_cimp FROM nume_tabel WHERE criteriu_de_selectie

Pentru clauza WHERE este necesara utilizarea in interogare a unuia dintre urmatorii operatori de

comparatie, in scopul specificarii criteriilor de selectie:

LIKE, operator de comparatie de tip sir de caractere

Page 30: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

30

=, egal cu

>, mai mare decit

<, mai mic

>=, mai mare sau egal

<=, mai mic sau egal

!=, diferit de

!>, nu mai mare decit

!<, nu mai mic decit

3. Instructiunea SELECT…FROM cu clauza ORDER BY

O astfel de instructiune este utilizata pentru returnarea tuturor inregistrarilor in ordine ascendenta

sau descendenta dintr-un cimp sau mai multe cimpuri specificate.

Sintaxa:

SELECT lista_cimpurilor FROM nume-tabel WHERE criteriu_de_selectie [ORDER BY

cimp1 [ASC | DESC ][, cimp2 [ASC | DESC ]][, ...]]]

4. Instructiunea SELECT…FROM ce utilizeaza predicatele ALL, DISTINCT,

DISTINCTROW si TOP

Sintaxa:

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]

FROM nume_tabel

In acest caz instructiunea SELECT contine urmatoarele parti prezentate in Tabelul 6.2.

Tabelul 6.2. Partile componente ale instructiunii SELECT utilizind predicate

PARTI DESCRIERE

ALL Presupus subinteles (default) daca nu este inclus nici un predicat.

DISTINCT Omite inregistrari ce contin data duplicate in cimpurile selectate. Pentru a fi inclus in

rezultatele interogarii valorile fiecarui cimp listat in instructiunea SELECT trebuie

sa fie unice. Daca instructiunea SELECT contine mai multe cimpuri, combinatia

valorilor tuturor acestor cimpuri trebuie sa fie unica pentru o anumita inregistrare

pentru a putea fi inclusa in rezultatul obtinut.

DISTINCTROW Omite datele din cadrul inregistrarilor duplicate, nu numai din cimpuri. Are efect

doar cind selectam citeva cimpuri, ci nu toate, dintr-o tabela sau mai multe care

intra in interogare. Este ignorata daca introgarea include doar un tabel, sau sint

incluse toate cimpurile dintr-un tabel sau mai multe.

TOP n [PERCENT] Returneaza anumit numar de inregistrari care apar la inceputul sau sfirsitul unui

interval specificat prin clauza ORDER BY. Numarul inregistrarilor selectate trebuie

sa fie diferit de jumatate din totalul lor pentru ca aceasta instructiune sa dea a da

rezultate exacte. In loc sa specificam numarul inregistrarilor selectate putem indica

un procentaj al numarului total de inregistrari selectate.

Nume_tabel Numele tabelului din care extragem inregistrarile.

Page 31: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

31

Bibliografie

1. Fusaru, D., Aplicaţii economice în Visual Basic şi Access, Editura Fundatiei România de

Mâine, 2007

2. Gherasim, Z., Programare si baze de date, Editura Fundatiei România de Mâine, 2007.

3. Ionescu, B. şi colectiv Informatica utilizatorului: Office 2007, Ed. InfoMega, Bucureşti,

2008.

4. Popescu, G. " Sisteme informatice. Proiectare şi programare în Aceess ", Ed. “Ovidius”

University Press, Constanta, 2003.

5. Tudoroiu, N., Grigore M., s.a. Informatică de gestiune, Editura Europolis, 2004.

Page 32: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

32

FORMULARE

Obiectivele lecţiei în corelaţie cu competenţele acumulate

Înţelegerea noţiunilor de bază privind formularele;

Operarea corectă în ACCESS cu mediul vizual de creare/editare a formularelor.

Noţiuni cheie:

Form, columnar, justified, tabular, datasheet.

Crearea si utilizarea formularelor ACCESS

Formele sint utilizate ca o alternativa la introducerea datelor intr-o tabela a bazei de date.

1. Creerea formelor utilizind Wizard

Pentru a crea o forma ACCESS utilizind asistenta wizard vom parcurge urmatoarele etape:

Pasul 1: Clic optiunea Create form by using wizard din fereastra bazei de date data1. mdb.

Pasul 2: Din drop-meniul Tables/Queries selectam tabela sau interogatia a carei foaie de date va

servi support pentru creerea formei respective. Vom suprailumina cimpurile din foaia de date,

fereastra Available Fields, care dorim sa le includem in forma respectiva si printr-un clic pe

butonul cu sageata (>) vom transfera aceste cimpuri in cea de-a doua fereastra, Selected Fields. In

cazul unei manevre eronate a unui cimp, acesta poate fii utilizind butonul cu sageata (<). Dupa ce

toate cimpurile au fost selectate in mod correct vom clica butonul Next >, precum in Figura 4.1.

Figura 4.1. Form Wizard-fereastra de dialog

Pasul 3: Pe ecranul care urmeaza vom selecta una din optiunile de format ale formei create:

Columnar care afiseaza o singura inregistrare deodata cu etichetele si forma cimpurilor

listate de o parte si de alta in coloane.

Justified care afiseaza o singura inregistrare cu etichetele si forma cimpurilor de-a lungul

ecranului

Page 33: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

33

Tabular care listeaza mai multe inregistrari deodata pe o pagina cu cimpurile pe coloane

iar inregistrarile pe linii

Datasheet care afiseaza mai multe inregistrari in Datasheet View

Pasul 4: Clic butonul Next > pentru a trece la ecranul urmator

Figura 7.2. Form Wizard cu optiunile de format

Pasul 5: Selectam stilul de vizualizare pentru forma creata din lista indicata de optiuni in Figura

4.3. si executam un clic pe butonul Next >.

Figura. 7.3. Form Wizard-optiuni cu stilul de visualizare al formei create

Pasul 6: De pe ultimul ecran stabilim un nume pentru forma creata, Form_Angajat si selectam

optiunea “Open the form to view or enter information” pentru a deschide forma in Form View sau

“Modify the form’s design” pentru a o deschide in Design View, dupa cum remarcam in Figura 4.4.

Executam un clic pe butonul Finish pentru a crea forma respectiva.

In Figura 4.5 avem posibilitatea vizualizarii formei Form_Angajat in Form View. Pentru

vizualizarea tuturor inregistrarilor vom utiliza butoanele din partea de jos a ferestrei de afisare a

inregistrarii, pentru prima, urmatoarea, sau ultima inregistrare.

Page 34: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

34

2. Crearea formularelor în Design View

Pentru creerea unei forme in Design View plecind de la zero vom parcurge urmatoarele etape:

Pasul 1: Clic butonul New din fereastra formei bazei de date data1.mdb.

Pasul 2: Selectam optiunea Design View si alegem tabela sau interogatia care dorim sa fie

suportul noii forme ce va fii creata, din drop-down meniul ce apare in fereastra, dupa cum se poate

vedea in Figura 4.5.

Figura 4.4. Form Wizard, denumirea formei si selectarea optiunii de deschidere

Figura 4.5. Form_Angajat in Form View

Page 35: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

35

Figura 4.6. Creerea unei forme in Design View –specificarea sursei de date

Pasul 3: Selectam View|Toolbox din bara de meniu pentru a vizualiza bara de instrumente

flotanta cu optiuni suplimentare din Figura 4.7.

Figura. 7.7. Bara de instrumente flotanta

Pasul 4: Putem sa controlam noua forma prin executia unui clic si tragerea numelor cimpurilor din

fereastra flotanta a optiunii Field List. ACCESS creaza o casuta text pentru valoarea si eticheta

numelui cimpului cind actiunea este indeplinita. Pentru a controla toate cimpurile din Field List,

vom executa un dublu-clic a barei de titlu a ferestrei Field List si tragerea tuturor cimpurilor

suprailuminate la noua forma, precum ne indica Figura 4.7. Forma rezultata este o noua tabela

creata din tabela sursa Date personale, din care am retinut doar cimpurile ce ne-au interesat, dupa

cum putem vedea in figura 7.8.:

Page 36: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

36

Figura 4.8. Creerea unei Forme in Design View: drop-down meniu

3. Adaugarea de noi inregistrari intr-o forma

Pentru a dauga noi inregistrari intr-o forma deja creata vom apasa pe tasta Tab de pe keyboard

pentru a ne deplasa de la un cimp la altul sau pur si simplu putem executa un clic pe butonul

New Record din partea de jos al ferestrei Form. Inregistrarile sint automat salvate pe

masura ce sint introduse in tabela Form, nefiind deci necesara salvarea lor de fiecare data

manual.

4. Editarea Formelor

In cazul modificarii unei forme in Design View urmatoarele elemente s-ar putea dovedi

benefice atit pentru conceptor cit si pentru utilizator:

Grid lines – Prestabileste o serie de linii si puncte in Design View Form pentru a facilita

alinierea cimpurilor din tabela. Pentru a bascula (toggle) aceasta caracteristica selectam

View|Grid din bara de meniu.

Snap to Grid - Selectam Format|Snap to Grid pentru alinierea formei obiectelor cu gridul

pentru alinierea cu usurinta a obiectelor formei sau dezactivam (uncheck) aceasta

caracteristica pentru a permite obiectelor sa fie mobile printre liniile de grid si puncte.

Resizing Objects – Permite redimensionarea obiectelor formei respective cu ajutorul mouse-

ului.

Change form object type – Permite schimbarea tipului de obiect al formei fara a fii necesara

creerea unei noi forme, prin executarea unui dreapta clic cu mouse-ul asupra obiectului

respectiv urmata de selectia Change To si apoi reselectarea noului tip de obiect valabil

din lista afisata in fereastra.

Page 37: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

37

Label/object alignment – Fiecare obiect al formei precum si eticheta sa sint limitate si se

deplaseaza impreuna ori de cite ori unul din ele este deplasat cu mouse-ul. Prin urmare

pentru a schimba pozitia obiectului si a etichetei sale in raport unul cu celalalt mai intii

pozitionam mouse-ul deasupra obiectului in coltul sting, executam un clic asupra sa si-l

tragem in pozitia dorita.

Tab order – Altereaza ordinea obiectelor formei prin selectarea View|Tab Order... din bara

de meniu.

Form Appearance – Schimba culoarea de fond a formei prin executarea unui clic pe

butonul Fill/Back Color de pe bara de instrumente de formatare. Putem schimba culoarea

fiecarui obiect individual al formei prin suprailuminarea obiectului si selectarea unei culori

din paleta de culori Font/Fore Color a barei de instrumente de formatare. Fontul si marimea

sa, efectul, alinierea, bordarea obiectelor precum si efectele speciale pot fii modificate

folosind bara de instrumente de formatare.

5. Floating Toolbox -Alte tipuri de control a formelor

List Boxes

Combo Boxes

Check Boxes

Option Groups

Command Buttons

List Boxes si Combo Boxes

Se dovedesc a fii cele mai simple tehnici de introducere a datelor de intrare intr-o forma. Diferenta

intr cele doua tipuri este aceea ca listele (Lists Boxes) afiseaza toate valorile posibile dintr-o forma

pe cind cutiile Combo (Combo Boxes) nu afiseaza datele pina cind nu executam clic pe butonul

sageata pentru a deschide lista de valori ale formei respective, dupa cum se poate vedea din

exemplele de mai jos:

COMBO BOX LIST BOX

Whitaker Hall

Academic 3

Ben Hill Griff in III Hall

Reed Hall

Utilizind liste si cutii combo numele si prenumele angajatilor nu mai trebuiesc repetate pentru

fiecare inregistrare in parte, ci va trebui ales dintr-o lista care apoi va afisa toate elementele

corespunzatoare fiecarui angajat in parte. Pentru a adauga o lista sau o cutie combo unei forme vom

proceda astfel: Open the form in Design View.

Pasul 1: Selectam View|Toolbox pentru vizualizarea elementelor de control din Toolbox,

asigurindu-ne caci butonul “Control Wizards” este apasat:

Pasul 2: Executam un clic pe butonul list sau combo box din Toolbox si desenam conturul

formei. In acest timp apare pe ecran un dialog de asistenta combo box wizard

Pasul 3: Selectam suportul sursa pentru valorile furnizate listei sau cutiei combo si executam apoi

un clic pe butonul Next >, precum se poate observa in Figura 4.9.

Page 38: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

38

Figura 4.9. Combo Box Wizard

Pasul 4: In functie de optiunea aleasa in prima caseta de dialog, urmatoarele optiuni pot varia.

Daca aIegem o tabela sau o interogatie urmatoarea caseta de dialog din figura 3.40 va apare pe

ecran.

Figura 4.10. Combo Box Wizard-selectia sursei de inregistrari ( tabelele Angajat sau Date

personale) pentru noua forma

Selectam tabela sau interogatia din care luam inregistrarile pentru a fii incluse in noua forma, de

exemplu tabela Date personale. Executam un clic pe butonul Next > si alegem cimpurile din

tabela selectata

Pasul 5: Clic Next > pentru a continua iar apoi in noua caseta de dialog prezentata in figura 3.41

alegem latimea cutiei combo urmarind instructiunile de pe ecran.

Pasul 6: Clic Next >

Page 39: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

39

Pasul 7: Urmatorul dialog ne permite sa salvam sub un anumit nume forma nou creata, Date-

Personale_Combo. Vom executa un clic pe butonul Finish pentru creerea noii forme, prezentata

in Figura 4.10.

Pentru a vizualiza datele corespunzatoare tuturor inregistrarilor selectate va trebui sa executam clic

pe butonul sageata.

Check Boxes si Butoane Option

Folosim astfel de tehnici de creere a noi forme pentru a afisa valorile logice binare Yes/No,

True/False sau On/Off. Numai una dintre aceste butoane de optiuni putem selecta in acelasi timp

spre deosebire de grupul Check Boxes unde putem selecta oricare dintre valori. In mod normal

folosim aceste butoane de control ori de cite ori cele cinci optiuni sau mai putin sint valabile.

Cutiile Combo sau listele sint preferabile in cazul unor liste lungi de optiuni. Pentru adauga o

check box ori option group vom parcurge urmatoarele etape:

Pasul 1: Executam un clic pe Option Group din Toolbox si vom desemna cu mouse-ul suprafata

pe care vom plasa acest grup. In acest moment pe ecran va apare dialogul wizard din figura 3.43,

care ne va asista pe parcursul creerii unei noi forme. In prima fereastra vom introduce etichetele

pentru optiuni si vom apasa tasta tab pentru a intra etichete suplimentare. Dupa introducerea tuturor

acestor etichete vom executa clic pe butonul Next.

Figura 4.11. Option Group Wizard

Pasul 2: In urmatorul ecran care apare in figura 3.44 vom selecta o valoare prestabilita si vom

executa un nou clic pe butonul Next >.

Figura 4.12. Option Group Wizard-Options

Page 40: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

40

Pasul 3: Selectam valorile corespunzatoare si executam clic pe butonul Next >.

Figura 4.13. Option Group Wizard-selectia valorilor pentru optiuni

Pasul 4: Selectam una din cele doua optiuni din caseta de dialog prezentata in figura 3.46 si vom

executa un clic pe butonul Next >.

Figura. 7.14. Option Group Wizard-selectarea uneia din cele doua optiuni

Pasul 5:Selectam tipul si stilul optiunilor de grup si apoi executam un clic pe butonul Next >.

Page 41: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

41

Figura 4.15. Option Group Wizard-selectia tipului si stilului optiunilor de grup

Pasul 6: Selectam numele de captare si executam clic pe butonul Finish.

Butoane de comanda

Sint plasate inaintea fiecarei inregistrari pentru a deschide o alta forma.

Pasul 1: Vom deschide forma in Design View si verficam daca butonul Control Wizard este apasat.

Pasul 2: Executam un clic pe icoana butonului de comanda din Toolbox si desemnam suprafata

formei pe care vom plasa acest buton. Pe ecran va apare butonul Command Wizard.

Pasul 3: Prima fereastra de dialog ce apare in figura 3.47 este divizata in doua ferestre, in cea din

stinga aparind o lista cu categorii iar in cea din dreapta pentru fiecare categorie in parte apare o lista

cu actiuni. Vom face o selectie urmata de executarea unui clic pe butonul Next >.

Figura 4.16. Command Button Wizard-Categorii si Actiuni

Pasul 4: Urmatoarele pagini de optiuni vor varia in functie de actiunile selectate. Vom continua

selectia optiunilor pentru butonul de comanda.

Page 42: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

42

Pasul 5: Vom selecta optiunile pentru modul de aparenta a butonului de comanda prin alegerea

etichetei de captare si a unei icoane. Vom baleia lista tuturor imaginilor valabile din caseta Show

All Pictures prezentata in ecranul din Figura 4.17 pentru a selecta una dintre ele drept icoana

pentru butonul de comanda. Vom executa un clic pe butonul Next > pentru a trece la etapa finala.

Pasul 6: Vom desemna o eticheta pentru butonul de comanda si vom executa un clic pe butonul

Finish pentru incheierea procesului de creere a noului tip de buton de comanda.

Figura 4.17. Command Button Wizard-Selectia stilului butonului de comanda (stone)

Pasul 7: Vom introduce un nume pentru butonul de comanda si vom executa un clic pe butonul

Finish pentru creerea noului tip de buton de comanda.

Bibliografie

1. Fusaru, D., Aplicaţii economice în Visual Basic şi Access, Editura Fundatiei România de

Mâine, 2007

2. Gherasim, Z., Programare si baze de date, Editura Fundatiei România de Mâine, 2007.

3. Ionescu, B. şi colectiv Informatica utilizatorului: Office 2007, Ed. InfoMega, Bucureşti,

2008.

4. Popescu, G. " Sisteme informatice. Proiectare şi programare în Aceess ", Ed. “Ovidius”

University Press, Constanta, 2003.

5. Tudoroiu, N., Grigore M., s.a. Informatică de gestiune, Editura Europolis, 2004.

Page 43: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

43

RAPOARTE

Obiectivele lecţiei în corelaţie cu competenţele acumulate

Înţelegerea noţiunilor de bază privind rapoartele;

Operarea corectă în ACCESS cu mediul vizual de creare/editare a rapoartelor.

Noţiuni cheie:

Report, columnar, justified, tabular, datasheet, .

Crearea Rapoartelor in ACCESS (Reports)

Rapoartele organizeaza si grupeaza informatia dintr-o tabela sau interogatie si furnizeaza o

modalitate de tiparire a datelor dintr-o baza de date.

1. Crearea unui Raport folosind Wizard

Pentru a crea un raport utilizind aceasta tehnica vom parcurge urmatoarele etape:

Pasul 1: Dublu clic pe optiunea “Create report by using wizard” din fereastra bazei de date,

categoria de obiecte Reports.

Pasul 2: Selectam informatia sursa valabila pentru creerea raportului prin transferarea cimpurilor

din fereastra de meniu Available Fields in fereastra Selected Fields folosind butonul cu o singura

sageata (<) sau cu doua sageti (<<) pentru transferarea simultana a tuturor cimpurilor, dupa cum

putem constata din figura 5.1. Clic pe butonul Next pentru a trece la un nou ecran.

Figura 5.1. Report Wizard: Transferarea cimpurilor

din tabelele Angajat si Date personale

Pasul 3: In fereastra ecranului care apare in Figura 5.1. utilizam optiunea Priority daca dorim

schimbarea ordinii de prezentare a cimpurilor. Clic pe butonul Next pentru a trece la urmatorul

ecran.

Page 44: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

44

Pasul 4: Daca o anumita ordine a inregistrarilor se impune o putem faca in cadrul acestui ecran

prezentat in Figura 5.2. care ne ofera primele patru pozitii in ordine ascendenta sau descendenta.

Clic pe butonul Next pentru a trece la urmatorul ecran.

Pasul 5: Ecranul care apare in Figura 5.3. ofera posibilitatea alegerii formatului de prezentare a

datelor in raport precum si orientarea paginii. Clic pe butonul Next pentru aparitia ecranului

urmator.

Figura 1.2. Report Wizard-Stabilirea ordinii de prezentare a cimpurilor

Figura 5.3. Report Wizard-Selectia ordinii inregistrarilor (primele 4 pozitii)

Page 45: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

45

Figura 5.4. Report Wizard-Selectia formatului si al orientarii paginii de date

Pasul 6: Selectam stilul de prezentare din lista derulanta cu optiuni din fereastra de ecran prezentata

in Figura 5.5. Clic pe butonul Next pentru a trece la ultimul ecran din Figura 5.6.

Figura 5.5. Report Wizard-Selectia stilului de prezentare a unei foi de date

Pasul 7: In ferestra ecranului final sintem invitati sa dam un titlu raportului si sa alegem o optiune

de manipulare a raportului

Page 46: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

46

Figura 5.6. Report Wizard-Desemnarea titlului de raport si prezentarea

optiunilor de manipulare a raportului

2. Crearea unui Raport in Design View

Pentru a crea un raport incepind de la zero selectam Design View din fereastra Reports Database.

Pasul 1: Executam un clic pe butonul New, suprailuminam “Design View” si vom alege sursele

de date pentru raport din drop-down meniul care apare in fereastra ecranului din Figura 5.7. dupa

care executam un nou clic de aceasta data insa pe butonul OK.

Pasul 2: In ecranul care apare in Figura 5.8. intilnim acelasi design ca si in cazul creerii unei forme

in Design View, inclusiv meniul Toolbox. Deci pentru creerea unui report in Design View vom

proceda in mod asemanator ca si in cazul Formelor in Design View. Din caseta cu datele sursa care

apare pe ecran vom executa un clic pe bara de titlu al acesteia suprailuminind toate cimpurile

deodata. Vom transfera intrgul pachet de inregistrari prin tragerea mouse-ului pe suprafata sectiunii

Details. Putem chiar adauga pe aceeasi suprafata citeva controale selectate din meniul Toolbox.

Pasul 3: Clic pe butonul Print Preview pentru a vizualiza documentul creat.

Figura 5.7. Report Design View-Selectia sursei de date

Page 47: INFORMATICA MANAGERIALA- MICROSOFT ACCESS · (ii) aspectul programarii procedurale presupune o aplicatie ca fiind un set de comenzi executate secvential (iii) aspectul de programare

47

Figura 5.8. Report Design View –Pozitionarea cimpurilor de date

3. Imprimarea rapoartelor (Print)

Pentru imprimarea raportului creat trebuie sa selectam din bara de meniu FilePage Setup pentru

ajustarea marginilor, dimensiunilor, orientarii, coloanelor documentului creat. Apoi vom selecta

Print din File meniu sau de pe bara de instrumente.