Sunteți pe pagina 1din 91

BAZE DE DATE

ACCESS

Prof. Bljel Ana-Maria


NCHIDE APLICAIA
1

CUPRINS
CONCEPTUL DE BAZE DE DATE-SGBD
LUCRUL CU TABELE N ACCESS
CREAREA FORMULARELOR
CREAREA INTEROGRILOR
CREAREA RAPOARTELOR
CREAREA MODULELOR

CREAREA MACRO
CREAREA UNEI PAGINI WEB

CONCEPTUL DE BAZ DE DATE


Organizarea datelor n vederea prelucrrii pe calculator este o

activitate de mare importan .

Din punct de vedere al prelucrrii pe calculator, datele sunt definite

de trei elemente:

Un identificator (numele atribuit)


Atribut (tipul de dat pe care-l conine)
Valoare (valoarea propriu-zis).
Informaia este rezultatul prelucrrii datelor.
Organizarea datelor implic:

Organizarea datelor n memoria intern,care cuprinde structura de tip


list,coad i stiv.
Organizarea datelor pe memoria extern, care cuprinde structurile de tip
fiier i baze de date.

DIFERENA NTRE BAZA DE DATE I


SISTEMUL DE GESTIONARE A
BAZEI DE DATE
Baza de date este doar o component a SGBD care

conine datele propriu-zise este un container care


stocheaz date structurate.
Sistemul de gestiune a BD (SGBD) reprezint software-ul
pentru baze de date care are rolul de a controla
organizarea i integritatea bazei de date, de regsire a
datelor din baza de date , precum i de a asigura stocarea
fizic, securitatea, replicarea i recuperarea informaiilor
dup erori.
Microsoft Access este un SGBD comercial de tip desktop,
fiind adecvat administrrii bazelor de date mici i medii.
4

SGBD DE TIP DESKTOP


UN SGBD de tip desktop este instalat i ruleaz local. Este

o aplicaie autonom care stoceaz o baz de date i


efectueaz ea nsi toate procesrile SQL sau se comport
ca i client al unui server SQL.
SQL este

UN LIMBAJ DE PROGRAMARE
NEPROCEDURAL
NGLOBAT SAU INTERACTIV
STANDARDIZAT
UTILZAT PENTRU A MANIPULA DATELE I OBIECTELE DIN BAZA
DE DATE

SGBD execut programul SQL i afieaz rezultatul sau

mesajele de eroare.

MODELUL RELAIONAL AL BAZEI


DE DATE
Se bazeaz pe teoria matematic a mulimilor, tabelele

reprezentnd analoagele mulimilor colecii de elemente


distincte care au proprieti comune.
O baz de date = colecie format din unul sau mai multe
tabele.
Tabelul reprezint:
structura bazei de date care stocheaz datele ;
Conine date despre un tip de entitate : clas de obiecte,
evenimente sau cocepte cu proprieti comune;
Gril bidimensional : coloane, rnduri;
La intersecia rnd-coloan se afl valoarea;
Nume unic n baza de date.
6

MODELUL RELAIONAL
AL BAZEI DE DATE
TERMENI ECHIVALENI
MODELUL RELAIONAL

SQL

NE-RELAIONAL

(SGBD)
RELAIE - caracterizeaz un tip de
entitate - o clas de obiecte, evenimente

TABEL

FIIER

ATRIBUT- caracterizeaz o proprietate


specific tipului entitii din relaie.

COLOAN

CMP

TUPLU- caracterizeaz o entitate (o


instan unic) al tipului de entitate

RND

NREGISTRARE

sau concepte cu proprienti comune,


care aparin lumii reale i care pot fi
distinse de alte clase.

inclus n relaia din care face parte

NORMALIZAREA BAZEI DE DATE


Prima form normal
1FN
Are coloane care

conin numai valori


atomice (o singur

valoare, nedivizat)
Nu conine grupuri

care se repet (dou


sau mai multe coloane
n relaie logic unele
cu altele)

A doua form normal


2FN

A treia form normal


3FN

1FN

2FN

Nu exist dependene

Nu exist depen-

ntrebarea : Pot
determina valoarea

ntrebarea : Pot
determina valoarea

funcionale pariale.
Rspunsul la

dene tranzitive.
Rspunsul la

coloanei non-cheie dac coloanei non-cheie


nu cunosc dect o parte dac cunosc oricare
din valoarea cheii
alt valoare a unei
primare ?

coloane non-cheie ?

CONCEPTE ALE REALIZRII UNEI


BAZE DE DATE
Nivelul extern - corespunztor utilizatorului, care

i exprim cerinele informaionale prin aa


numitele scheme externe.
Nivelul conceptual - aferent administratorului
bazei de date , care se concretizeaz n schema
conceptual.
Nivelul intern - corespunztor programatorului,
care realizeaz reprezentarea datelor pe suportul
fizic.

FUNCII ALE SGBD


ORGANIZAREA DATELOR:

crearea i manevrarea tabelelor care conin date


ntr-un format tabelar convenabil (linii i coloane)Datasheet

LEGAREA TABELELOR I EXTRAGEREA DATELOR

legarea mai multor tabele prin relaiile ntre date


(prin intermediul Interogrilor),n vederea crerii
unor tabele temporare (Recordset) , stocate n
memoria calculatorului sau n fiiere memorate pe
disc,care conin datele alese de programator.
10

FUNCII ALE SGBD


INTRODUCEREA I EDITAREA DATELOR:

Crearea i implementarea unor Formulare pentru


introducerea, afiarea i editarea datelor,ca alternativ
la prezentarea tabelar.

PREZENTAREA DATELOR:

Crearea de Rapoarte n care s poat fi sintetizate


informaiile din obiectele Recordset pe care le putei
vedea , tiprii i publica pe Internet sau Intranet.
Aceste rapoarte reprezint scopul final al unei aplicaii
SGBD!
11

SCHEMA LOGIC A COLECIEI DE


OBIECTE ACCESS

TABEL1

TABEL2

TABEL3

INTEROGARE

FORMULAR

RAPORT

12

OBIECTELE ACCESS
Table-obiect definit de utilizator

n care sunt stocate datele


primare.
Form-obiect care permite
introducerea datelor, afiarea
acestora sau controlul ntregii
aplicaii.
Query-obiect care permite
vizualizarea informaiilor
obinute prin prelucrarea datelor
din unul sau mai multe tabele i /
sau interogri.
Report-obiect care permite
formatarea i tiprirea
informaiilor obinute n urma
consultrii bazei de date sub
form de document.

Pages-obiect care include un

fiier HTML i alte fiiere suport


n vederea furnizrii accesului
la date prin intermediul
browser-ului Internet.
Macro-obiect care conine o
definiie structurat a uneia sau
mai multor aciuni pe care
Access le realizeaz ca rspuns
la un eveniment.
Module-obiect care conine
proceduri definite de utilizator
i scrise n limbajul de
programare Visual Basic.
13

CREAREA TABELELOR
MODUL DE

REALIZARE A
STRUCTURII
TABELEI

NUMELE
CMPULU
I

TIPUL DE DATE
CONINUT DE CMP

DIMENSIUNEA
CMPULUI.
SETRI SUPLIMENTARE
RELATIV LA CMPUL
DEFINIT.
SETRI
SPECIFICE
CONINUTULUI
CMPULUI

14

STABILIREA INDECIROL I A CHEII


TABELULUI
STABILIREA MODULUI DE
CUTARE ,DE SORTARE N
TABEL CU AJUTORUL
CMPURILOR INDEXATE.

CHEIA PRIMAR A
TABELEI CARE
TREBUIE S
CONIN
NREGISTRRI
UNICE!

15

CREAREA LEGTURILOR NTRE


TABELE
DESCHIDEREA
INTERFEEI PENTRU
CREAREA
LEGTURILOR.

CASET DE DIALOG
DESCHIS PRIN
MENIUL RAPID
PENTRU
ADUGAREA
TABELELOR N
SUPRAFAA
RELAIILOR.

16

CREAREA LEGTURILOR NTRE


TABELE
LEGTUR DE
TIP UNU LA
MAI MULTE.
NUMELE
TABELEI

NUMELE CMPULUI
CHEIE PRIMAR SAU
CHEIE EXTERN CARE
CREEAZ LEGTURA.

17

CREAREA FORMULARELOR
ALEGEREA
TABELELOR SAU
INTEROGRILOR DIN
CARE SE PREIAU
CMPURILE
NECESARE.

CMPURILE
TABELEI/INTEROGRI
I SELECTATE.

18

CREAREA FORMULARELOR
PRELUAREA
CMPURILOR CARE
VOR FI PREZENTE N
FORMULAR.

19

CREAREA FORMULARELOR
CMPURILE
DIN
FORMULAR.

TABELELE CARE
AU CONIN
CMPURILE CE
VOR APREA N
FORMULAR. SE
VA ALEGE
MODUL DE
PREZENTARE A
DATELOR.

CMPURILE DIN
FORMULARUL
SUBORDONAT
(SUBFORM).

20

CREAREA FORMULARELOR

MODUL DE
AFIARE A
DATELOR N
FORMULAR.

21

CREAREA FORMULARELOR
FORMATUL
GRAFIC.

22

CREAREA FORMULARELOR
NUMELE
FORMULARULUI.

NUMELE SUBFORMULARULUI.

23

FORMULARUL I SUBFORMULARUL
INCLUS N FORMA DISPONIBIL
UTILIZATORULUI
FORMULARUL

SUBFORMULAR

24

CONTROALE I FUNCIILE LOR


INSTRUMENT NUME
SELECT OBJECT
(indicator)

FUNCIE
Pointer-ul de selecie al obiectelor.

CONTROL WIZARD Activeaz/dezactiveaz programele Control

Wizard

LABEL
(etichet)
TEXT

Afieaz texte fixe ce includ numele unui


control de tip text sau instruciuni.
Caset de tip text ,editabil.

BOX
OPTION Grup de controale de tip opiune. Din grup
GROUP
TOOGLE

doar una poate fi selectat.

Buton cu dou stri : ON(selectat) care 25

CONTROALE I FUNCIILE LOR


INSTRUMENT
NUME
OPTION
BUTTON

FUNCIE
Buton opiune folosit pe formular cu alte butoane
pentru a determina care din aciuni s aib loc atunci
cnd este selectat.

CHECK
BOX

Caset de validare care,atunci cnd este selectat


comut n starea ON(-1).

COMBO

Caset combinat.Caset de text cu o list derulant.


BOX n caseta de text se poate edita i gsete elementul n
list.

LIST

Caset list. Conine o list de valori al unui cmp din


BOX
baza de date.

COMMAND

26

CONTROALE I FUNCIILE LOR


INSTRUMENT
NUME
UNBOUND
OBJECT

FUNCIE
Obiect neasociat bazei de date care include un
obiect OLE: orice obiect editat ntr-un program

FRAME

Microsoft Office.

BOUND

Obiect asociat bazei de date i care conine un


obiect OLE : imagine,grafic,sunete,filme,etc.

OBJECT
FRAME
PAGE
BREAK

Delimitator de pagin.Determin imprimanta s


trac la o nou pagin.Nu este vizibil n formular.
27

CONTROALE I FUNCIILE LOR


INSTRUMENT
NUME

FUNCIE

TAB Schimbtor de pagin.Creaz o serie de pagini care


CONTROL pot fi schimbate.Fiecare pagin conine mai multe
controale.Se utilizeaz pentru formulare prea
ncrcate.

SUBFORM/
SUBREPORT
LINE

Introduce n formular , sub form de subformular


sau raport ,un formular sau raport efectuat
anterior.

Creaz o linie dreapt pe care o putem


redimensiona i muta.
28

TIPURI DE DATE
DATE

TIPUL DATELOR
TEXT

ALFANUMERICE

NUMERICE

DESCRIERE
Cel mult 255 caractere.Valoarea
prestabilit la 50.

MEMO

Cel mult 64.000 caractere. Nu poate


fi cheie primar i nu putem

NUMBER

Sunt disponibile mai multe


subtipuri.Se alege formatul

AUTONUMBER

YES/NO

indexa dup el.

dorit(nr.zecimale,etc.)

Tip Long Integer ce se


autoincrementeaz.Nu se poate

modifica cnd exist nregistrri.


Tip boolean:Yes=-1,No=0.Nu poate fi
29
cheie dar poate fi indexat.

TIPURI DE DATE
DATE

NUMERICE

DATE
CALENDARISTICE

OBIECTE MARI

ADRESE INTERNET

TIPUL
DATELOR
CURENCY

DATE/TIME

OBJECT OLE

HYPERLINK

DESCRIERE
Format special,fix ,cu patru
zecimale,proiectat s exclud erorile de
rotunjire n calcule financiare.

Data calendaristic i ora sunt stocate


ntr-un format special fix.Se selecteaz
formatul dorit.

Include elemente grafice,fiiere cu


semnale audio i alte tipuri de date create
de o aplicaie OLE server.Nu poate fi cheie
i nici index.
Adres a unei pagini Web.Format din
trei pri: textul afiat,adresa i
subadresa.

30

SUBTIPURI DE DATE NUMERICE


MRIMEA CMPULUI

ZECIMALE

INTERVALUL VALORIC

OCTEI

BYTE

DE LA 0 LA 256

INTEGER

DE LA -32.768 LA 32.768

LONG INTEGER

DE LA -2.147.483.648 LA
2.147.483.648

SINGLE

DE LA 3,4*1038 LA + 3,4*1038

DOUBLE

15

DE LA - 1,797*10308 LA
+1,797*10308

REPLICATION ID

IDENTIFICATOR GLOBAL UNIC

16

DECIMAL

DE LA - 1028 LA + 1028

16
31

SETRI CARACTERISTICE
CMPULUI
FORMAT- permite alegerea unor formate prestabilite sau

crearea unui format personalizat pentru tipul de dat


ales.
DECIMAL PLACES -stabilete numrul de zecimale ntre
0-15.
INPUT MASK -se aplic tipului text i dat calendaristic
un format personalizat de afiare. Ex.Tel.(0262)655-224.
CAPTION -nume atribuit cmpului la vizualizare(diferit
de cel intern,deja atribuit).
DEFAULT VALUE -valoarea inclus implicit ,nainte de
actualizarea cmpului(cnd majoritatea valorilor vor fi
aceasta.)
32

SETRI CARACTERISTICE CMPULUI


VALIDATION RULE - regula de validare testat pe baza

criteriului definit sub forma unei expresii. Acestea folosesc:

Operatori: = ,- ,*, /, Mod ,< ,> , , ,AND,OR ,BETWEEN ,IN ,IS NULL.
Indentificatori: ]n paranteze drepte [ ].
Funcii.
Constante.

VALIDATION TEXT -mesajul care apare n cazul

nerespectrii regulii de validare.


REQUIRED -se stabilete la yes dac este strict necesar
completarea acestui cmp.
INDEXED - se alege opiunea pentru un index neduplicat
(primar) sau duplicat . Cmpul indexat este util n
operaiile de cutare n baza de date.
33

INTEROGRILE N ACCESS
Interogarea bazei de date nseamn regsirea i

extragerea datelor stocate n aceasta , ntr-un mod util


scopului urmrit.
Rezultatul unei interogri reprezint o foaie de rspuns
dinamic, numit Dynaset, care nu mai exist fizic dup
nchiderea interogrii.
Crearea Query se poate n urmtoarele moduri:

Crearea pas cu pas n modul Design view (fereastr de proiectare)


Utiliznd instrumentul Wizard
Exprimarea cererii n limbaj SQL
Crearea unui filtru i salvarea acestuia ca cerere de interogare.

34

TIPURI DE INTEROGRI
Interogri de tip Select care afieaz datele din mai multe

tabele i nu permite actualizarea datelor.

Constituie o surs de date pentru un raport sau formular.

Interogri de tip Crosstab pentru sintetizarea datelor sub

forma unei foi de calcul de tip Excel.


Interogri de tip Parameter care folosesc aceeai
interogare de mai multe ori cu parametrii diferii.

35

TIPURI DE INTEROGRI
Interogri de tip Action , acestea avnd efect asupra

datelor din baza de date:


Interogri

de tip Append permit adugarea de noi nregistrri


ntr-o tabel existent.
Interogri de tip Delete permit tergerea unor nregistrri
dintr-o tabel pe seama unor criterii.
Interogare de tip Make Table -creerea de noi tabele pe baza
celor existente.
Interogare de tip Update modificarea(actualizarea) datelor
existente fr crearea de noi nregistrri sau tabele.

36

CREAREA INTEROGRILOR
Paii crerii unei interogri sunt:

Alegerea tipului de interogare;


Alegerea tabelelor / interogrilor care vor constitui
sursa de date a interogrii (n partea superioar a
ferestrei de lucru);
Selectarea cmpurilor (mutarea prin glisare n grila
de proiectare numit gril QBE adic Query By
Exemples n partea inferioar a ferestrei de lucru)
i eventual stabilirea unor criterii de selecie.
Ordonarea datelor (Sort) cresctor / descresctor.
Dac exist mai multe cmpuri ordonate se aplic
ordonarea ncepnd din stnga.
37

CREAREA INTEROGRILOR
Crearea unor cmpuri calculate:

Se selecteaz coloana i se acceseaz comanda de


meniu Totals ( )
Se selecteaz Expresion n linia de Totals
n linia Field se introduce expresia sub forma:

Nume rezultat : [Cmp1] operator aritmetic [Cmp2]

Realizarea unor operaii de calcul asupra tuturor

nregistrrilor :
n linia Totals , unde apare Group By ,se alege
tipul de operaie dorit

38

OPERAII PREDEFINITE DE ACCESS


OPERAIA

FUNCIA

TIP CMP

SUM

Suma valorilor unui


cmp

Numeric, Autonumber ,
Data, Logic

Media aritmetic

Numeric, Autonumber ,
Data, Logic

Valoarea minim

Numeric, Autonumber ,
Data, Logic, Text

Valoarea maxim

Numeric, Autonumber ,
Data, Logic,Text

AVG

MIN

MAX

39

OPERAII PREDEFINITE DE ACCESS


OPERAIA

FUNCIA

TIP CMP

COUNT

Numrul de valori
dintr-un cmp

Toate tipurile
Numeric,
Autonumber

STDEV

Variana valorilor unui


cmp

FIRST

Prima valoare din


cmp

Toate tipurile

LAST

Ultima valoare din


cmp

Toate tipurile

,Data,Logic

40

TIP DE INTEROGARE

CMPURI SELECTATE
SAU CALCULATE
SURSA DE
DATE

EVENTUALE OPERAII
ASUPRA CMPURILOR
MOD DE SORTARE
AFIAREA SAU NU N
DYNASET

APARE N
REZULTATUL
INTEROGRII

CRITERII DE
SELECIE
41

INTEROGARE DE SELECIE
N LIMBAJ SQL
LISTA DE CMPURI
SELECTATE
TABELA / TABELELE DIN
CARE PROVIN CMPURILE

CONDIIE DE
SELECIE
GRUPAREA SELECIEI DUP
ANUMITE CMPURI

42

INTEROGARE DE TIP CROSSTAB


Sunt interogri care au ca rezultat o reprezentare

tabelar a datelor identic cu cea din Excel.


Este util atunci cnd se dorete o centralizare a datelor ,
de exemplu numrarea nregistrrilor unei grupe de
date , nsumarea unor date pe grupe sau dup anumite
criterii.
Schema unei astfel de interogri este:

Cmp coloan - apare ca nume de cmp


Cmpuri rnd apar ca nregistrri
Cmp calculat apare ca valoare calculat a nregistrrilor.

43

INTEROGARE DE TIP CROSSTAB

TITLU DE
COLOAN
NREGISTRARE

CMP
CALCULAT

CRITERIU CARE
NU APARE N
TABEL
44

INTEROGARE SIMPL
SELECT [domeniu] list_selecie
FROM nume_tabel1, nume_tabel2,..
[WHERE criteriul_de selecie
[ORDER BY cmpuri_criteriu [ASC/DESC]];

domeniu: ALL,
DISTINCT,
DISTINCTROW

SELECT INTRARE_EL.nume, INTRARE_EL.pren,


INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex
FROM INTRARE_EL INNER JOIN DATE_EX ON
INTRARE_EL.nrinr = DATE_EX.nrinr
WHERE (((DATE_EX.rezultat)=True))
ORDER BY DATE_EX.media_ex DESC;
45

INTEROGRI CU CMPURI
CALCULATE
Interogare de tip Select utilizat pentru crearea unor cmpuri

calculate i avnd i un parametru :


SELECT [domeniu] [funcie_agregat (nume_cmp) AS alias, ...]
FROM nume_tabel1, nume_tabel2, ...
GROUP BY cmp_de_grupare
[HAVING criteriul_de_grupare]
[ORDER BY cmpuri_criteriu [ASC/DESC]];

Exemplu :
SELECT Count(carti.cod_c) AS CountOfcod_c, carti.autor, carti.titlu,
carti.an_ap
FROM carti
GROUP BY carti.autor, carti.titlu, carti.an_ap
HAVING (((carti.autor)=["AUTOR:"]));
46

INTEROGARE DE TIP CROSSTAB


Interogare de tip Crosstabe:
TRANSFORM funcie_agregat(cmp) AS alias

SELECT [ALL/DISTINCT/DISTINCTROW] nume_cmp


FROM nume_tabel1, nume_tabel2, ...
GROUP BY nume_cmp
PIVOT nume_cmp ;
Exemplu:

TRANSFORM Sum(cit_tot.nr) AS SumOfnr1


SELECT cit_tot.luna AS Expr1
FROM cit_tot
GROUP BY cit_tot.luna
PIVOT cit_tot.varsta ;

47

INTEROGARE DE COMBINARE

Interogare de tip Union :


SELECT list_cmpuri FROM tabela1
UNION SELECT list_cmpuri FROM tabela2
[GROUP BY cmp_de_grupare]
[HAVING criteriu_de_grupare]
UNION SELECT list_cmpuri FROM tabela3
...
[ORDER BY cmp_de_sortare];

Exemplu :
SELECT distinct fmasc.luna, fmasc.nr, fmasc.sex
FROM fmasc
UNION select distinct ffem.luna,ffem.nr,ffem.sex
FROM ffem;
UNION select distinct imp_luna.luna , imp_luna.nr , imp_luna.total
from imp_luna ;

48

CREARE DE TABEL PRIN INTEROGARE


Interogare de tip Make Table:

SELECT [domeniu] cmp1, cmp2, ...


INTO tabela_nou
FROM tabela_surs
[WHERE criteriul_de_adugare];
Exemplu:
SELECT ALL INTRARE_EL.nume, INTRARE_EL.pren,

INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex,


INTRARE_EL.sex
INTO ADM_2005
FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr =
DATE_EX.nrinr
WHERE (((DATE_EX.rezultat)=True))
ORDER BY DATE_EX.media_ex DESC ;
49

INTEROGARE DE ADUGARE
Interogare de tip Append:

INSERT INTO tabel_destinaie (cmp1, cmp2, ...)


SELECT [domeniu] cmp, cmp, ...
FROM tabel_surs
WHERE criteriul_de_adgare;
Exemplu:

INSERT INTO DATE_EL ( nume, pren, datan, adresa, anul )


SELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan,
INTRARE_EL.adresa, DATE_EX.anul
FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr =
DATE_EX.nrinr
WHERE (((DATE_EX.rezultat)=True))
ORDER BY DATE_EX.media_ex DESC ;
50

INTEROGARE DE ACTUALIZARE
Interogare de tip Update :

UPDATE nume_tabel
SET nume_cmp1=valoare1, nume_cmp2=valoare2, ...
[WHERE criteriu_de_actualizare];
Exemplu :

UPDATE MARFURI
SET categ=detergent, um=cutie
WHERE categ=detergenti AND um=cutii;
51

INTEROGARE DE TERGERE
Interogare de tip Delete:

DELETE *
FROM nume_tabel
[WHERE criteriu_de_tergere];

Exemplu:

DELETE INTRARE_EL.*, [an_prec] AS Expr1


FROM INTRARE_EL
WHERE ((([an_prec])=Year(Date())-1)) ;

52

INTEROGARE PARAMETRIZAT
Interogare de tip Parameter:
PARAMETERS list_cmpuri_parametru

SELECT DISTINCTROW nume_cmp1, nume_cmp2, ...


FROM nume_tabel
[WHERE condiie_parametru]
[ORDER BY nume_cmp ASC/DESC];

Exemplu :
PARAMETERS [PUNCTAJ PESTE] Short;

SELECT date_olimp.nume, date_olimp.clasa, date_olimp.total_p


FROM date_olimp
WHERE (((date_olimp.total_p)<=[PUNCTAJ PESTE]))
ORDER BY date_olimp.total_p DESC;

53

DESCHIDEREA WIZARD-ului PENTRU


CREARE DE RAPOARTE
UTILITARUL
WIZARD

ALEGEREA INTEROGRII
CARE SERVETE CA
SURS DE DATE

54

ALEGEREA SURSEI DE DATE


ALEGEREA CMPURILOR
CU DATELE DORITE

INTEROGARE
A SELECTAT

55

PRECIZAREA MODULUI DE
VIZUALIZARE

PRECIZAREA
MODULUI DE
VIZUALIZARE

SE DORETE
GRUPAREA DUP
CMPUL ANUL
56

GRUPRI I SORTRI

NIVELUL DE
GRUPARE

MODUL DE SORTARE
A DATELOR

57

SORTARE I TOTALIZRI DE RAPORT

SORTARE DESCRESCTOARE PRIN


CLIC PE BUTONUL ASCENDING

CENTRALIZRI N
SUBSOLUL RAPORTULUI
58

MODUL DE PREZENTARE N CADRUL


PAGINII

MOD DE ARANJARE
N PAGIN

ALEGEREA
AUTOFORMATULUI
PERSONALIZAT
ANTERIOR
59

TITLUL RAPORTULUI

TITLUL
RAPORTULUI

VIZUALIZARE
NORMAL
VIZUALIZARE N MOD
DE PROIECTARE

60

PEGINA REZULTAT FR
AJUSTARE

61

RAPORTUL PRELUCRAT
PAG.1

62

RAPORTUL PRELUCRAT
PAG.2

63

MODULE. NOIUNI GENERALE


Limbajul Visual Basic este instrumentul de programare

pentru aplicaiile informatice dezvoltate cu ajutorul


Microsoft Office 2002-2003.
Limbajul VBA este limbaj orientat pe obiecte i
evenimente.
Obiectele Access sunt caracterizate prin metode i
proprieti.

Metoda acioneaz asupra strii obiectului.


Proprietatea indic starea obiectului.
Exemplu: Obiect.Visible = True
64

ACCESAREA OBIECTELOR ACCESS


Nume obiect access![Nume obiect].Proprietate

Parantezele sunt necesare dac numele conine spaii


Nume obiect access(Nume obiect).Metod
Exemplu:
Forms![formular elevi]![cod elev].SetFocus

Forms![formular elevi]![Buton iesire].Enabled=True

Me.rezultat.Value= -1 unde Me reprezint formularul


aflat pe ecran i n care avem controlul de tip ChekBox
cu numele rezultat a crei valoare o setm cu adevrat (
-1 ).
65

AFIARE I INTRODUCERE
DATELOR
InputBox(Mesaj,Titlu,Val_implicit,X,Y,Fiier Help,Context)

afieaz o caset de dialog pentru introducere de date.


Mesaj-ir de caractere(max.1024) cu trecerea la alt rnd
prin Chr(13).
Titlu ir de caractere care reprezint titlul casetei
Val_implicit spaiul pentru introducerea datei
X coordonata x raportat la marginea stnga sus
Y - coordonata y raportat la marginea stnga sus
Fiier Help ir de caractere care indic numele
fiierului
Context numr care indic locul fiierului.
66

AFIARE I INTRODUCERE
DATELOR
MsgBox (mesaj, butoane, titlu, fiier Help,
context
)
Butoane:
vbOkOnly 0
vbOkCancel 1
vbAbortRetryIgnor 2
vbYesNoCancel 3
vbYesNo 4

vbCritical 16 afieaz

?
vbQuestion 32
vbExclamation 48 !
vbInformation 64

vbRetryCancel 5

67

MODULE
Modulele sunt obiecte din Access care permit scrierea

de rutine n limbaj VBA Visual Basic pentru Access.


Modulele sunt formate din :
Declaraii de variabile
Tipuri de date utilizator
Proceduri
Funcii
Tipurile de date sunt:
Date standard
Date definite de utilizator

68

TIPURI DE DATE STANDARD


TIP DE DAT

CARACTERISTICI

DOUBLE

CU VIRGUL MOBIL PE 64 BII

CURRENCY

CU PATRU ZECIMALE PE 64 BII

INTEGER

NUMERE NTREGI PE 16 BII

BOOLEAN

LOGICE: TRUE (-1) I FALSE (0)

SINGLE

CU VIRGUL MOBIL PE 32 BII

BYTE

NUMERE NATURALE PE 8 BII

LONG

NUMERE NTREGI PE 32 BII

DATE

TIP DAT CALENDARISTIC ( NTRE #)

STRING

TIP CARACTER (NTRE )

VARIANT

TIP GENERIC CARACTER GENERAL

OBJECT

REFER UN OBIECT I ESTE PRECEDAT DE SET


69

DECLARAREA VARIABELOR
VARIABILE GLOBALE valabile n toate modulele :

PUBLIC variabila As tip_variabil


GLOBAL variabila As tip_variabil
VARIABILE LOCALE valabile doar n modulul n care
au fost definite :
DIM variabila As tip_dat
PRIVATE variabila As tip_dat
SET variabila_obiect = expresie_obiect
VARIABILE DINAMICE:
DE TIP VECTOR : Dim var_vector(10) As tip_dat
DE TIP MATRICE :Dim var_matrice(10,10) As tip_dat
70

DATE DEFINITE DE UTILIZATOR


Cuprinde date de tipuri diferite:
[PRIVATE ]/ [PUBLIC] TYPE nume_tip_dat

Element1 As tip_dat
Element2 As tip_dat
Element3 As tip_dat
......
Elementn As tip_dat
END TYPE
Accesul la o astfel de dat se poate face global sau
perticular: nume_tip_dat.Element1
71

OPERATORI MATEMATICI VBA


OPERATORI

OPERAIA REALIZAT

RIDICARE LA PUTERE

ADUNARE

SCDERE

NMULIRE

MPRIRE

CTUL MPRIRII

MOD

RESTUL MPRIRII

&

CONCATENAREA(LIPIREA) A DOU EXPRESII CU


TRANSFORMAREA ACESTUIA NTR-UN IR DE CARACTERE
(STRING)

72

OPERATORII DE COMPARARE VBA


OPERATOR

EXPLICAIE

EGALITATE

>

MAI MARE

<

MAI MIC

>=

MAI MARE SAU


EGAL

<=

MAI MIC SAU EGAL

<>

DIFERIT

LIKE

COMPARARE A
DOU IRURI

IS

COMPAR DOU
VARIABILE CE

REFER OBIECTE

CARACTERE UTILIZATE LA CUTAREA UNEI


NREGISTRRI
CARACTER

EXPLICAIE

ZERO SAU MAI MULTE


CARACTERE

UN CARACTER

O CIFR

[ list caractere ]

UN CARACTER DIN LIST

[ ! list caractere ]

UN CARACTER CARE NU
EXIST N LIST 73

PROCEDURI I FUNCII

Sub Procedura1()
PARAMETRII ACTUALI
................
Call Procedura2(P1,P2,P3)
.................
Call Procedura2(P11,P12,P13)
..................
Var_1=Funcia1(Pa1,Pa2,Pa3)
..................
Var_2=Funcia1(Pa11,Pa12,Pa13)
......
End Sub

Sub Procedura2 (Pf1,Pf2,Pf3)


........................
End Sub

PARAMETRII FORMALI

Function Funcia1(Pf1,Pf2, Pf3)

As tip_rezultat
.................
Funcia1=expresie
.......
End Function

74

PROCEDURI I FUNCII
Dac procedura sau funcia exist n alt modul sau sunt

mai multe cu acelai nume ,apelul se face prin precizarea


modulului din care face parte:
Call nume_modul.nume_procedur
[(val_param1,val_param2)]
Variabila = nume_modul.nume_funcie
[(val_param1,val_param2)]
Not: Testarea unei proceduri/funcii cu parametrii, se
creeaz o alt procedur fr prametrii i se apeleaz
cea dinti.
Testarea unei proceduri/funcii fr parametrii se face
cu comanda Run , Run Sub/User Form din meniul
principal.
75

EXEMPLE DE PROCEDURI/FUNCII
I APELAREA LOR
Sub afisez_msg (mesaj As String)
mesajul este parametrizat prin

mesaj
SysCmd acSysCmdSetStatus ,
mesaj
End Sub

Function Versiune()

Sub test_msg()
Call afisez_msg (mesajul

n bara de stare)
End Sub

APELUL FUNCIEI
DEFINITE

Versiune = SysCmd(acSysCmdAccessVer)
End Function

Sub test()
MsgBox Versiune
End Sub
76

FUNCII ACCESS
Abs(expr_numeric)-valoarea Date()-data curent
absolut
Day(dat)-numrul zilei
Asc(ir_caractere)-codul ascii din lun

a primului caracter

Chr(cod_caracter)caracterul
Int(expr_numeric)-partea

ntreag a numrului

Exp(expr_numeric)-e la

puterea expr_numeric

Log(expr_numeric)
logaritmul natural
Cos(expr_numeric)cosinusul expresiei

din lun
Month(dat)-numrul lunii
din an
Year(dat)-anul datei
Time()-or:minute:secunde
Hour(expr_timp)-ora
Minute(expr_timp)-minute
Second(expr_timp)secunde
77

FUNCII ACCESS
Len(ir_caractere)-numrul

de caractere din ir
Space(numr)-numr de
spaii
Str(expr_numeric)conversie n caractere
Val(ir caracter)-conversie
n numr
Mid(ir,poziie,
[nr_caractere])- extrage ir,
de lungime ,din poziia

IsNull(expr) -true/false
IsDate(expr) true/false

IsEmpty(expr) true/false
CStr(expr) conversie n

String
CSng(expr) conversie n
Single
Cdate(expr) conversie n
Date
Cbool(expr) conversie n
Boolean
78

STRUCTURI FUNDAMENTALE DE
PROGRAMARE
STRUCTURI ALTERNATIVE :

Instruciunea IF:
IF condiie THEN
instruciuniA
ELSE
Instruciuni B
END IF
...........................................................
IF NOT (condiie) THEN
Insrtuciuni
END IF
............................................................

Instruciunea SELECT CASE


SELECT CASE expr_selector
CASE list_expr1
Instruciuni1
CASE list_expr2
Instruciuni2
...........................................................
CASE ELSE
Istruciuni3
END CASE

79

STRUCTURI FUNDAMENTALE DE
PROGRAMARE
Funcia IIF:
valoare=IIF(expr_test ; valoare

returnat pentru cazul


adevrat al expresiei de testare
; valoare returnat pentru
cazul fals al expresiei de
testare)

Obs. n loc de valoare

returnat pot fi incluse alte


funcii care s returneze
valoarea sau s execute o
aciune!

STRUCTURI REPETITIVE :

Instruciunea WHILE...WEND:
WHILE condiie_adevrat
Instruciuni
WEND
.............................................................
Instruciunea DO.....LOOP
UNTIL:
DO
Instruciuni
LOOP UNTIL condiie_fals

80

STRUCTURI REPETITIVE
Instruciunea DO WHILE .....
LOOP:
DO WHILE condiie_adevr
Instruciuni
LOOP
.......................................................
Instruciunea DO UNTIL .....
LOOP:
DO UNTIL condiie_fals
Instruciuni
LOOP

Instruciunea FOR ....NEXT:


FOR contor=val_iniial TO val_final
Secven_instruciuni
[EXIT FOR]
Secven instruciuni
NEXT contor
........................................................
Instruciunea FOR EACH...NEXT:
FOR EACH variabil IN colecie

Secvent instruciuni
NEXT variabil

81

82

COMENZI MACRO
Alturi de codurile VBA ,comenzile macro

asigur automatizarea aplicaiilor Access.


Comenzile macro permit automatizarea
diverselor evenimente, fr ca realizatorul
aplicaiei s cunoasc un limbaj de programare.
n cadrul comenzilor macro pot fi incluse un
numr mare de aciuni a cror derulare poate fi
condiionat de anumite valori afiate n
formulare sau rapoarte.
83

TIPURI DE ACIUNI N
MACRO-COMENZI
Deschiderea / nchiderea

de tabele, interogri,
formulare sau rapoarte.
Vizualizarea sau tiprirea
rapoartelor.
Rularea cererilor de tip
aciune.
Efectuarea condiional a
anumitor aciuni.
Cutarea anumitor date n
tabele.

Deschiderea / nchiderea

diferitelor meniuri de
Access.
Afiarea de mesaje de
atenionare sau chiar
sunete de atenionare.
tergerea, redenumirea ,
copierea sau salvarea
diferitelor obiecte ale
aplicaiei.
Comunicarea cu alte
produse
software(Word,Excel,etc.).
84

CREAREA UNUI BUTON DE


NAVIGARE NTRE NREGISTRRI

CASETE PE CARE LE
OFER WIZARDUL
ACCESS PENTRU
CREAREA BUTONULUI
85

CREAREA UNUI BUTON DE NAVIGARE


NTRE NREGISTRRI

NUMELE BUTONULUI
NREGISTRAT N BAZA
DE DATE A APLICAIEI
ACCESS

BUTONUL REZULTAT
PE FORMULAR.

86

PROCEDURA ATAAT EVENIMENTULUI


SCRIS DE ACCESS

PROCEDURA SCRIS DE
SGBD ACCESS PENTRU
FUNCIONAREA
BUTONULUI

87

Macrocomanda care apeleaz funcia


IsLoaded() de nchiderea a formularului
Condiia aplicrii
aciunii

Tipul
aciunii

Tipul obiectului cruia i


este aplicat aciunea
Numele obiectului
specificat mai sus

88

Procedur ataat butonului de


deschidere a unui formular
Apeleaz
macrocomanda
cautare , de
nchidere a
formularului cu
acelai nume ,
nainte de
deschiderea
formularului
FURNIZORI

89

CREAREA UNEI PAGINI WEB


Acest lucru este necesar fie pentru a utiliza baza de

date n reea, astfel nct fiecare utilizator s poat


accesa n mod citire sau editare diferite date din
aceasta, fie pentru a informa prin reeaua Internet
asupra unor resurse din baza de date a firmei
respective.
Dei pare un lucru greu, vrjitorul te ajut, iar dac
ai i noiuni de HTML poi s faci modificri direct n
sursa paginii.
Oricum, n principiu nu este mai greu dect s realizezi
un raport pe baza unei interogri n modul Wizard!
90

MODURI DE CREAREA PAGINII WEB


Crearea unei pagini Web n

modul Design (introducei


fiecare dat singur ).
Crearea unei pagini Web n
modul Wizard (exact ca n
cazul formularelor, se creaz
pe baza unei interogri sau a
unei tabele).
Editarea unei pagini Web deja
existent.
Eu v recomand s utilizai
varianta Wizard i s
respectai regulile nvate la
crearea rapoartelor.
91