Sunteți pe pagina 1din 91

BAZE DE DATE ACCESS

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.
3

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.

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.

MODELUL RELAIONAL AL BAZEI DE DATE TERMENI ECHIVALENI


MODELUL RELAIONAL SQL (SGBD) NE-RELAIONAL

RELAIE - caracterizeaz un tip de entitate o clas de obiecte, evenimente sau concepte cu proprienti comune, care aparin lumii reale i care pot fi distinse de alte clase. ATRIBUT- caracterizeaz o proprietate specific tipului entitii din relaie. TUPLU- caracterizeaz o entitate (o instan unic) al tipului de entitate inclus n relaia din care face parte instana respectiv.

TABEL

FIIER

COLOAN

CMP

RND

NREGISTRARE
7

NORMALIZAREA BAZEI DE DATE


Prima form normal 1FN
Are coloane care

A doua form normal 2FN


1FN Nu exist

A treia form normal 3FN


2FN Nu exist depen-

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)

dependene funcionale pariale. Rspunsul la ntrebarea : Pot determina valoarea coloanei non-cheie dac nu cunosc dect o parte din valoarea

dene tranzitive. Rspunsul la ntrebarea : Pot determina valoarea coloanei non-cheie dac cunosc oricare alt valoare a unei coloane non-cheie8

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 CMPULUI

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/INTEROGRII 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) CONTROL WIZARD LABEL (etichet) TEXT BOX

FUNCIE Pointer-ul de selecie al obiectelor. Activeaz/dezactiveaz programele Control Afieaz texte fixe ce includ numele unui tip text sau instruciuni. Caset de tip text ,editabil.

OPTION Grup de controale de tip opiune. Din grup doar GROUP poate fi selectat. TOOGLE BUTTON

Buton cu dou stri : ON(selectat) care (-1) i OFF(deselectat) care nseamn NU (0).
25

CONTROALE I FUNCIILE LOR


INSTRUMENT NUME
OPTION BUTTON CHECK BOX

FUNCIE
Buton opiune folosit pe formular cu alte butoane pentru a determina care din aciuni s aib loc atunci cnd este selectat. Caset de validare care,atunci cnd este selectat comut n starea ON(-1).

COMBO BOX LIST BOX COMMAND BUTTON

Caset combinat.Caset de text cu o list derulant. n caseta de text se poate edita i gsete elementul n list. Caset list. Conine o list de valori al unui cmp din baza de date. Buton de comand ,folosit pentru a executa coduri de procedur editate n VBA. 26

CONTROALE I FUNCIILE LOR


INSTRUMENT NUME FUNCIE

UNBOUND Obiect neasociat bazei de date care include un obiect OLE: orice obiect editat ntr-un program Microsoft OBJECT Office. FRAME

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 CONTROL care pot fi schimbate.Fiecare pagin conine mai multe controale.Se utilizeaz pentru formulare prea ncrcate. SUBFORM/ Introduce n formular , sub form de SUBREPORT subformular sau raport ,un formular sau raport efectuat anterior. LINE RECTANGLE Creaz o linie dreapt pe care o putem redimensiona i muta. Creaz un dreptunghi pe care l putem
28

TIPURI DE DATE
DATE TIPUL DATELOR
TEXT ALFANUMERICE

DESCRIERE
Cel mult 255 caractere.Valoarea prestabilit la 50. Cel mult 64.000 caractere. Nu poate fi cheie primar i nu putem indexa dup el. Sunt disponibile mai multe subtipuri.Se alege formatul 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 cheie dar poate fi indexat.
29

MEMO

NUMBER

NUMERICE

AUTONUMBER

YES/NO

TIPURI DE DATE
DATE TIPUL DATELOR DESCRIERE Format special,fix ,cu patru zecimale,proiectat s exclud erorile de rotunjire n calcule financiare.

NUMERICE

CURENCY

DATE CALENDARISTICE

DATE/TIME

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. Creaz cmpuri care permit utilizatorului s aleag valori din cadrul altor tabele sau dintro list de valori. 30

OBIECTE MARI

OBJECT OLE

ADRESE INTERNET

HYPERLINK

INFORMAII LEGATE

LOOKUP WIZARD

SUBTIPURI DE DATE NUMERICE


MRIMEA CMPULUI
BYTE INTEGER LONG INTEGER SINGLE DOUBLE REPLICATION ID

ZECIMALE
0 0 0 7 15

INTERVALUL VALORIC
DE LA 0 LA 256 DE LA -32.768 LA 32.768

OCTEI
1 2 4 4 8 16

DE LA -2.147.483.648 LA 2.147.483.648
DE LA 3,4*1038 LA + 3,4*1038 DE LA - 1,797*10308 LA +1,797*10308 IDENTIFICATOR GLOBAL UNIC

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 015. 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 SUM FUNCIA Suma valorilor unui cmp TIP CMP Numeric, Autonumber , Data, Logic

AVG

Media aritmetic

Numeric, Autonumber , Data, Logic

MIN

Valoarea minim

Numeric, Autonumber , Data, Logic, Text

MAX

Valoarea maxim

Numeric, Autonumber , Data, Logic,Text


39

OPERAII PREDEFINITE DE ACCESS


OPERAIA COUNT FUNCIA
Numrul de valori dintrun cmp Variana valorilor unui cmp Prima valoare din cmp TIP CMP Toate tipurile

STDEV

Numeric, Autonumber ,Data,Logic Toate tipurile

FIRST

LAST

Ultima valoare din cmp

Toate tipurile

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 INTEROGAREA 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 vbAbortRetryIgnor2

vbCritical 16 afieaz
vbQuestion 32 vbExclamation 48

vbYesNoCancel 3
vbYesNo 4 vbRetryCancel 5

vbInformation 64

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 DOUBLE SINGLE CARACTERISTICI
CU VIRGUL MOBIL PE 64 BII CU VIRGUL MOBIL PE 32 BII

CURRENCY
BYTE INTEGER LONG

CU PATRU ZECIMALE PE 64 BII


NUMERE NATURALE PE 8 BII NUMERE NTREGI PE 16 BII NUMERE NTREGI PE 32 BII LOGICE: TRUE (-1) I FALSE (0) TIP DAT CALENDARISTIC ( NTRE #) TIP CARACTER (NTRE ) TIP GENERIC CARACTER GENERAL REFER UN OBIECT I ESTE PRECEDAT DE SET
69

BOOLEAN
DATE STRING VARIANT OBJECT

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

* /
\ MOD &

NMULIRE MPRIRE
CTUL MPRIRII 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

CARACTERE UTILIZATE LA CUTAREA UNEI NREGISTRRI CARACTER EXPLICAIE

*
MAI MIC MAI MARE SAU EGAL MAI MIC SAU EGAL

ZERO SAU MAI MULTE CARACTERE


UN CARACTER

O CIFR

<>
LIKE

DIFERIT COMPARARE A DOU IRURI COMPAR DOU VARIABILE CE REFER OBIECTE

[ list caractere ]

UN CARACTER DIN LIST


UN CARACTER CARE NU EXIST N LIST 73

IS

[ ! list caractere ]

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 Sub test_msg() Call afisez_msg (mesajul n

mesaj SysCmd acSysCmdSetStatus , mesaj End Sub

bara de stare) End Sub

Function Versiune()

APELUL FUNCIEI DEFINITE

Versiune = SysCmd(acSysCmdAccessVer)

End Function

Sub test() MsgBox Versiune End Sub

76

FUNCII ACCESS
Abs(expr_numeric)-valoarea

absolut Asc(ir_caractere)-codul ascii 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

Date()-data curent Day(dat)-numrul zilei 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
IsNull(expr) -true/false IsDate(expr) true/false

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

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 STRUCTURI REPETITIVE :

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!

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 Deschiderea / nchiderea

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

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

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