Title: BAZE DE DATE ACCESS
1BAZE DE DATEACCESS
ÎNCHIDE APLICATIA
2CUPRINS
- CONCEPTUL DE BAZE DE DATE-SGBD
- LUCRUL CU TABELE ÎN ACCESS
- CREAREA FORMULARELOR
- CREAREA INTEROGARILOR
- CREAREA RAPOARTELOR
- CREAREA MODULELOR
- CREAREA MACRO
- CREAREA UNEI PAGINI WEB
3CONCEPTUL DE BAZA DE DATE
- Organizarea datelor în vederea prelucrarii pe
calculator este o activitate de mare importanta . - Din punct de vedere al prelucrarii pe calculator,
datele sunt definite de trei elemente - Un identificator (numele atribuit)
- Atribut (tipul de data pe care-l contine)
- Valoare (valoarea propriu-zisa).
- Informatia este rezultatul prelucrarii datelor.
- Organizarea datelor implica
- Organizarea datelor în memoria interna,care
cuprinde structura de tip lista,coada si stiva. - Organizarea datelor pe memoria externa, care
cuprinde structurile de tip fisier si baze de
date.
4DIFERENTA ÎNTRE BAZA DE DATE SI SISTEMUL DE
GESTIONARE A BAZEI DE DATE
- Baza de date este doar o componenta a SGBD care
contine datele propriu-zise este un container
care stocheaza date structurate. - Sistemul de gestiune a BD (SGBD) reprezinta
software-ul pentru baze de date care are rolul de
a controla organizarea si integritatea bazei de
date, de regasire a datelor din baza de date ,
precum si de a asigura stocarea fizica,
securitatea, replicarea si recuperarea
informatiilor dupa erori. - Microsoft Access este un SGBD comercial de tip
desktop, fiind adecvat administrarii bazelor de
date mici si medii.
5SGBD DE TIP DESKTOP
- UN SGBD de tip desktop este instalat si ruleaza
local. Este o aplicatie autonoma care stoceaza o
baza de date si efectueaza ea însasi toate
procesarile SQL sau se comporta ca si client al
unui server SQL. - SQL este
- UN LIMBAJ DE PROGRAMARE
- NEPROCEDURAL
- ÎNGLOBAT SAU INTERACTIV
- STANDARDIZAT
- UTILZAT PENTRU A MANIPULA DATELE SI OBIECTELE
DIN BAZA DE DATE - SGBD executa programul SQL si afiseaza rezultatul
sau mesajele de eroare.
6MODELUL RELATIONAL AL BAZEI DE DATE
- Se bazeaza pe teoria matematica a multimilor,
tabelele reprezentând analoagele multimilor
colectii de elemente distincte care au
proprietati comune. - O baza de date colectie formata din unul sau
mai multe tabele. - Tabelul reprezinta
- structura bazei de date care stocheaza datele
- Contine date despre un tip de entitate clasa de
obiecte, evenimente sau cocepte cu proprietati
comune - Grila bidimensionala coloane, rânduri
- La intersectia rând-coloana se afla valoarea
- Nume unic în baza de date.
7MODELUL RELATIONAL AL BAZEI DE DATETERMENI
ECHIVALENTI
MODELUL RELATIONAL SQL (SGBD) NE-RELATIONAL
RELATIE - caracterizeaza un tip de entitate - o clasa de obiecte, evenimente sau concepte cu proprientati comune, care apartin lumii reale si care pot fi distinse de alte clase. TABEL FISIER
ATRIBUT- caracterizeaza o proprietate specifica tipului entitatii din relatie. COLOANA CÂMP
TUPLU- caracterizeaza o entitate (o instanta unica) al tipului de entitate inclus în relatia din care face parte instanta respectiva. RÂND ÎNREGISTRARE
8NORMALIZAREA BAZEI DE DATE
Prima forma normala 1FN A doua forma normala 2FN A treia forma normala 3FN
Are coloane care contin numai valori atomice (o singura valoare, nedivizata) Nu contine grupuri care se repeta (doua sau mai multe coloane în relatie logica unele cu altele) 1FN Nu exista dependente functionale partiale. Raspunsul la întrebarea Pot determina valoarea coloanei non-cheie daca nu cunosc decât o parte din valoarea cheii primare ? 2FN Nu exista depen-dente tranzitive. Raspunsul la întrebarea Pot determina valoarea coloanei non-cheie daca cunosc oricare alta valoare a unei coloane non-cheie ?
9 CONCEPTE ALE REALIZARII UNEI BAZE DE DATE
- Nivelul extern - corespunzator utilizatorului,
care îsi exprima cerintele informationale prin
asa numitele scheme externe. - Nivelul conceptual - aferent administratorului
bazei de date , care se concretizeaza în schema
conceptuala. - Nivelul intern - corespunzator programatorului,
care realizeaza reprezentarea datelor pe suportul
fizic.
10FUNCTII ALE SGBD
- ORGANIZAREA DATELOR
- crearea si manevrarea tabelelor care contin date
într-un format tabelar convenabil (linii si
coloane)- Datasheet - LEGAREA TABELELOR SI EXTRAGEREA DATELOR
- legarea mai multor tabele prin relatiile între
date (prin intermediul Interogarilor),în vederea
crearii unor tabele temporare (Recordset) ,
stocate în memoria calculatorului sau în fisiere
memorate pe disc,care contin datele alese de
programator.
11FUNCTII ALE SGBD
- INTRODUCEREA SI EDITAREA DATELOR
- Crearea si implementarea unor Formulare pentru
introducerea, afisarea si editarea datelor,ca
alternativa la prezentarea tabelara. - PREZENTAREA DATELOR
- Crearea de Rapoarte în care sa poata fi
sintetizate informatiile din obiectele Recordset
pe care le puteti vedea , tiparii si publica pe
Internet sau Intranet. Aceste rapoarte reprezinta
scopul final al unei aplicatii SGBD!
12SCHEMA LOGICA A COLECTIEI DE OBIECTE ACCESS
TABEL2
TABEL1
TABEL3
INTEROGARE
RAPORT
FORMULAR
13OBIECTELE ACCESS
- Table-obiect definit de utilizator în care sunt
stocate datele primare. - Form-obiect care permite introducerea datelor,
afisarea acestora sau controlul întregii
aplicatii. - Query-obiect care permite vizualizarea
informatiilor obtinute prin prelucrarea datelor
din unul sau mai multe tabele si / sau
interogari. - Report-obiect care permite formatarea si
tiparirea informatiilor obtinute în urma
consultarii bazei de date sub forma de document.
- Pages-obiect care include un fisier HTML si alte
fisiere suport în vederea furnizarii accesului la
date prin intermediul browser-ului Internet. - Macro-obiect care contine o definitie structurata
a uneia sau mai multor actiuni pe care Access le
realizeaza ca raspuns la un eveniment. - Module-obiect care contine proceduri definite de
utilizator si scrise în limbajul de programare
Visual Basic.
14CREAREA TABELELOR
MODUL DE REALIZARE A STRUCTURII TABELEI
NUMELE CÂMPULUI
TIPUL DE DATE CONTINUT DE CÂMP
DIMENSIUNEA CÂMPULUI. SETARI SUPLIMENTARE RELATIV
LA CÂMPUL DEFINIT.
SETARI SPECIFICE CONTINUTULUI CÂMPULUI
15STABILIREA INDECSIROL SI A CHEII TABELULUI
STABILIREA MODULUI DE CAUTARE ,DE SORTARE ÎN
TABELA CU AJUTORUL CÂMPURILOR INDEXATE.
CHEIA PRIMARA A TABELEI CARE TREBUIE SA CONTINA
ÎNREGISTRARI UNICE!
16CREAREA LEGATURILOR ÎNTRE TABELE
CASETA DE DIALOG DESCHISA PRIN MENIUL RAPID
PENTRU ADAUGAREA TABELELOR ÎN SUPRAFATA
RELATIILOR.
DESCHIDEREA INTERFETEI PENTRU CREAREA LEGATURILOR.
17CREAREA LEGATURILOR ÎNTRE TABELE
LEGATURA DE TIP UNU LA MAI MULTE.
NUMELE TABELEI
NUMELE CÂMPULUI CHEIE PRIMARA SAU CHEIE EXTERNA
CARE CREEAZA LEGATURA.
18CREAREA FORMULARELOR
ALEGEREA TABELELOR SAU INTEROGARILOR DIN CARE SE
PREIAU CÂMPURILE NECESARE.
CÂMPURILE TABELEI/INTEROGARII SELECTATE.
19CREAREA FORMULARELOR
PRELUAREA CÂMPURILOR CARE VOR FI PREZENTE ÎN
FORMULAR.
20CREAREA FORMULARELOR
CÂMPURILE DIN FORMULAR.
CÂMPURILE DIN FORMULARUL SUBORDONAT (SUBFORM).
TABELELE CARE AU CONTIN CÂMPURILE CE VOR APAREA
ÎN FORMULAR. SE VA ALEGE MODUL DE PREZENTARE A
DATELOR.
21CREAREA FORMULARELOR
MODUL DE AFISARE A DATELOR ÎN FORMULAR.
22CREAREA FORMULARELOR
FORMATUL GRAFIC.
23CREAREA FORMULARELOR
NUMELE FORMULARULUI.
NUMELE SUB-FORMULARULUI.
24FORMULARUL SI SUBFORMULARUL INCLUS ÎN FORMA
DISPONIBILA UTILIZATORULUI
FORMULARUL
SUBFORMULAR
25CONTROALE SI FUNCTIILE LOR
INSTRUMENT NUME FUNCTIE
SELECT OBJECT (indicator) Pointer-ul de selectie al obiectelor.
CONTROL WIZARD Activeaza/dezactiveaza programele Control Wizard
LABEL (eticheta) Afiseaza texte fixe ce includ numele unui control de tip text sau instructiuni.
TEXT BOX Caseta de tip text ,editabila.
OPTION GROUP Grup de controale de tip optiune. Din grup doar una poate fi selectata.
TOOGLE BUTTON Buton cu doua stari ON(selectat) care înseamna DA (-1) si OFF(deselectat) care înseamna NU (0).
26CONTROALE SI FUNCTIILE LOR
INSTRUMENT NUME FUNCTIE
OPTION BUTTON Buton optiune folosit pe formular cu alte butoane pentru a determina care din actiuni sa aiba loc atunci când este selectat.
CHECK BOX Caseta de validare care,atunci cand este selectata comuta în starea ON(-1).
COMBO BOX Caseta combinata.Caseta de text cu o lista derulanta. An caseta de text se poate edita si gaseste elementul în lista.
LIST BOX Caseta lista. Contine o lista de valori al unui câmp din baza de date.
COMMAND BUTTON Buton de comanda ,folosit pentru a executa coduri de procedura editate în VBA.
IMAGE Afiseaza o imagine statica.Nu poate fi editata în formular.
27CONTROALE SI FUNCTIILE LOR
INSTRUMENT NUME FUNCTIE
UNBOUND OBJECT FRAME Obiect neasociat bazei de date care include un obiect OLE orice obiect editat într-un program Microsoft Office.
BOUND OBJECT FRAME Obiect asociat bazei de date si care contine un obiect OLE imagine,grafic,sunete,filme,etc.
PAGE BREAK Delimitator de pagina.Determina imprimanta sa traca la o noua pagina.Nu este vizibil în formular.
28CONTROALE SI FUNCTIILE LOR
INSTRUMENT NUME FUNCTIE
TAB CONTROL Schimbator de pagina.Creaza o serie de pagini care pot fi schimbate.Fiecare pagina contine mai multe controale.Se utilizeaza pentru formulare prea încarcate.
SUBFORM/ SUBREPORT Introduce în formular , sub forma de subformular sau raport ,un formular sau raport efectuat anterior.
LINE Creaza o linie dreapta pe care o putem redimensiona si muta.
RECTANGLE Creaza un dreptunghi pe care îl putem configura cu efecte speciale în moduri diferite.
29TIPURI DE DATE
DATE TIPUL DATELOR DESCRIERE
ALFANUMERICE TEXT Cel mult 255 caractere.Valoarea prestabilita la 50.
ALFANUMERICE MEMO Cel mult 64.000 caractere. Nu poate fi cheie primara si nu putem indexa dupa el.
NUMERICE NUMBER Sunt disponibile mai multe subtipuri.Se alege formatul dorit(nr.zecimale,etc.)
NUMERICE AUTONUMBER Tip Long Integer ce se autoincrementeaza.Nu se poate modifica când exista înregistrari.
NUMERICE YES/NO Tip booleanYes-1,No0.Nu poate fi cheie dar poate fi indexat.
30TIPURI DE DATE
DATE TIPUL DATELOR DESCRIERE
NUMERICE CURENCY Format special,fix ,cu patru zecimale,proiectat sa excluda erorile de rotunjire în calcule financiare.
DATE CALENDARISTICE DATE/TIME Data calendaristica si ora sunt stocate într-un format special fix.Se selecteaza formatul dorit.
OBIECTE MARI OBJECT OLE Include elemente grafice,fisiere cu semnale audio si alte tipuri de date create de o aplicatie OLE server.Nu poate fi cheie si nici index.
ADRESE INTERNET HYPERLINK Adresa a unei pagini Web.Formata din trei parti textul afisat,adresa si subadresa.
INFORMATII LEGATE LOOKUP WIZARD Creaza cîmpuri care permit utilizatorului sa aleaga valori din cadrul altor tabele sau dintr-o lista de valori.
31SUBTIPURI DE DATE NUMERICE
MARIMEA CAMPULUI ZECIMALE INTERVALUL VALORIC OCTETI
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,41038 LA 3,41038 4
DOUBLE 15 DE LA - 1,79710308 LA 1,79710308 8
REPLICATION ID IDENTIFICATOR GLOBAL UNIC 16
DECIMAL DE LA - 1028 LA 1028 16
32SETARI CARACTERISTICE CÂMPULUI
- FORMAT- permite alegerea unor formate
prestabilite sau crearea unui format personalizat
pentru tipul de data ales. - DECIMAL PLACES -stabileste numarul de zecimale
între 0-15. - INPUT MASK -se aplica tipului text si data
calendaristica un format personalizat de afisare.
Ex.Tel.(0262)655-224. - CAPTION -nume atribuit cîmpului la
vizualizare(diferit de cel intern,deja atribuit). - DEFAULT VALUE -valoarea inclusa implicit ,înainte
de actualizarea câmpului(când majoritatea
valorilor vor fi aceasta.)
33SETARI CARACTERISTICE CÂMPULUI
- VALIDATION RULE - regula de validare testata pe
baza criteriului definit sub forma unei expresii.
Acestea folosesc - Operatori ,- ,, /, Mod ,lt ,gt , , ,AND,OR
,BETWEEN ,IN ,IS NULL. - Indentificatori n paranteze drepte .
- Functii.
- Constante.
- VALIDATION TEXT -mesajul care apare în cazul
nerespectarii regulii de validare. - REQUIRED -se stabileste la yes daca este strict
necesara completarea acestui câmp. - INDEXED - se alege optiunea pentru un index
neduplicat (primar) sau duplicat . Câmpul indexat
este util în operatiile de cautare în baza de
date.
34 INTEROGARILE ÎN ACCESS
- Interogarea bazei de date înseamna regasirea si
extragerea datelor stocate în aceasta , într-un
mod util scopului urmarit. - Rezultatul unei interogari reprezinta o foaie de
raspuns dinamic, numita Dynaset, care nu mai
exista fizic dupa închiderea interogarii. - Crearea Query se poate în urmatoarele moduri
- Crearea pas cu pas în modul Design view
(fereastra de proiectare) - Utilizând instrumentul Wizard
- Exprimarea cererii în limbaj SQL
- Crearea unui filtru si salvarea acestuia ca
cerere de interogare.
35TIPURI DE INTEROGARI
- Interogari de tip Select care afiseaza datele din
mai multe tabele si nu permite actualizarea
datelor. - Constituie o sursa de date pentru un raport sau
formular. - Interogari de tip Crosstab pentru sintetizarea
datelor sub forma unei foi de calcul de tip
Excel. - Interogari de tip Parameter care folosesc aceeasi
interogare de mai multe ori cu parametrii
diferiti.
36TIPURI DE INTEROGARI
- Interogari de tip Action , acestea având efect
asupra datelor din baza de date - Interogari de tip Append permit adaugarea de noi
înregistrari într-o tabela existenta. - Interogari de tip Delete permit stergerea unor
înregistrari dintr-o tabela 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 fara crearea de noi
înregistrari sau tabele.
37CREAREA INTEROGARILOR
- Pasii crearii unei interogari sunt
- Alegerea tipului de interogare
- Alegerea tabelelor / interogarilor care vor
constitui sursa de date a interogarii (în partea
superioara a ferestrei de lucru) - Selectarea câmpurilor (mutarea prin glisare în
grila de proiectare numita grila QBE adica Query
By Exemples în partea inferioara a ferestrei de
lucru) si eventual stabilirea unor criterii de
selectie. - Ordonarea datelor (Sort) crescator /
descrescator. Daca exista mai multe câmpuri
ordonate se aplica ordonarea începând din stânga.
38CREAREA INTEROGARILOR
- Crearea unor câmpuri calculate
- Se selecteaza coloana si se acceseaza comanda de
meniu Totals (?) - Se selecteaza Expresion în linia de Totals
- În linia Field se introduce expresia sub forma
- Nume rezultat Câmp1 operator aritmetic
Câmp2 - Realizarea unor operatii de calcul asupra tuturor
înregistrarilor - În linia Totals , unde apare Group By ,se alege
tipul de operatie dorit
39OPERATII PREDEFINITE DE ACCESS
OPERATIA FUNCTIA TIP CÂMP
SUM Suma valorilor unui câmp Numeric, Autonumber , Data, Logic
AVG Media aritmetica Numeric, Autonumber , Data, Logic
MIN Valoarea minima Numeric, Autonumber , Data, Logic, Text
MAX Valoarea maxima Numeric, Autonumber , Data, Logic,Text
40OPERATII PREDEFINITE DE ACCESS
OPERATIA FUNCTIA TIP CÂMP
COUNT Numarul de valori dintr-un câmp Toate tipurile
STDEV Varianta valorilor unui câmp Numeric, Autonumber ,Data,Logic
FIRST Prima valoare din câmp Toate tipurile
LAST Ultima valoare din câmp Toate tipurile
41TIP DE INTEROGARE
CÂMPURI SELECTATE SAU CALCULATE
SURSA DE DATE
EVENTUALE OPERATII ASUPRA CÂMPURILOR
MOD DE SORTARE
AFISAREA SAU NU ÎN DYNASET
APARE ÎN REZULTATUL INTEROGARII
CRITERII DE SELECTIE
42INTEROGARE DE SELECTIE ÎN LIMBAJ SQL
LISTA DE CÂMPURI SELECTATE
TABELA / TABELELE DIN CARE PROVIN CÂMPURILE
CONDITIE DE SELECTIE
GRUPAREA SELECTIEI DUPA ANUMITE CÂMPURI
43INTEROGARE DE TIP CROSSTAB
- Sunt interogari care au ca rezultat o
reprezentare tabelara a datelor identica cu cea
din Excel. - Este utila atunci cand se doreste o centralizare
a datelor , de exemplu numararea înregistrarilor
unei grupe de date , însumarea unor date pe grupe
sau dupa anumite criterii. - Schema unei astfel de interogari este
- Câmp coloana - apare ca nume de câmp
- Câmpuri rând apar ca înregistrari
- Câmp calculat apare ca valoare calculata a
înregistrarilor.
44INTEROGARE DE TIP CROSSTAB
CRITERIU CARE NU APARE ÎN TABELA
TITLU DE COLOANA
CÂMP CALCULAT
ÎNREGISTRARE
45INTEROGARE SIMPLA
- SELECT domeniu lista_selectie
- FROM nume_tabela1, nume_tabela2,..
- WHERE criteriul_de selectie
- ORDER BY câmpuri_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
46INTEROGARI CU CÂMPURI CALCULATE
- Interogare de tip Select utilizata pentru crearea
unor campuri calculate si având si un parametru - SELECT domeniu functie_agregat (nume_câmp) AS
alias, ... - FROM nume_tabela1, nume_tabela2, ...
- 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"))
47INTEROGARE DE TIP CROSSTAB
- Interogare de tip Crosstabe
- TRANSFORM functie_agregat(câmp) AS alias
- SELECT ALL/DISTINCT/DISTINCTROW nume_câmp
- FROM nume_tabela1, nume_tabela2, ...
- 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
48INTEROGARE DE COMBINARE
- Interogare de tip Union
- SELECT lista_câmpuri FROM tabela1
- UNION SELECT lista_câmpuri FROM tabela2
- GROUP BY câmp_de_grupare
- HAVING criteriu_de_grupare
- UNION SELECT lista_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
49CREARE DE TABEL PRIN INTEROGARE
- Interogare de tip Make Table
- SELECT domeniu câmp1, câmp2, ...
- INTO tabela_noua
- FROM tabela_sursa
- WHERE criteriul_de_adaugare
- 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
50INTEROGARE DE ADAUGARE
- Interogare de tip Append
- INSERT INTO tabela_destinatie (câmp1, câmp2, ...)
- SELECT domeniu câmp, câmp, ...
- FROM tabela_sursa
- WHERE criteriul_de_adagare
- 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
51INTEROGARE DE ACTUALIZARE
- Interogare de tip Update
- UPDATE nume_tabela
- SET nume_câmp1valoare1, nume_câmp2valoare2, ...
- WHERE criteriu_de_actualizare
- Exemplu
- UPDATE MARFURI
- SET categdetergent, umcutie
- WHERE categdetergenti AND umcutii
52INTEROGARE DE STERGERE
- Interogare de tip Delete
- DELETE
- FROM nume_tabela
- WHERE criteriu_de_stergere
- Exemplu
- DELETE INTRARE_EL., an_prec AS Expr1
- FROM INTRARE_EL
- WHERE (((an_prec)Year(Date())-1))
53INTEROGARE PARAMETRIZATA
- Interogare de tip Parameter
- PARAMETERS lista_câmpuri_parametru
- SELECT DISTINCTROW nume_câmp1, nume_câmp2, ...
- FROM nume_tabela
- WHERE conditie_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)ltPUNCTAJ PESTE))
- ORDER BY date_olimp.total_p DESC
54DESCHIDEREA WIZARD-ului PENTRU CREARE DE RAPOARTE
ALEGEREA INTEROGARII CARE SERVESTE CA SURSA DE
DATE
UTILITARUL WIZARD
55ALEGEREA SURSEI DE DATE
ALEGEREA CÂMPURILOR CU DATELE DORITE
INTEROGAREA SELECTATA
56PRECIZAREA MODULUI DE VIZUALIZARE
SE DORESTE GRUPAREA DUPA CÂMPUL ANUL
PRECIZAREA MODULUI DE VIZUALIZARE
57GRUPARI SI SORTARI
MODUL DE SORTARE A DATELOR
NIVELUL DE GRUPARE
58SORTARE SI TOTALIZARI DE RAPORT
SORTARE DESCRESCÎTOARE PRIN CLIC PE BUTONUL
ASCENDING
CENTRALIZARI ÎN SUBSOLUL RAPORTULUI
59MODUL DE PREZENTARE ÎN CADRUL PAGINII
ALEGEREA AUTOFORMATULUI PERSONALIZAT ANTERIOR
MOD DE ARANJARE ÎN PAGINA
60TITLUL RAPORTULUI
TITLUL RAPORTULUI
VIZUALIZARE NORMALA
VIZUALIZARE ÎN MOD DE PROIECTARE
61PEGINA REZULTATA FARA AJUSTARE
62RAPORTUL PRELUCRATPAG.1
63RAPORTUL PRELUCRATPAG.2
64MODULE. NOTIUNI GENERALE
- Limbajul Visual Basic este instrumentul de
programare pentru aplicatiile informatice
dezvoltate cu ajutorul Microsoft Office
2002-2003. - Limbajul VBA este limbaj orientat pe obiecte si
evenimente. - Obiectele Access sunt caracterizate prin metode
si proprietati. - Metoda actioneaza asupra starii obiectului.
- Proprietatea indica starea obiectului.
- Exemplu Obiect.Visible True
65ACCESAREA OBIECTELOR ACCESS
- Nume obiect access!Nume obiect.Proprietate
- Parantezele sunt necesare daca numele contine
spatii - Nume obiect access(Nume obiect).Metoda
- Exemplu
- Forms!formular elevi!cod elev.SetFocus
- Forms!formular elevi!Buton iesire.EnabledTrue
- Me.rezultat.Value -1 unde Me reprezinta
formularul aflat pe ecran si în care avem
controlul de tip ChekBox cu numele rezultat a
carei valoare o setam cu adevarat ( -1 ).
66AFISARE SI INTRODUCERE DATELOR
- InputBox(Mesaj,Titlu,Val_implicit,X,Y,Fisier
Help,Context) afiseaza o caseta de dialog pentru
introducere de date. - Mesaj-sir de caractere(max.1024) cu trecerea la
alt rând prin Chr(13). - Titlu sir de caractere care reprezinta titlul
casetei - Val_implicita spatiul pentru introducerea datei
- X coordonata x raportata la marginea stânga sus
- Y - coordonata y raportata la marginea stânga sus
- Fisier Help sir de caractere care indica numele
fisierului - Context numar care indica locul fisierului.
67AFISARE SI INTRODUCERE DATELOR
- MsgBox (mesaj, butoane, titlu, fisier Help,
context)
- Butoane
- vbOkOnly ? 0
- vbOkCancel ? 1
- vbAbortRetryIgnor?2
- vbYesNoCancel ? 3
- vbYesNo ? 4
- vbRetryCancel ? 5
- vbCritical ? 16 afiseaza Ä
- vbQuestion ? 32
- vbExclamation ? 48
- vbInformation ? 64 ?
?
!
68MODULE
- Modulele sunt obiecte din Access care permit
scrierea de rutine în limbaj VBA Visual Basic
pentru Access. - Modulele sunt formate din
- Declaratii de variabile
- Tipuri de date utilizator
- Proceduri
- Functii
- Tipurile de date sunt
- Date standard
- Date definite de utilizator
69TIPURI DE DATE STANDARD
TIP DE DATA CARACTERISTICI
DOUBLE CU VIRGULA MOBILA PE 64 BITI
SINGLE CU VIRGULA MOBILA PE 32 BITI
CURRENCY CU PATRU ZECIMALE PE 64 BITI
BYTE NUMERE NATURALE PE 8 BITI
INTEGER NUMERE ÎNTREGI PE 16 BITI
LONG NUMERE ÎNTREGI PE 32 BITI
BOOLEAN LOGICE TRUE (-1) SI FALSE (0)
DATE TIP DATA CALENDARISTICA ( ÎNTRE )
STRING TIP CARACTER (ÎNTRE )
VARIANT TIP GENERIC CARACTER GENERAL
OBJECT REFERA UN OBIECT SI ESTE PRECEDAT DE SET
70DECLARAREA VARIABELOR
- VARIABILE GLOBALE valabile în toate modulele
- PUBLIC variabila As tip_variabila
- GLOBAL variabila As tip_variabila
- VARIABILE LOCALE valabile doar în modulul în
care au fost definite - DIM variabila As tip_data
- PRIVATE variabila As tip_data
- SET variabila_obiect expresie_obiect
- VARIABILE DINAMICE
- DE TIP VECTOR Dim var_vector(10) As tip_data
- DE TIP MATRICE Dim var_matrice(10,10) As tip_data
71DATE DEFINITE DE UTILIZATOR
- Cuprinde date de tipuri diferite
- PRIVATE / PUBLIC TYPE nume_tip_data
- Element1 As tip_data
- Element2 As tip_data
- Element3 As tip_data
- ......
- Elementn As tip_data
- END TYPE
- Accesul la o astfel de data se poate face global
sau perticular nume_tip_data.Element1
72OPERATORI MATEMATICI VBA
OPERATORI OPERATIA REALIZATA
RIDICARE LA PUTERE
ADUNARE
- SCADERE
ÎNMULTIRE
/ ÎMPARTIRE
\ CÂTUL ÎMPARTIRII
MOD RESTUL ÎMPARTIRII
CONCATENAREA(LIPIREA) A DOUA EXPRESII CU TRANSFORMAREA ACESTUIA ÎNTR-UN SIR DE CARACTERE (STRING)
73OPERATORII DE COMPARARE VBA
CARACTERE UTILIZATE LA CAUTAREA UNEI ÎNREGISTRARI
OPERATOR EXPLICATIE
EGALITATE
gt MAI MARE
lt MAI MIC
gt MAI MARE SAU EGAL
lt MAI MIC SAU EGAL
ltgt DIFERIT
LIKE COMPARARE A DOUA SIRURI
IS COMPARA DOUA VARIABILE CE REFERA OBIECTE
CARACTER EXPLICATIE
ZERO SAU MAI MULTE CARACTERE
? UN CARACTER
O CIFRA
lista caractere UN CARACTER DIN LISTA
! lista caractere UN CARACTER CARE NU EXISTA ÎN LISTA
74PROCEDURI SI FUNCTII
- Sub Procedura2 (Pf1,Pf2,Pf3)
- ........................
- End Sub
- Function Functia1(Pf1,Pf2, Pf3) As tip_rezultat
- .................
- Functia1expresie
- .......
- End Function
- Sub Procedura1()
- ................
- Call Procedura2(P1,P2,P3)
- .................
- Call Procedura2(P11,P12,P13)
- ..................
- Var_1Functia1(Pa1,Pa2,Pa3)
- ..................
- Var_2Functia1(Pa11,Pa12,Pa13)
- ......
- End Sub
75PROCEDURI SI FUNCTII
- Daca procedura sau functia exista în alt modul
sau sunt mai multe cu acelasi nume ,apelul se
face prin precizarea modulului din care face
parte - Call nume_modul.nume_procedura (val_param1,val_pa
ram2) - Variabila nume_modul.nume_functie
(val_param1,val_param2) - Nota Testarea unei proceduri/functii cu
parametrii, se creeaza o alta procedura fara
prametrii si se apeleaza cea dintâi. - Testarea unei proceduri/functii fara parametrii
se face cu comanda Run , Run Sub/User Form din
meniul principal.
76EXEMPLE DE PROCEDURI/FUNCTII SI APELAREA LOR
- Sub afisez_msg (mesaj As String)
- mesajul este parametrizat prin mesaj
- SysCmd acSysCmdSetStatus , mesaj
- End Sub
- Sub test_msg()
- Call afisez_msg (mesajul în bara de stare)
- End Sub
APELUL FUNCTIEI DEFINITE
Function Versiune() Versiune SysCmd(acSysCmdAcce
ssVer) End Function
Sub test() MsgBox Versiune End Sub
77FUNCTII ACCESS
- Abs(expr_numerica)-valoarea absoluta
- Asc(sir_caractere)-codul ascii a primului
caracter - Chr(cod_caracter)caracterul
- Int(expr_numerica)-partea întreaga a numarului
- Exp(expr_numerica)-e la puterea expr_numerica
- Log(expr_numerica)-logaritmul natural
- Cos(expr_numerica)-cosinusul expresiei
- Date()-data curenta
- Day(data)-numarul zilei din luna
- Month(data)-numarul lunii din an
- Year(data)-anul datei
- Time()-oraminutesecunde
- Hour(expr_timp)-ora
- Minute(expr_timp)-minute
- Second(expr_timp)-secunde
78FUNCTII ACCESS
- 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
- Len(sir_caractere)-numarul de caractere din sir
- Space(numar)-numar de spatii
- Str(expr_numerica)-conversie în caractere
- Val(sir caracter)-conversie în numar
- Mid(sir,pozitie,nr_caractere)- extrage sir, de
lungime ,din pozitia
79STRUCTURI FUNDAMENTALE DE PROGRAMARE
- STRUCTURI ALTERNATIVE
- Instructiunea IF
- IF conditie THEN
- instructiuniA
- ELSE
- Instructiuni B
- END IF
- ..................................................
......... - IF NOT (conditie) THEN
- Insrtuctiuni
- END IF
- ..................................................
..........
- Instructiunea SELECT CASE
- SELECT CASE expr_selector
- CASE lista_expr1
- Instructiuni1
- CASE lista_expr2
- Instructiuni2
- ..................................................
......... - CASE ELSE
- Istructiuni3
- END CASE
80STRUCTURI FUNDAMENTALE DE PROGRAMARE
- Functia IIF
- valoareIIF(expr_test valoare returnata pentru
cazul adevarat al expresiei de testare valoare
returnata pentru cazul fals al expresiei de
testare) - Obs. În loc de valoare returnata pot fi incluse
alte functii care sa returneze valoarea sau sa
execute o actiune!
- STRUCTURI REPETITIVE
- Instructiunea WHILE...WEND
- WHILE conditie_adevarata
- Instructiuni
- WEND
- ..................................................
........... - Instructiunea DO.....LOOP UNTIL
- DO
- Instructiuni
- LOOP UNTIL conditie_falsa
81STRUCTURI REPETITIVE
- Instructiunea DO WHILE ..... LOOP
- DO WHILE conditie_adevar
- Instructiuni
- LOOP
- ..................................................
.....Instructiunea DO UNTIL ..... LOOP - DO UNTIL conditie_falsa
- Instructiuni
- LOOP
- Instructiunea FOR ....NEXT
- FOR contorval_initiala TO val_finala
- Secventa_instructiuni
- EXIT FOR
- Secventa instructiuni
- NEXT contor
- ..................................................
...... - Instructiunea FOR EACH...NEXT
- FOR EACH variabila IN colectie
- Secventa instructiuni
- NEXT variabila
82(No Transcript)
83COMENZI MACRO
- Alaturi de codurile VBA ,comenzile macro asigura
automatizarea aplicatiilor Access. - Comenzile macro permit automatizarea diverselor
evenimente, fara ca realizatorul aplicatiei sa
cunoasca un limbaj de programare. - În cadrul comenzilor macro pot fi incluse un
numar mare de actiuni a caror derulare poate fi
conditionata de anumite valori afisate în
formulare sau rapoarte.
84TIPURI DE ACTIUNI ÎN MACRO-COMENZI
- Deschiderea / închiderea diferitelor meniuri de
Access. - Afisarea de mesaje de atentionare sau chiar
sunete de atentionare. - Stergerea, redenumirea , copierea sau salvarea
diferitelor obiecte ale aplicatiei. - Comunicarea cu alte produse software(Word,Excel,et
c.).
- Deschiderea / închiderea de tabele, interogari,
formulare sau rapoarte. - Vizualizarea sau tiparirea rapoartelor.
- Rularea cererilor de tip actiune.
- Efectuarea conditionala a anumitor actiuni.
- Cautarea anumitor date în tabele.
85CREAREA UNUI BUTON DE NAVIGARE ÎNTRE ÎNREGISTRARI
CASETE PE CARE LE OFERA WIZARDUL ACCESS PENTRU
CREAREA BUTONULUI
86CREAREA UNUI BUTON DE NAVIGARE ÎNTRE ÎNREGISTRARI
BUTONUL REZULTAT PE FORMULAR.
NUMELE BUTONULUI ÎNREGISTRAT ÎN BAZA DE DATE A
APLICATIEI ACCESS
87PROCEDURA ATASATA EVENIMENTULUI SCRISA DE ACCESS
PROCEDURA SCRISA DE SGBD ACCESS PENTRU
FUNCTIONAREA BUTONULUI
88Macrocomanda care apeleaza functia IsLoaded() de
închiderea a formularului
Tipul actiunii
Conditia aplicarii actiunii
Tipul obiectului caruia îi este aplicata actiunea
Numele obiectului specificat mai sus
89Procedura atasata butonului de deschidere a unui
formular
Apeleaza macrocomanda cautare , de închidere a
formularului cu acelasi nume , înainte de
deschiderea formularului FURNIZORI
90CREAREA UNEI PAGINI WEB
- Acest lucru este necesar fie pentru a utiliza
baza de date în retea, astfel încât fiecare
utilizator sa poata accesa în mod citire sau
editare diferite date din aceasta, fie pentru a
informa prin reteaua Internet asupra unor resurse
din baza de date a firmei respective. - Desi pare un lucru greu, vrajitorul te ajuta,
iar daca ai si notiuni de HTML poti sa faci
modificari direct în sursa paginii. - Oricum, în principiu nu este mai greu decât sa
realizezi un raport pe baza unei interogari în
modul Wizard!
91MODURI DE CREAREA PAGINII WEB
- Crearea unei pagini Web în modul Design
(introduceti fiecare data singur ). - Crearea unei pagini Web în modul Wizard (exact ca
în cazul formularelor, se creaza pe baza unei
interogari sau a unei tabele). - Editarea unei pagini Web deja existenta.
- Eu va recomand sa utilizati varianta Wizard si sa
respectati regulile învatate la crearea
rapoartelor.