Sunteți pe pagina 1din 91

BAZE

BA ZE DE
DE DATE
DATE
ACCESS
ACCESS

Prof. Bălăjel Ana-Maria

ÎNCHIDE APLICAŢIA

1
CUPRINS
 CONCEPTUL DE BAZE DE DATE-SGBD
 LUCRUL CU TABELE ÎN ACCESS
 CREAREA FORMULARELOR
 CREAREA INTEROGĂRILOR
 CREAREA RAPOARTELOR
 CREAREA MODULELOR
 CREAREA MACRO
 CREAREA UNEI PAGINI WEB

2
CONCEPTUL DE BAZĂ DE DATE
 Organizarea datelor în vederea prelucrării pe calculator este o activitate de mare
importanţă .

 Din punct de vedere al prelucrării pe calculator, datele sunt definite de trei


elemente:
–Un identificator (numele atribuit)
–Atribut (tipul de dată pe care-l conţine)
–Valoare (valoarea propriu-zisă).
 Informaţia este rezultatul prelucrării 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 fişier şi baze de
date.

3
DIFERENŢA ÎNTRE BAZA DE DATE ŞI
SISTEMUL DE GESTIONARE A
BAZEI DE DATE
 Baza de date – este doar o componentă a SGBD care conţine 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 regăsire a datelor din baza de date , precum şi de a asigura
stocarea fizică, securitatea, replicarea şi recuperarea informaţiilor după
erori.
 Microsoft Access este un SGBD comercial de tip desktop, fiind adecvat
administrării bazelor de date mici şi medii.

4
SGBD DE TIP DESKTOP
 UN SGBD de tip desktop este instalat şi rulează local. Este o aplicaţie
autonomă care stocează o bază de date şi efectuează ea însăşi toate
procesările 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 afişează rezultatul sau mesajele de
eroare.

5
MODELUL RELAŢIONAL AL BAZEI DE
DATE
 Se bazează pe teoria matematică a mulţimilor, tabelele reprezentând
analoagele mulţimilor – colecţii de elemente distincte care au
proprietăţi comune.
 O bază de date = colecţie formată din unul sau mai multe tabele.
 Tabelul reprezintă:
– structura bazei de date care stochează datele ;
– Conţine date despre un tip de entitate : clasă de obiecte, evenimente
sau cocepte cu proprietăţi comune;
– Grilă bidimensională : coloane, rânduri;
– La intersecţia rând-coloană se află valoarea;
– Nume unic în baza de date.

6
MODELUL RELAŢIONAL
AL BAZEI DE DATE
TERMENI ECHIVALENŢI
MODELUL RELAŢIONAL SQL NE-RELAŢIONAL
(SGBD)

RELAŢIE - caracterizează un tip de entitate - o


clasă de obiecte, evenimente sau concepte cu TABEL FIŞIER
proprientăţi comune, care aparţin lumii reale şi
care pot fi distinse de alte clase.

ATRIBUT- caracterizează o proprietate specifică


tipului entităţii din relaţie. COLOANĂ CÂMP

TUPLU- caracterizează o entitate (o instanţă


unică) al tipului de entitate inclus în relaţia din RÂND ÎNREGISTRARE
care face parte instanţa respectivă.
7
NORMALIZAREA BAZEI DE DATE

Prima formă normală 1FN A doua formă normală 2FN A treia formă normală
3FN
Are coloane care conţin 1FN 2FN
numai valori atomice (o Nu există dependenţe Nu există depen-denţe
singură valoare, nedivizată) funcţionale parţiale. tranzitive. Răspunsul la
Nu conţine grupuri care se Răspunsul la întrebarea : întrebarea : “ Pot
repetă (două sau mai multe “Pot determina valoarea determina valoarea
coloane în relaţie logică coloanei non-cheie dacă nu coloanei non-cheie dacă
unele cu altele) cunosc decât o parte din cunosc oricare altă valoare
valoarea cheii primare ? ” a unei coloane non-cheie ?”

8
CONCEPTE ALE REALIZĂRII UNEI
BAZE DE DATE

 Nivelul extern - corespunzător utilizatorului, care îşi exprimă


cerinţele informaţionale prin aşa numitele scheme externe.
 Nivelul conceptual - aferent administratorului bazei de date ,
care se concretizează în schema conceptuală.
 Nivelul intern - corespunzător programatorului, care
realizează reprezentarea datelor pe suportul fizic.

9
FUNCŢII ALE SGBD
 ORGANIZAREA DATELOR:
– crearea şi manevrarea tabelelor care conţin date într-un format
tabelar convenabil (linii şi coloane)- Datasheet
 LEGAREA TABELELOR ŞI EXTRAGEREA DATELOR
– legarea mai multor tabele prin relaţiile între date (prin
intermediul Interogărilor),în vederea creării unor tabele
temporare (Recordset) , stocate în memoria calculatorului sau
în fişiere memorate pe disc,care conţin datele alese de
programator.

10
FUNCŢII ALE SGBD

 INTRODUCEREA ŞI EDITAREA DATELOR:


– Crearea şi implementarea unor Formulare pentru introducerea,
afişarea şi editarea datelor,ca alternativă la prezentarea tabelară.
 PREZENTAREA DATELOR:
– Crearea de Rapoarte în care să poată fi sintetizate informaţiile din
obiectele Recordset pe care le puteţi vedea , tipării şi publica pe
Internet sau Intranet. Aceste rapoarte reprezintă scopul final al
unei aplicaţii SGBD!

11
SCHEMA LOGICĂ A COLECŢIEI DE
OBIECTE ACCESS

TABEL2
TABEL1 TABEL3

INTEROGARE

FORMULAR RAPORT

12
OBIECTELE ACCESS
 Table-obiect definit de utilizator în care
sunt stocate datele primare.  Pages-obiect care include un fişier
HTML şi alte fişiere suport în vederea
 Form-obiect care permite introducerea
furnizării accesului la date prin
datelor, afişarea acestora sau controlul
intermediul browser-ului Internet.
întregii aplicaţii.
 Macro-obiect care conţine o definiţie
 Query-obiect care permite vizualizarea
structurată a uneia sau mai multor
informaţiilor obţinute prin prelucrarea
acţiuni pe care Access le realizează ca
datelor din unul sau mai multe tabele şi /
răspuns la un eveniment.
sau interogări.
 Module-obiect care conţine proceduri
 Report-obiect care permite formatarea
definite de utilizator şi scrise în
şi tipărirea informaţiilor obţinute în
limbajul de programare Visual Basic.
urma consultării bazei de date sub
formă de document.

13
CREAREA TABELELOR
MODUL DE NUMELE TIPUL DE DATE
REALIZARE A
CÂMPULUI CONŢINUT DE CÂMP
STRUCTURII
TABELEI

DIMENSIUNEA CÂMPULUI.
SETĂRI SUPLIMENTARE
RELATIV LA CÂMPUL
DEFINIT.

SETĂRI SPECIFICE
CONŢINUTULUI
CÂMPULUI

14
STABILIREA INDECŞIROL ŞI A CHEII
TABELULUI
STABILIREA MODULUI DE
CĂUTARE ,DE SORTARE ÎN
TABELĂ CU AJUTORUL
CÂMPURILOR INDEXATE.

CHEIA PRIMARĂ A
TABELEI CARE
TREBUIE SĂ CONŢINĂ
ÎNREGISTRĂRI UNICE!

15
CREAREA LEGĂTURILOR ÎNTRE TABELE
CASETĂ DE DIALOG
DESCHIDEREA DESCHISĂ PRIN
INTERFEŢEI PENTRU MENIUL RAPID PENTRU
CREAREA LEGĂTURILOR. ADĂUGAREA
TABELELOR ÎN
SUPRAFAŢA
RELAŢIILOR.

16
CREAREA LEGĂTURILOR ÎNTRE TABELE

LEGĂTURĂ DE TIP
UNU LA MAI
MULTE.

NUMELE
TABELEI

NUMELE CÂMPULUI
CHEIE PRIMARĂ SAU
CHEIE EXTERNĂ CARE
CREEAZĂ LEGĂTURA.

17
CREAREA FORMULARELOR

ALEGEREA TABELELOR
SAU INTEROGĂRILOR
DIN CARE SE PREIAU
CÂMPURILE NECESARE.

CÂMPURILE
TABELEI/INTEROGĂRII
SELECTATE.

18
CREAREA FORMULARELOR

PRELUAREA
CÂMPURILOR CARE
VOR FI PREZENTE ÎN
FORMULAR.

19
CREAREA FORMULARELOR
CÂMPURILE
DIN
FORMULAR.

CÂMPURILE DIN
TABELELE CARE FORMULARUL
AU CONŢIN SUBORDONAT
CÂMPURILE CE (SUBFORM).
VOR APĂREA ÎN
FORMULAR. SE VA
ALEGE MODUL DE
PREZENTARE A
DATELOR.

20
CREAREA FORMULARELOR

MODUL DE
AFIŞARE A
DATELOR ÎN
FORMULAR.

21
CREAREA FORMULARELOR

FORMATUL
GRAFIC.

22
CREAREA FORMULARELOR

NUMELE
FORMULARULUI.

NUMELE SUB-
FORMULARULUI.

23
FORMULARUL ŞI SUBFORMULARUL INCLUS
ÎN FORMA DISPONIBILĂ UTILIZATORULUI

FORMULARUL

SUBFORMULAR

24
CONTROALE ŞI FUNCŢIILE LOR

INSTRUMENT NUME FUNCŢIE


SELECT OBJECT (indicator) Pointer-ul de selecţie al obiectelor.

CONTROL WIZARD Activează/dezactivează programele Control Wizard

LABEL Afişează texte fixe ce includ numele unui control de


(etichetă) tip text sau instrucţiuni.
TEXT Casetă de tip text ,editabilă.
BOX
OPTION Grup de controale de tip opţiune. Din grup doar una
GROUP poate fi selectată.
TOOGLE Buton cu două stări : ON(selectat) care înseamnă
BUTTON DA (-1) şi OFF(deselectat) care înseamnă NU (0).

25
CONTROALE ŞI FUNCŢIILE LOR
INSTRUMENT
FUNCŢIE
NUME
OPTION Buton opţiune folosit pe formular cu alte butoane pentru a
BUTTON determina care din acţiuni să aibă loc atunci când este selectat.

CHECK Casetă de validare care,atunci cănd este selectată comută în starea


BOX ON(-1).
COMBO Casetă combinată.Casetă de text cu o listă derulantă. Ăn caseta de
BOX text se poate edita şi găseşte elementul în listă.

LIST Casetă listă. Conţine o listă de valori al unui câmp din baza de
BOX date.
COMMAND Buton de comandă ,folosit pentru a executa coduri de procedură
BUTTON editate în VBA.
IMAGE Afişează o imagine statică.Nu poate fi editată în formular.
26
CONTROALE ŞI FUNCŢIILE LOR

INSTRUMENT NUME FUNCŢIE

UNBOUND Obiect neasociat bazei de date care include un obiect OLE:


OBJECT orice obiect editat într-un program Microsoft Office.
FRAME
BOUND Obiect asociat bazei de date şi care conţine un obiect OLE :
OBJECT imagine,grafic,sunete,filme,etc.
FRAME
PAGE Delimitator de pagină.Determină imprimanta să tracă la o
BREAK nouă pagină.Nu este vizibil în formular.

27
CONTROALE ŞI FUNCŢIILE LOR

INSTRUMENT NUME FUNCŢIE

TAB Schimbător de pagină.Crează o serie de pagini care pot fi


CONTROL schimbate.Fiecare pagină conţine mai multe controale.Se
utilizează pentru formulare prea încărcate.

SUBFORM/ Introduce în formular , sub formă de subformular sau


SUBREPORT raport ,un formular sau raport efectuat anterior.

LINE Crează o linie dreaptă pe care o putem redimensiona şi muta.

RECTANGLE Crează un dreptunghi pe care îl putem configura cu efecte


speciale în moduri diferite.

28
TIPURI DE DATE
DATE TIPUL DATELOR DESCRIERE
Cel mult 255 caractere.Valoarea
TEXT
prestabilită la 50.
ALFANUMERICE Cel mult 64.000 caractere. Nu poate fi
MEMO cheie primară şi nu putem indexa după el.

Sunt disponibile mai multe subtipuri.Se


NUMBER alege formatul dorit(nr.zecimale,etc.)

Tip Long Integer ce se


NUMERICE autoincrementează.Nu se poate modifica
AUTONUMBER când există înregistrări.

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


YES/NO
dar poate fi indexat.

29
TIPURI DE DATE
DATE TIPUL DESCRIERE
DATELOR

NUMERICE Format special,fix ,cu patru zecimale,proiectat să


CURENCY excludă erorile de rotunjire în calcule financiare.

DATE Data calendaristică şi ora sunt stocate într-un


DATE/TIME
CALENDARISTICE format special fix.Se selectează formatul dorit.

Include elemente grafice,fişiere cu semnale audio şi


OBIECTE MARI OBJECT OLE alte tipuri de date create de o aplicaţie OLE
server.Nu poate fi cheie şi nici index.

Adresă a unei pagini Web.Formată din trei părţi:


ADRESE INTERNET HYPERLINK
textul afişat,adresa şi subadresa.

Crează cîmpuri care permit utilizatorului să aleagă


LOOKUP
INFORMAŢII LEGATE valori din cadrul altor tabele sau dintr-o listă de
WIZARD
valori. 30
SUBTIPURI DE DATE NUMERICE

MĂRIMEA CĂMPULUI ZECIMALE INTERVALUL VALORIC OCTEŢI

BYTE 0 DE LA 0 LA 256 1

INTEGER 0 DE LA -32.768 LA 32.768 2

LONG INTEGER 0 DE LA -2.147.483.648 LA 2.147.483.648 4

SINGLE 7 DE LA – 3,4*1038 LA + 3,4*1038 4

DOUBLE 15 DE LA - 1,797*10308 LA +1,797*10308 8

REPLICATION ID IDENTIFICATOR GLOBAL UNIC 16

DECIMAL DE LA - 1028 LA + 1028 16

31
SETĂRI CARACTERISTICE CÂMPULUI
 FORMAT- permite alegerea unor formate prestabilite sau crearea
unui format personalizat pentru tipul de dată ales.
 DECIMAL PLACES -stabileşte numărul de zecimale între 0-15.
 INPUT MASK -se aplică tipului text şi dată calendaristică un
format personalizat de afişare. Ex.Tel.(0262)655-224.
 CAPTION -nume atribuit cîmpului la vizualizare(diferit de cel
intern,deja atribuit).
 DEFAULT VALUE -valoarea inclusă implicit ,înainte de
actualizarea câmpului(când majoritatea valorilor vor fi aceasta.)

32
SETĂRI CARACTERISTICE CÂMPULUI
 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 [ ].
 Funcţii.
 Constante.
 VALIDATION TEXT -mesajul care apare în cazul nerespectării regulii
de validare.
 REQUIRED -se stabileşte la yes dacă este strict necesară completarea
acestui câmp.
 INDEXED - se alege opţiunea pentru un index neduplicat (primar) sau
duplicat . Câmpul indexat este util în operaţiile de căutare în baza de
date.
33
INTEROGĂRILE ÎN ACCESS

 Interogarea bazei de date înseamnă regăsirea şi extragerea datelor


stocate în aceasta , într-un mod util scopului urmărit.
 Rezultatul unei interogări reprezintă o foaie de răspuns dinamic,
numită Dynaset, care nu mai există fizic după închiderea interogării.
 Crearea Query se poate în următoarele moduri:
 Crearea pas cu pas în modul Design view (fereastră de proiectare)
 Utilizând instrumentul Wizard
 Exprimarea cererii în limbaj SQL
 Crearea unui filtru şi salvarea acestuia ca cerere de interogare.

34
TIPURI DE INTEROGĂRI

 Interogări de tip Select care afişează datele din mai multe tabele şi nu
permite actualizarea datelor.
 Constituie o sursă de date pentru un raport sau formular.
 Interogări de tip Crosstab pentru sintetizarea datelor sub forma unei
foi de calcul de tip Excel.
 Interogări de tip Parameter care folosesc aceeaşi interogare de mai
multe ori cu parametrii diferiţi.

35
TIPURI DE INTEROGĂRI

 Interogări de tip Action , acestea având efect asupra datelor din baza de
date:
 Interogări de tip Append –permit adăugarea de noi înregistrări într-o tabelă
existentă.
 Interogări de tip Delete –permit ştergerea unor înregistrări 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 fără
crearea de noi înregistrări sau tabele.

36
CREAREA INTEROGĂRILOR
 Paşii creării unei interogări sunt:
– Alegerea tipului de interogare;
– Alegerea tabelelor / interogărilor care vor constitui sursa de date a
interogării (în partea superioară a ferestrei de lucru);
– Selectarea câmpurilor (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 selecţie.
– Ordonarea datelor (Sort) crescător / descrescător. Dacă există mai
multe câmpuri ordonate se aplică ordonarea începând din stânga.

37
CREAREA INTEROGĂRILOR

 Crearea unor câmpuri 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 : [Câmp1] operator aritmetic [Câmp2]
 Realizarea unor operaţii de calcul asupra tuturor
înregistrărilor :
– În linia Totals , unde apare Group By ,se alege tipul de operaţie
dorit

38
OPERAŢII PREDEFINITE DE ACCESS
OPERAŢIA FUNCŢIA TIP CÂMP

Numeric, Autonumber ,
SUM Suma valorilor unui câmp
Data, Logic

Numeric, Autonumber ,
AVG Media aritmetică
Data, Logic

Numeric, Autonumber ,
MIN Valoarea minimă
Data, Logic, Text

Numeric, Autonumber ,
MAX Valoarea maximă
Data, Logic,Text
39
OPERAŢII PREDEFINITE DE ACCESS

OPERAŢIA FUNCŢIA TIP CÂMP

Numărul de valori dintr-un Toate tipurile


COUNT
câmp

Varianţa valorilor unui Numeric, Autonumber


STDEV
câmp ,Data,Logic

FIRST Prima valoare din câmp Toate tipurile

LAST Ultima valoare din câmp Toate tipurile

40
TIP DE INTEROGARE

CÂMPURI SELECTATE SAU


CALCULATE
SURSA DE DATE
EVENTUALE OPERAŢII
ASUPRA CÂMPURILOR

MOD DE SORTARE

AFIŞAREA SAU NU ÎN
DYNASET

APARE ÎN CRITERII DE
REZULTATUL SELECŢIE
INTEROGĂRII
41
INTEROGARE DE SELECŢIE
ÎN LIMBAJ SQL

LISTA DE CÂMPURI
SELECTATE
TABELA / TABELELE DIN
CARE PROVIN CÂMPURILE

CONDIŢIE DE SELECŢIE

GRUPAREA SELECŢIEI DUPĂ


ANUMITE CÂMPURI

42
INTEROGARE DE TIP CROSSTAB
 Sunt interogări care au ca rezultat o reprezentare tabelară a datelor
identică cu cea din Excel.
 Este utilă atunci cănd se doreşte o centralizare a datelor , de exemplu
numărarea înregistrărilor unei grupe de date , însumarea unor date
pe grupe sau după anumite criterii.
 Schema unei astfel de interogări este:
 Câmp coloană - apare ca nume de câmp
 Câmpuri rând –apar ca înregistrări
 Câmp calculat – apare ca valoare calculată a înregistrărilor.

43
INTEROGARE DE TIP CROSSTAB

TITLU DE CRITERIU CARE NU


CÂMP
COLOANĂ APARE ÎN TABELĂ
CALCULAT
ÎNREGISTRARE
44
INTEROGARE SIMPLĂ
SELECT [domeniu] listă_selecţie
FROM nume_tabelă1, nume_tabelă2,.. domeniu: ALL,
DISTINCT,
[WHERE criteriul_de selecţie
DISTINCTROW
[ORDER BY câmpuri_criteriu [ASC/DESC]];

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
INTEROGĂRI CU CÂMPURI CALCULATE
 Interogare de tip Select utilizată pentru crearea unor cămpuri calculate şi având şi un
parametru :
SELECT [domeniu] [funcţie_agregat (nume_câmp) AS alias, ...]
FROM nume_tabelă1, nume_tabelă2, ...
GROUP BY câmp_de_grupare
[HAVING criteriul_de_grupare]
[ORDER BY câmpuri_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 funcţie_agregat(câmp) AS alias
 SELECT [ALL/DISTINCT/DISTINCTROW] nume_câmp
 FROM nume_tabelă1, nume_tabelă2, ...
 GROUP BY nume_câmp
 PIVOT nume_câmp ;

 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ă_câmpuri FROM tabela1
 UNION SELECT listă_câmpuri FROM tabela2
 [GROUP BY câmp_de_grupare]
 [HAVING criteriu_de_grupare]
 UNION SELECT listă_câmpuri FROM tabela3
 ...
 [ORDER BY câmp_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] câmp1, câmp2, ...
INTO tabela_nouă
FROM tabela_sursă
[WHERE criteriul_de_adăugare];

 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 ADĂUGARE
 Interogare de tip Append:
INSERT INTO tabelă_destinaţie (câmp1, câmp2, ...)
SELECT [domeniu] câmp, câmp, ...
FROM tabelă_sursă
WHERE criteriul_de_adăgare;

 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_câmp1=valoare1, nume_câmp2=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ă_câmpuri_parametru
 SELECT DISTINCTROW nume_câmp1, nume_câmp2, ...
 FROM nume_tabelă
 [WHERE condiţie_parametru]
 [ORDER BY nume_câmp 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

ALEGEREA INTEROGĂRII
UTILITARUL CARE SERVEŞTE CA SURSĂ
WIZARD DE DATE

54
ALEGEREA SURSEI DE DATE

ALEGEREA CÂMPURILOR CU INTEROGAREA


DATELE DORITE SELECTATĂ

55
PRECIZAREA MODULUI DE VIZUALIZARE

PRECIZAREA MODULUI SE DOREŞTE


DE VIZUALIZARE GRUPAREA DUPĂ
CÂMPUL ANUL

56
GRUPĂRI ŞI SORTĂRI

NIVELUL DE MODUL DE SORTARE A


DATELOR
GRUPARE

57
SORTARE ŞI TOTALIZĂRI DE RAPORT

SORTARE DESCRESCÎTOARE PRIN CLIC PE CENTRALIZĂRI ÎN SUBSOLUL


BUTONUL ASCENDING RAPORTULUI

58
MODUL DE PREZENTARE ÎN CADRUL
PAGINII

ALEGEREA
MOD DE ARANJARE ÎN AUTOFORMATULUI
PAGINĂ PERSONALIZAT
ANTERIOR

59
TITLUL RAPORTULUI

TITLUL
RAPORTULUI

VIZUALIZARE
NORMALĂ

VIZUALIZARE ÎN MOD
DE PROIECTARE

60
PEGINA REZULTATĂ FĂRĂ AJUSTARE

61
RAPORTUL PRELUCRAT
PAG.1

62
RAPORTUL PRELUCRAT
PAG.2

63
MODULE. NOŢIUNI GENERALE
 Limbajul Visual Basic este instrumentul de programare pentru
aplicaţiile informatice dezvoltate cu ajutorul Microsoft Office 2002-
2003.
 Limbajul VBA este limbaj orientat pe obiecte şi evenimente.
 Obiectele Access sunt caracterizate prin metode şi proprietăţi.
– Metoda acţionează asupra stării obiectului.
– Proprietatea indică starea obiectului.
– Exemplu: Obiect.Visible = True

64
ACCESAREA OBIECTELOR ACCESS

 Nume obiect access![Nume obiect].Proprietate


– Parantezele sunt necesare dacă numele conţine spaţii
 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
cărei valoare o setăm cu adevărat ( “-1” ).

65
AFIŞARE ŞI INTRODUCERE DATELOR
 InputBox(Mesaj,Titlu,Val_implicit,X,Y,Fişier Help,Context) –afişează o
casetă de dialog pentru introducere de date.
– Mesaj-şir de caractere(max.1024) cu trecerea la alt rând prin Chr(13).
– Titlu – şir de caractere care reprezintă titlul casetei
– Val_implicită – spaţiul pentru introducerea datei
– X – coordonata x raportată la marginea stânga sus
– Y - coordonata y raportată la marginea stânga sus
– Fişier Help –şir de caractere care indică numele fişierului
– Context – număr care indică locul fişierului.

66
AFIŞARE ŞI INTRODUCERE DATELOR
MsgBox (mesaj, butoane, titlu, fişier Help, context)
 Butoane:  vbCritical  16 afişează 
 vbOkOnly  0 ?
 vbQuestion  32
 vbOkCancel  1
 vbExclamation  48 !
 vbAbortRetryIgnor2
 vbInformation  64 
 vbYesNoCancel  3
 vbYesNo  4
 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 :
– Declaraţii de variabile
– Tipuri de date utilizator
– Proceduri
– Funcţii
 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 BIŢI

SINGLE CU VIRGULĂ MOBILĂ PE 32 BIŢI

CURRENCY CU PATRU ZECIMALE PE 64 BIŢI

BYTE NUMERE NATURALE PE 8 BIŢI

INTEGER NUMERE ÎNTREGI PE 16 BIŢI

LONG NUMERE ÎNTREGI PE 32 BIŢI

BOOLEAN LOGICE: TRUE (“-1”) ŞI FALSE (“0”)

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 OPERAŢIA REALIZATĂ


^ RIDICARE LA PUTERE

+ ADUNARE

- SCĂDERE

* ÎNMULŢIRE

/ ÎMPĂRŢIRE

\ CÂTUL ÎMPĂRŢIRII

MOD RESTUL ÎMPĂRŢIRII

CONCATENAREA(LIPIREA) A DOUĂ EXPRESII CU


& TRANSFORMAREA ACESTUIA ÎNTR-UN ŞIR DE CARACTERE
(STRING)
72
OPERATORII DE COMPARARE VBA
CARACTERE UTILIZATE LA CĂUTAREA UNEI
OPERATOR EXPLICAŢIE ÎNREGISTRĂRI

= EGALITATE CARACTER EXPLICAŢIE

> MAI MARE


ZERO SAU MAI MULTE
*
CARACTERE
< MAI MIC

>= MAI MARE SAU EGAL ? UN CARACTER

<= MAI MIC SAU EGAL


# O CIFRĂ
<> DIFERIT

COMPARARE A DOUĂ [ listă caractere ] UN CARACTER DIN LISTĂ


LIKE ŞIRURI

COMPARĂ DOUĂ
UN CARACTER CARE NU EXISTĂ
IS VARIABILE CE [ ! listă caractere ]
REFERĂ OBIECTE ÎN LISTĂ 73
PROCEDURI ŞI FUNCŢII
 Sub Procedura1()  Sub Procedura2 (Pf1,Pf2,Pf3)
PARAMETRII ACTUALI
 ................  ........................
 Call Procedura2(P1,P2,P3)  End Sub
 ................. PARAMETRII FORMALI
 Call Procedura2(P11,P12,P13)
 ..................  Function Funcţia1(Pf1,Pf2, Pf3) As
 Var_1=Funcţia1(Pa1,Pa2,Pa3) tip_rezultat
 ..................  .................
 Var_2=Funcţia1(Pa11,Pa12,Pa13)  Funcţia1=expresie
 ......
 .......
 End Sub
 End Function

74
PROCEDURI ŞI FUNCŢII

 Dacă procedura sau funcţia există în alt modul sau sunt mai multe cu
acelaşi nume ,apelul se face prin precizarea modulului din care face
parte:
 Call nume_modul.nume_procedură [(val_param1,val_param2)]
 Variabila = nume_modul.nume_funcţie [(val_param1,val_param2)]
– Notă: Testarea unei proceduri/funcţii cu parametrii, se creează o altă
procedură fără prametrii şi se apelează cea dintâi.
– Testarea unei proceduri/funcţii fără parametrii se face cu comanda
Run , Run Sub/User Form din meniul principal.

75
EXEMPLE DE PROCEDURI/FUNCŢII ŞI
APELAREA LOR
 Sub afisez_msg (mesaj As String)  Sub test_msg()
 ‘ mesajul este parametrizat prin “mesaj”  Call afisez_msg (“mesajul în
 SysCmd acSysCmdSetStatus , mesaj bara de stare”)
 End Sub  End Sub

APELUL FUNCŢIEI
Function Versiune() Sub test()
DEFINITE
Versiune = SysCmd(acSysCmdAccessVer) MsgBox Versiune
End Sub
End Function

76
FUNCŢII ACCESS

 Abs(expr_numerică)-valoarea  Date()-data curentă


absolută  Day(dată)-numărul zilei din lună
 Asc(şir_caractere)-codul ascii a  Month(dată)-numărul lunii din
primului caracter
an
 Chr(cod_caracter)–caracterul  Year(dată)-anul datei
 Int(expr_numerică)-partea întreagă 
Time()-oră:minute:secunde
a numărului
 Hour(expr_timp)-ora
 Exp(expr_numerică)-e la puterea
expr_numerică  Minute(expr_timp)-minute
 Log(expr_numerică)-logaritmul  Second(expr_timp)-secunde
natural
 Cos(expr_numerică)-cosinusul
expresiei 77
FUNCŢII ACCESS
 IsNull(expr) -true/false
 Len(şir_caractere)-numărul de
 IsDate(expr) –true/false
caractere din şir
 IsEmpty(expr) –true/false
 Space(număr)-număr de spaţii
 CStr(expr) –conversie în String
 Str(expr_numerică)-conversie în
caractere  CSng(expr) –conversie în Single
 Val(şir caracter)-conversie în  Cdate(expr) –conversie în Date
număr  Cbool(expr) –conversie în
 Mid(şir,poziţie,[nr_caractere])- Boolean
extrage şir, de lungime ,din poziţia

78
STRUCTURI FUNDAMENTALE DE
PROGRAMARE
 STRUCTURI ALTERNATIVE :  Instrucţiunea SELECT CASE
Instrucţiunea IF:  SELECT CASE expr_selector
 IF condiţie THEN  CASE listă_expr1
 instrucţiuniA
 Instrucţiuni1
 CASE listă_expr2
 ELSE
 Instrucţiuni2
 Instrucţiuni B
...........................................................
 END IF
 CASE ELSE
...........................................................  Istrucţiuni3
IF NOT (condiţie) THEN  END CASE
Insrtucţiuni
END IF
............................................................

79
STRUCTURI FUNDAMENTALE DE
PROGRAMARE
 Funcţia IIF:  STRUCTURI REPETITIVE :

 valoare=IIF(expr_test ; valoare Instrucţiunea WHILE...WEND:


 WHILE condiţie_adevărată
returnată pentru cazul adevărat al
 Instrucţiuni
expresiei de testare ; valoare
 WEND
returnată pentru cazul fals al
expresiei de testare) .............................................................
Instrucţiunea DO.....LOOP UNTIL:
 Obs. În loc de valoare returnată pot
 DO
fi incluse alte funcţii care să
 Instrucţiuni
returneze valoarea sau să execute o
 LOOP UNTIL condiţie_falsă
acţiune!

80
STRUCTURI REPETITIVE

Instrucţiunea DO WHILE ..... LOOP: Instrucţiunea FOR ....NEXT:


 DO WHILE condiţie_adevăr  FOR contor=val_iniţială TO val_finală
 Instrucţiuni  Secvenţă_instrucţiuni
 [EXIT FOR]
 LOOP
 Secvenţă instrucţiuni
 .......................................................Ins
 NEXT contor
trucţiunea DO UNTIL ..... LOOP:
 ........................................................
 DO UNTIL condiţie_falsă
Instrucţiunea FOR EACH...NEXT:
 Instrucţiuni
 FOR EACH variabilă IN colecţie
 LOOP  Secventă instrucţiuni
 NEXT variabilă

81
82
COMENZI MACRO

 Alături de codurile VBA ,comenzile macro asigură


automatizarea aplicaţiilor Access.
 Comenzile macro permit automatizarea diverselor
evenimente, fără ca realizatorul aplicaţiei să cunoască un
limbaj de programare.
 În cadrul comenzilor macro pot fi incluse un număr mare
de acţiuni a căror derulare poate fi condiţionată de anumite
valori afişate în formulare sau rapoarte.

83
TIPURI DE ACŢIUNI ÎN
MACRO-COMENZI
 Deschiderea / închiderea
 Deschiderea / închiderea de
tabele, interogări, formulare sau diferitelor meniuri de Access.
rapoarte.  Afişarea de mesaje de
 Vizualizarea sau tipărirea atenţionare sau chiar sunete de
rapoartelor. atenţionare.
 Ştergerea, redenumirea ,
 Rularea cererilor de tip acţiune.
copierea sau salvarea diferitelor
 Efectuarea condiţională a obiecte ale aplicaţiei.
anumitor acţiuni.
 Comunicarea cu alte produse
 Căutarea anumitor date în software(Word,Excel,etc.).
tabele.

84
CREAREA UNUI BUTON DE NAVIGARE
ÎNTRE ÎNREGISTRĂRI

CASETE PE CARE LE
OFERĂ WIZARDUL
ACCESS PENTRU
CREAREA BUTONULUI
85
CREAREA UNUI BUTON DE NAVIGARE
ÎNTRE ÎNREGISTRĂRI

BUTONUL REZULTAT PE
NUMELE BUTONULUI FORMULAR.
ÎNREGISTRAT ÎN BAZA DE
DATE A APLICAŢIEI
ACCESS

86
PROCEDURA ATAŞATĂ EVENIMENTULUI
SCRISĂ DE ACCESS

PROCEDURA SCRISĂ DE SGBD


ACCESS PENTRU
FUNCŢIONAREA BUTONULUI

87
Macrocomanda care apelează funcţia IsLoaded() de
închiderea a formularului

Tipul acţiunii
Condiţia aplicării
acţiunii

Tipul obiectului căruia îi este


aplicată acţiunea

Numele obiectului
specificat mai sus

88
Procedură ataşată butonului de deschidere a
unui formular

Apelează macrocomanda
“cautare” , de închidere a
formularului cu acelaşi
nume , înainte de
deschiderea formularului
“FURNIZORI”

89
CREAREA UNEI PAGINI WEB
 Acest lucru este necesar fie pentru a utiliza baza de date în reţea,
astfel încât fiecare utilizator să poată accesa în mod citire sau
editare diferite date din aceasta, fie pentru a informa prin reţeaua
Internet asupra unor resurse din baza de date a firmei respective.
 Deşi pare un lucru greu, “vrăjitorul” te ajută, iar dacă ai şi noţiuni
de HTML poţi să faci modificări direct în sursa paginii.
 Oricum, în principiu nu este mai greu decât să realizezi un raport
pe baza unei interogări în modul Wizard!

90
MODURI DE CREAREA PAGINII WEB
 Crearea unei pagini Web în modul
Design (introduceţi fiecare dată
singur ).
 Crearea unei pagini Web în modul
Wizard (exact ca în cazul
formularelor, se crează pe baza unei
interogări sau a unei tabele).
 Editarea unei pagini Web deja
existentă.
 Eu vă recomand să utilizaţi varianta
Wizard şi să respectaţi regulile
învăţate la crearea rapoartelor.

91

S-ar putea să vă placă și