Documente Academic
Documente Profesional
Documente Cultură
ACCESS
Î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ţă .
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)
8
CONCEPTE ALE REALIZĂRII
UNEI BAZE DE DATE
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
TABEL2
TABEL1 TABEL3
INTEROGARE
FORMULAR RAPORT
12
OBIECTELE ACCESS
Table-obiect definit de utilizator
în care sunt stocate datele Pages-obiect care include un
primare. fişier HTML şi alte fişiere suport
în vederea furnizării accesului
Form-obiect care permite
la date prin intermediul
introducerea datelor, afişarea
browser-ului Internet.
acestora sau controlul întregii
aplicaţii. Macro-obiect care conţine o
definiţie structurată a uneia sau
Query-obiect care permite
mai multor acţiuni pe care
vizualizarea informaţiilor
Access le realizează ca răspuns
obţinute prin prelucrarea
la un eveniment.
datelor din unul sau mai multe
tabele şi / sau interogări. Module-obiect care conţine
proceduri definite de utilizator
Report-obiect care permite
şi scrise în limbajul de
formatarea şi tipărirea
programare Visual Basic.
informaţiilor obţinute în 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
CREAREA LEGĂTURILOR. PENTRU 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
FUNCŢIE
NUME
UNBOUND Obiect neasociat bazei de date care include un
OBJECT obiect OLE: orice obiect editat într-un program
FRAME Microsoft Office.
27
CONTROALE ŞI FUNCŢIILE LOR
INSTRUMENT
FUNCŢIE
NUME
TAB Schimbător de pagină.Crează o serie de pagini care
CONTROL pot fi schimbate.Fiecare pagină conţine mai multe
controale.Se utilizează pentru formulare prea
încărcate.
SUBFORM/ Introduce în formular , sub formă de subformular
SUBREPORT sau 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
MEMO fi cheie primară şi nu putem
indexa după el.
Sunt disponibile mai multe
NUMBER subtipuri.Se alege formatul
dorit(nr.zecimale,etc.)
Tip Long Integer ce se
NUMERICE autoincrementează.Nu se poate
AUTONUMBER modifica când există înregistrări.
29
TIPURI DE DATE
DATE TIPUL DESCRIERE
DATELOR
BYTE 0 DE LA 0 LA 256 1
DE LA -2.147.483.648 LA
LONG INTEGER 0 4
2.147.483.648
DE LA - 1,797*10308 LA
DOUBLE 15 8
+1,797*10308
IDENTIFICATOR GLOBAL
REPLICATION ID 16
UNIC
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.
34
TIPURI DE INTEROGĂRI
35
TIPURI DE INTEROGĂRI
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
38
OPERAŢII PREDEFINITE DE ACCESS
OPERAŢIA FUNCŢIA TIP CÂMP
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
40
TIP DE INTEROGARE
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
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
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
55
PRECIZAREA MODULUI DE
VIZUALIZARE
56
GRUPĂRI ŞI SORTĂRI
MODUL DE SORTARE A
NIVELUL DE
DATELOR
GRUPARE
57
SORTARE ŞI TOTALIZĂRI DE RAPORT
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
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 !
vbAbortRetryIgnor2
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
71
OPERATORI MATEMATICI VBA
+ ADUNARE
- SCĂDERE
* ÎNMULŢIRE
/ ÎMPĂRŢIRE
\ CÂTUL ÎMPĂRŢIRII
COMPARĂ DOUĂ
UN CARACTER CARE NU
IS VARIABILE CE [ ! listă caractere ]
REFERĂ OBIECTE EXISTĂ Î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)
Var_1=Funcţia1(Pa1,Pa2,Pa3) As tip_rezultat
.................. .................
Var_2=Funcţia1(Pa11,Pa12,Pa13)
Funcţia1=expresie
......
.......
End Sub
End Function
74
PROCEDURI ŞI FUNCŢII
APELUL FUNCŢIEI
Function Versiune() DEFINITE
Sub test()
Versiune = SysCmd(acSysCmdAccessVer) MsgBox Versiune
End Sub
End Function
76
FUNCŢII ACCESS
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:
returnată pentru cazul WHILE condiţie_adevărată
adevărat al expresiei de Instrucţiuni
testare ; valoare returnată WEND
pentru cazul fals al expresiei .............................................................
de testare) Instrucţiunea DO.....LOOP
UNTIL:
Obs. În loc de valoare
DO
returnată pot fi incluse alte
Instrucţiuni
funcţii care să returneze
LOOP UNTIL condiţie_falsă
valoarea sau să execute o
acţiune!
80
STRUCTURI REPETITIVE
81
82
COMENZI MACRO
83
TIPURI DE ACŢIUNI ÎN
MACRO-COMENZI
Deschiderea / închiderea
Deschiderea / închiderea
de tabele, interogări, diferitelor meniuri de
formulare sau rapoarte. Access.
Afişarea de mesaje de
Vizualizarea sau tipărirea
rapoartelor. atenţionare sau chiar
sunete de atenţionare.
Rularea cererilor de tip
Ştergerea, redenumirea ,
acţiune.
copierea sau salvarea
Efectuarea condiţională a diferitelor obiecte ale
anumitor acţiuni. aplicaţiei.
Căutarea anumitor date în Comunicarea cu alte
tabele. produse
software(Word,Excel,etc.).
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
87
Macrocomanda care apelează funcţia
IsLoaded() de închiderea a formularului
Tipul acţiunii
Condiţia aplicării
acţiunii
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