BA ZE DE DATE ACCESS

91
1 BA BA ZE DE DATE ZE DE DATE ACCESS ACCESS ÎNCHIDE APLICAŢIA ÎNCHIDE APLICAŢIA Prof. Mureşan Carmen Silvia Prof. Mureşan Carmen Silvia

description

BA ZE DE DATE ACCESS. Prof. Mureşan Carmen Silvia. ÎNCHIDE APLICAŢIA. 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. CONCEPTUL DE BAZĂ DE DATE. - PowerPoint PPT Presentation

Transcript of BA ZE DE DATE ACCESS

Page 1: BA ZE DE DATE ACCESS

1

BABAZE DE DATEZE DE DATEACCESSACCESS

BABAZE DE DATEZE DE DATEACCESSACCESS

ÎNCHIDE APLICAŢIAÎNCHIDE APLICAŢIA

Prof. Mureşan Carmen SilviaProf. Mureşan Carmen Silvia

Page 2: BA ZE DE DATE ACCESS

2

CUPRINSCUPRINSCUPRINSCUPRINS

CONCEPTUL DE BAZE DE DATE-SGBDCONCEPTUL DE BAZE DE DATE-SGBD LUCRUL CU TABELE ÎN ACCESSLUCRUL CU TABELE ÎN ACCESS CREAREA FORMULARELORCREAREA FORMULARELOR CREAREA INTEROGĂRILORCREAREA INTEROGĂRILOR CREAREA RAPOARTELORCREAREA RAPOARTELOR CREAREA MODULELORCREAREA MODULELOR CREAREA MACROCREAREA MACRO CREAREA UNEI PAGINI WEBCREAREA UNEI PAGINI WEB

Page 3: BA ZE DE DATE ACCESS

3

CONCEPTUL DE BAZĂ DE DATECONCEPTUL DE BAZĂ DE DATECONCEPTUL DE BAZĂ DE DATECONCEPTUL DE BAZĂ DE DATE

OrganiOrganizarea datelor în vederea prelucrării pe calculator este zarea datelor în vederea prelucrării pe calculator este o activitate de mare importanţă .o activitate de mare importanţă .

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

– Un identificator (numele atribuit)Un identificator (numele atribuit)– Atribut (tipul de dată pe care-l conţine)Atribut (tipul de dată pe care-l conţine)– Valoare (valoarea propriu-zisă).Valoare (valoarea propriu-zisă).

InformaţiaInformaţia este rezultatul prelucrării datelor. este rezultatul prelucrării datelor.– Organizarea datelor implică:Organizarea datelor implică:

Organizarea datelor în memoria internă,care cuprinde structura de tip Organizarea datelor în memoria internă,care cuprinde structura de tip listă,coadă şi stivă.listă,coadă şi stivă.

Organizarea datelor pe memoria externă, care cuprinde structurile de Organizarea datelor pe memoria externă, care cuprinde structurile de tip fişier şi baze de date.tip fişier şi baze de date.

Page 4: BA ZE DE DATE ACCESS

4

DIFERENŢA ÎNTRE BAZA DE DATE ŞI DIFERENŢA ÎNTRE BAZA DE DATE ŞI SISTEMUL DE GESTIONARE A SISTEMUL DE GESTIONARE A

BAZEI DE DATEBAZEI DE DATE

DIFERENŢA ÎNTRE BAZA DE DATE ŞI DIFERENŢA ÎNTRE BAZA DE DATE ŞI SISTEMUL DE GESTIONARE A SISTEMUL DE GESTIONARE A

BAZEI DE DATEBAZEI DE DATE Baza de dateBaza de date – – este doar o componentă a SGBD care este doar o componentă a SGBD care

conţine datele propriu-zise – este un container care conţine datele propriu-zise – este un container care stochează date structurate.stochează date structurate.

Sistemul de gestiune a BSistemul de gestiune a BD D (SGBD) (SGBD) –reprezintă –reprezintă software-ul pentru baze de date care are rolul de a software-ul pentru baze de date care are rolul de a controla organizarea şi integritatea bazei de date, de controla organizarea şi integritatea bazei de date, de regăsire a datelor din baza de date , precum şi de a regăsire a datelor din baza de date , precum şi de a asigura stocarea fizică, securitatea, replicarea şi asigura stocarea fizică, securitatea, replicarea şi recuperarea informaţiilor după erori.recuperarea informaţiilor după erori.

Microsoft Access este un SGBDMicrosoft Access este un SGBD comercial de tip comercial de tip desktop, fiind adecvat administrării bazelor de date desktop, fiind adecvat administrării bazelor de date mici şi medii.mici şi medii.

Page 5: BA ZE DE DATE ACCESS

5

SGBD DE TIP DESKTOPSGBD DE TIP DESKTOPSGBD DE TIP DESKTOPSGBD DE TIP DESKTOP

UN SGBD de tip desktop UN SGBD de tip desktop este instalat şi rulează local. este instalat şi rulează local. Este o aplicaţie autonomă care stocează o bază de Este o aplicaţie autonomă care stocează o bază de date şi efectuează ea însăşi toate procesările SQL sau date şi efectuează ea însăşi toate procesările SQL sau se comportă ca şi client al unui server SQL. se comportă ca şi client al unui server SQL.

SQL SQL este este UN LIMBAJ DE PROGRAMAREUN LIMBAJ DE PROGRAMARE NEPROCEDURALNEPROCEDURAL ÎNGLOBAT SAU INTERACTIVÎNGLOBAT SAU INTERACTIV STANDARDIZATSTANDARDIZAT UTILZAT PENTRU A MANIPULA DATELE ŞI OBIECTELE DIN BAZA DE UTILZAT PENTRU A MANIPULA DATELE ŞI OBIECTELE DIN BAZA DE

DATEDATE

SGBD SGBD execută programul SQL şi afişează rezultatul execută programul SQL şi afişează rezultatul sau mesajele de eroare.sau mesajele de eroare.

Page 6: BA ZE DE DATE ACCESS

6

MODELUL RELAŢIONAL AL BAZEI DE MODELUL RELAŢIONAL AL BAZEI DE DATEDATE

MODELUL RELAŢIONAL AL BAZEI DE MODELUL RELAŢIONAL AL BAZEI DE DATEDATE

Se bazează pe teoria matematică a mulţimilor, Se bazează pe teoria matematică a mulţimilor, tabeleletabelele reprezentând analoagele mulţimilor – reprezentând analoagele mulţimilor – colecţii colecţii de elemente distincte care au proprietăţi comune.de elemente distincte care au proprietăţi comune.

O bază de dateO bază de date == colecţie formată din unul sau mai colecţie formată din unul sau mai multe tabele.multe tabele.

TabelulTabelul reprezintă:reprezintă:– structura bazei de date care stochează datele ;structura bazei de date care stochează datele ;– Conţine date despre un tip de entitateConţine date despre un tip de entitate : : clasă de clasă de

obiecte, evenimente sau cocepte cu proprietăţi obiecte, evenimente sau cocepte cu proprietăţi comune;comune;

– Grilă bidimensionalăGrilă bidimensională : : coloane, rânduri; coloane, rânduri;– La intersecţia rând-coloană se află valoarea;La intersecţia rând-coloană se află valoarea;– Nume unic în baza de date.Nume unic în baza de date.

Page 7: BA ZE DE DATE ACCESS

7

MODELUL RELAŢIONAL MODELUL RELAŢIONAL ALAL BAZEI DE DATEBAZEI DE DATE

TERMENI ECHIVALENŢITERMENI ECHIVALENŢI

MODELUL RELAŢIONAL MODELUL RELAŢIONAL ALAL BAZEI DE DATEBAZEI DE DATE

TERMENI ECHIVALENŢITERMENI ECHIVALENŢIMODELUL RELAŢIONALMODELUL RELAŢIONAL SQLSQL

(SGBD)(SGBD)NE-RELAŢIONALNE-RELAŢIONAL

RELAŢIE RELAŢIE - caracterizează un - caracterizează un tip de tip de entitate entitate - o clasă de obiecte, - o clasă de obiecte, evenimente sau concepte cu evenimente sau concepte cu

proprientăţi comune, care aparţin proprientăţi comune, care aparţin lumii reale şi care pot fi distinse de lumii reale şi care pot fi distinse de

alte clase. alte clase.

TABELTABEL FIŞIERFIŞIER

ATRIBUTATRIBUT- caracterizează - caracterizează o o proprietateproprietate specifică tipului entităţii specifică tipului entităţii

din relaţie.din relaţie.COLOANĂCOLOANĂ CÂMPCÂMP

TUPLUTUPLU- caracterizează o entitate (- caracterizează o entitate (o o instanţă unicăinstanţă unică) al tipului de entitate ) al tipului de entitate inclus în relaţia din care face parte inclus în relaţia din care face parte

instanţa respectivă.instanţa respectivă.

RÂNDRÂND ÎNREGISTRAREÎNREGISTRARE

Page 8: BA ZE DE DATE ACCESS

8

NORMALIZAREA BAZEI DE DATENORMALIZAREA BAZEI DE DATENORMALIZAREA BAZEI DE DATENORMALIZAREA BAZEI DE DATE

Prima formă normală Prima formă normală 1FN1FN

A doua formă A doua formă normală 2FNnormală 2FN

A treia formă A treia formă normală 3FNnormală 3FN

Are coloane care Are coloane care conţin numai valori conţin numai valori atomice (o singură atomice (o singură valoare, nedivizată)valoare, nedivizată)Nu conţine grupuri Nu conţine grupuri care se repetă (două care se repetă (două sau mai multe sau mai multe coloane în relaţie coloane în relaţie logică unele cu logică unele cu altele)altele)

1FN1FNNu există Nu există dependenţe dependenţe funcţionale parţiale. funcţionale parţiale. Răspunsul la Răspunsul la întrebarea : “Pot întrebarea : “Pot determina valoarea determina valoarea coloanei non-cheie coloanei non-cheie dacă nu cunosc decât dacă nu cunosc decât o parte din valoarea o parte din valoarea cheii primare ? ”cheii primare ? ”

2FN2FNNu există depen-Nu există depen-denţe tranzitive. denţe tranzitive. Răspunsul la Răspunsul la întrebarea : “ Pot întrebarea : “ Pot determina valoarea determina valoarea coloanei non-cheie coloanei non-cheie dacă cunosc oricare dacă cunosc oricare altă valoare a unei altă valoare a unei coloane non-coloane non-cheie ?”cheie ?”

Page 9: BA ZE DE DATE ACCESS

9

CONCEPTE ALE REALIZĂRII UNEI CONCEPTE ALE REALIZĂRII UNEI BAZE DE DATEBAZE DE DATE

CONCEPTE ALE REALIZĂRII UNEI CONCEPTE ALE REALIZĂRII UNEI BAZE DE DATEBAZE DE DATE

Nivelul externNivelul extern - corespunzător utilizatorului, - corespunzător utilizatorului, care îşi exprimă cerinţele informaţionale prin care îşi exprimă cerinţele informaţionale prin aşa numitele scheme externe.aşa numitele scheme externe.

Nivelul conceptualNivelul conceptual - aferent administratorului - aferent administratorului bazei de datebazei de date ,, care se concretizează în care se concretizează în schema conceptuală.schema conceptuală.

Nivelul internNivelul intern - corespunzător - corespunzător programatorului,programatorului, care realizează care realizează reprezentarea datelor pe suportul fizic.reprezentarea datelor pe suportul fizic.

Page 10: BA ZE DE DATE ACCESS

10

FUNCŢII ALE SGBDFUNCŢII ALE SGBDFUNCŢII ALE SGBDFUNCŢII ALE SGBD

ORGANIZAREA DATELOR:ORGANIZAREA DATELOR:

– crearea şi manevrarea tabelelor care conţin date crearea şi manevrarea tabelelor care conţin date într-un format tabelar convenabilîntr-un format tabelar convenabil (linii şi (linii şi coloane)- coloane)- DatasheetDatasheet

LEGAREA TABELELOR ŞI EXTRAGEREA DATELORLEGAREA TABELELOR ŞI EXTRAGEREA DATELOR

– legarea mai multor tabele prin relaţiile între date legarea mai multor tabele prin relaţiile între date (prin intermediul (prin intermediul InterogărilorInterogărilor),în vederea creării ),în vederea creării unor tabele temporare (unor tabele temporare (RecordsetRecordset) ,) , stocate în stocate în memoria calculatorului sau în fişiere memorate memoria calculatorului sau în fişiere memorate pe disc,care conţin datele alese de programator.pe disc,care conţin datele alese de programator.

Page 11: BA ZE DE DATE ACCESS

11

FUNCŢII ALE SGBDFUNCŢII ALE SGBDFUNCŢII ALE SGBDFUNCŢII ALE SGBD

INTRODUCEREA ŞI EDITAREA DATELOR:INTRODUCEREA ŞI EDITAREA DATELOR:

– Crearea şi implementarea unor Crearea şi implementarea unor Formulare Formulare pentru pentru introducerea, afişarea şi editarea datelor,ca introducerea, afişarea şi editarea datelor,ca alternativă la prezentarea tabelară.alternativă la prezentarea tabelară.

PREZENTAREA DATELOR:PREZENTAREA DATELOR:

– Crearea de Crearea de Rapoarte Rapoarte în care să poată fi sintetizate în care să poată fi sintetizate informaţiile din obiectele Recordset pe care le informaţiile din obiectele Recordset pe care le puteţi vedea , tipării şi publica pe Internet sau puteţi vedea , tipării şi publica pe Internet sau Intranet. Aceste rapoarte reprezintă scopul final al Intranet. Aceste rapoarte reprezintă scopul final al unei aplicaţii SGBD!unei aplicaţii SGBD!

Page 12: BA ZE DE DATE ACCESS

12

SCHEMA LOGICĂ A COLECŢIEI DE SCHEMA LOGICĂ A COLECŢIEI DE OBIECTE ACCESSOBIECTE ACCESS

SCHEMA LOGICĂ A COLECŢIEI DE SCHEMA LOGICĂ A COLECŢIEI DE OBIECTE ACCESSOBIECTE ACCESS

INTEROGAREINTEROGARE

TABEL1TABEL1TABEL2TABEL2

TABEL3TABEL3

FORMULARFORMULAR RAPORTRAPORT

Page 13: BA ZE DE DATE ACCESS

13

OBIECTELE ACCESSOBIECTELE ACCESSOBIECTELE ACCESSOBIECTELE ACCESS

TableTable-obiect definit de -obiect definit de utilizator în care sunt stocate utilizator în care sunt stocate datele primare.datele primare.

FormForm-obiect care permite -obiect care permite introducerea datelor,introducerea datelor, afişarea afişarea acestora sau controlul întregii acestora sau controlul întregii aplicaţii.aplicaţii.

QueryQuery-obiect care permite -obiect care permite vizualizarea informaţiilor vizualizarea informaţiilor obţinute prin prelucrarea obţinute prin prelucrarea datelor din unul sau mai multe datelor din unul sau mai multe tabele şitabele şi // sau interogări.sau interogări.

ReportReport-obiect care permite -obiect care permite formatarea şi tipărirea formatarea şi tipărirea informaţiilor obţinute în urma informaţiilor obţinute în urma consultării bazei de date sub consultării bazei de date sub formă de document.formă de document.

PagesPages-obiect care include un -obiect care include un fişier HTML şi alte fişiere fişier HTML şi alte fişiere suport în vederea furnizării suport în vederea furnizării accesului la date prin accesului la date prin intermediul browser-ului intermediul browser-ului Internet.Internet.

MacroMacro-obiect care conţine o -obiect care conţine o definiţie structurată a uneia definiţie structurată a uneia sau mai multor acţiuni pe sau mai multor acţiuni pe care Access le realizează ca care Access le realizează ca răspuns la un eveniment.răspuns la un eveniment.

ModuleModule-obiect care conţine -obiect care conţine proceduri definite de proceduri definite de utilizator şi scrise în limbajul utilizator şi scrise în limbajul de programare Visual Basic.de programare Visual Basic.

Page 14: BA ZE DE DATE ACCESS

14

CREAREA TABELELORCREAREA TABELELORCREAREA TABELELORCREAREA TABELELOR

MODUL DE MODUL DE REALIZARE A REALIZARE A STRUCTURII STRUCTURII

TABELEITABELEI

NUMELE NUMELE CÂMPULUCÂMPULU

II

TIPUL DE DATE TIPUL DE DATE CONŢINUT DE CÂMPCONŢINUT DE CÂMP

DIMENSIUNEA DIMENSIUNEA CÂMPULUI.CÂMPULUI.

SETĂRI SUPLIMENTARE SETĂRI SUPLIMENTARE RELATIV LA CÂMPUL RELATIV LA CÂMPUL

DEFINIT.DEFINIT.

SETĂRI SETĂRI SPECIFICE SPECIFICE

CONŢINUTULUI CONŢINUTULUI CÂMPULUICÂMPULUI

Page 15: BA ZE DE DATE ACCESS

15

STABILIREA INDECŞIROL ŞI A CHEII STABILIREA INDECŞIROL ŞI A CHEII TABELULUITABELULUI

STABILIREA INDECŞIROL ŞI A CHEII STABILIREA INDECŞIROL ŞI A CHEII TABELULUITABELULUI

STABILIREA MODULUI DE STABILIREA MODULUI DE CĂUTARE ,DE SORTARE ÎN CĂUTARE ,DE SORTARE ÎN

TABELĂ CU AJUTORUL TABELĂ CU AJUTORUL CÂMPURILOR INDEXATE.CÂMPURILOR INDEXATE.

CHEIA PRIMARĂ A CHEIA PRIMARĂ A TABELEI CARE TABELEI CARE

TREBUIE SĂ TREBUIE SĂ CONŢINĂ CONŢINĂ

ÎNREGISTRĂRI ÎNREGISTRĂRI UNICE!UNICE!

Page 16: BA ZE DE DATE ACCESS

16

CREAREA LEGĂTURILOR ÎNTRE TABELECREAREA LEGĂTURILOR ÎNTRE TABELECREAREA LEGĂTURILOR ÎNTRE TABELECREAREA LEGĂTURILOR ÎNTRE TABELEDESCHIDEREA DESCHIDEREA

INTERFEŢEI PENTRU INTERFEŢEI PENTRU CREAREA CREAREA

LEGĂTURILOR.LEGĂTURILOR.

CASETĂ DE DIALOG CASETĂ DE DIALOG DESCHISĂ PRIN DESCHISĂ PRIN MENIUL RAPID MENIUL RAPID

PENTRU PENTRU ADĂUGAREA ADĂUGAREA

TABELELOR ÎN TABELELOR ÎN SUPRAFAŢA SUPRAFAŢA RELAŢIILOR.RELAŢIILOR.

Page 17: BA ZE DE DATE ACCESS

17

CREAREA LEGĂTURILOR ÎNTRE TABELECREAREA LEGĂTURILOR ÎNTRE TABELECREAREA LEGĂTURILOR ÎNTRE TABELECREAREA LEGĂTURILOR ÎNTRE TABELE

NUMELE NUMELE TABELEITABELEI

NUMELE CÂMPULUI NUMELE CÂMPULUI CHEIE PRIMARĂ SAU CHEIE PRIMARĂ SAU

CHEIE EXTERNĂ CARE CHEIE EXTERNĂ CARE CREEAZĂ LEGĂTURA.CREEAZĂ LEGĂTURA.

LEGĂTURĂ DE LEGĂTURĂ DE TIP UNU LA TIP UNU LA MAI MULTE.MAI MULTE.

Page 18: BA ZE DE DATE ACCESS

18

CREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELOR

ALEGEREA ALEGEREA TABELELOR SAU TABELELOR SAU

INTEROGĂRILOR DIN INTEROGĂRILOR DIN CARE SE PREIAU CARE SE PREIAU

CÂMPURILE CÂMPURILE NECESARE.NECESARE.

CÂMPURILE CÂMPURILE TABELEI/INTEROGĂRITABELEI/INTEROGĂRI

I SELECTATE.I SELECTATE.

Page 19: BA ZE DE DATE ACCESS

19

CREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELOR

PRELUAREA PRELUAREA CÂMPURILOR CARE CÂMPURILOR CARE VOR FI PREZENTE VOR FI PREZENTE

ÎN FORMULAR.ÎN FORMULAR.

Page 20: BA ZE DE DATE ACCESS

20

CREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELOR

TABELELE CARE TABELELE CARE AU CONŢIN AU CONŢIN

CÂMPURILE CE CÂMPURILE CE VOR APĂREA ÎN VOR APĂREA ÎN FORMULAR. SE FORMULAR. SE

VA ALEGE VA ALEGE MODUL DE MODUL DE

PREZENTARE A PREZENTARE A DATELOR.DATELOR.

CÂMPURILE CÂMPURILE DIN DIN

FORMULAR.FORMULAR.

CÂMPURILE DIN CÂMPURILE DIN FORMULARUL FORMULARUL SUBORDONAT SUBORDONAT (SUBFORM).(SUBFORM).

Page 21: BA ZE DE DATE ACCESS

21

CREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELOR

MODUL DE MODUL DE AFIŞARE A AFIŞARE A

DATELOR ÎN DATELOR ÎN FORMULAR.FORMULAR.

Page 22: BA ZE DE DATE ACCESS

22

CREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELOR

FORMATUL FORMATUL GRAFICGRAFIC..

Page 23: BA ZE DE DATE ACCESS

23

CREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELORCREAREA FORMULARELOR

NUMELE NUMELE FORMULARULUIFORMULARULUI

..

NUMELE SUB-NUMELE SUB-FORMULARULUI.FORMULARULUI.

Page 24: BA ZE DE DATE ACCESS

24

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

UTILIZATORULUIUTILIZATORULUI

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

UTILIZATORULUIUTILIZATORULUI

FORMULARULFORMULARUL

SUBFORMULARSUBFORMULAR

Page 25: BA ZE DE DATE ACCESS

25

CONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LOR

INSTRUMENT NUMEINSTRUMENT NUME FUNCŢIEFUNCŢIE

SELECT OBJECT SELECT OBJECT (indicator)(indicator)

Pointer-ul de selecţie al obiectelor.Pointer-ul de selecţie al obiectelor.

CONTROL WIZARDCONTROL WIZARD Activează/dezactivează programele Activează/dezactivează programele Control WizardControl Wizard

LABELLABEL

(etichetă)(etichetă)Afişează texte fixe ce includ numele Afişează texte fixe ce includ numele

unui control de tip text sau instrucţiuni.unui control de tip text sau instrucţiuni.

TEXTTEXT

BOXBOXCasetă de tip text ,editabilă.Casetă de tip text ,editabilă.

OPTIONOPTION

GROUPGROUPGrup de controale de tip opţiune. Din Grup de controale de tip opţiune. Din

grup doar una poate fi selectată.grup doar una poate fi selectată.

TOOGLETOOGLE

BUTTONBUTTONButon cu două stări : ON(selectat) care Buton cu două stări : ON(selectat) care înseamnă DA (-1) şi OFF(deselectat) înseamnă DA (-1) şi OFF(deselectat)

care înseamnă NU (0).care înseamnă NU (0).

Page 26: BA ZE DE DATE ACCESS

26

CONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORINSTRUMENT INSTRUMENT

NUMENUME FUNCŢIEFUNCŢIE

OPTIONOPTION

BUTTONBUTTONButon opţiune folosit pe formular cu alte butoane Buton opţiune folosit pe formular cu alte butoane

pentru a determina care din acţiuni să aibă loc pentru a determina care din acţiuni să aibă loc atunci când este selectat.atunci când este selectat.

CHECKCHECK

BOXBOXCasetă de validare care,atunci cănd este selectată Casetă de validare care,atunci cănd este selectată

comută în starea ON(-1).comută în starea ON(-1).

COMBOCOMBO

BOXBOXCasetă combinată.Casetă de text cu o listă Casetă combinată.Casetă de text cu o listă

derulantă. Ăn caseta de text se poate edita şi derulantă. Ăn caseta de text se poate edita şi găseşte elementul în listă.găseşte elementul în listă.

LISTLIST

BOXBOXCasetă listă. Conţine o listă de valori al unui câmp Casetă listă. Conţine o listă de valori al unui câmp

din baza de date.din baza de date.

COMMANDCOMMAND

BUTTONBUTTONButon de comandă ,folosit pentru a executa coduri Buton de comandă ,folosit pentru a executa coduri

de procedură editate în VBA.de procedură editate în VBA.

IMAGEIMAGE Afişează o imagine statică.Nu poate fi editată în Afişează o imagine statică.Nu poate fi editată în formular.formular.

Page 27: BA ZE DE DATE ACCESS

27

CONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LOR

INSTRUMENT INSTRUMENT NUMENUME FUNCŢIEFUNCŢIE

UNBOUNDUNBOUND

OBJECT OBJECT

FRAMEFRAME

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

Microsoft Office.Microsoft Office.

BOUNDBOUND

OBJECT OBJECT

FRAMEFRAME

Obiect asociat bazei de date şi care conţine un Obiect asociat bazei de date şi care conţine un obiect OLE : imagine,grafic,sunete,filme,etc.obiect OLE : imagine,grafic,sunete,filme,etc.

PAGEPAGE

BREAKBREAKDelimitator de pagină.Determină imprimanta Delimitator de pagină.Determină imprimanta

să tracă la o nouă pagină.Nu este vizibil în să tracă la o nouă pagină.Nu este vizibil în formular.formular.

Page 28: BA ZE DE DATE ACCESS

28

CONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LORCONTROALE ŞI FUNCŢIILE LOR

INSTRUMENT INSTRUMENT NUMENUME FUNCŢIEFUNCŢIE

TABTAB

CONTROLCONTROLSchimbător de pagină.Crează o serie de pagini Schimbător de pagină.Crează o serie de pagini care pot fi schimbate.Fiecare pagină conţine care pot fi schimbate.Fiecare pagină conţine

mai multe controale.Se utilizează pentru mai multe controale.Se utilizează pentru formulare prea încărcate.formulare prea încărcate.

SUBFORM/SUBFORM/

SUBREPORTSUBREPORTIntroduce în formular , sub formă de Introduce în formular , sub formă de

subformular sau raport ,un formular sau raport subformular sau raport ,un formular sau raport efectuat anterior. efectuat anterior.

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

RECTANGLERECTANGLE Crează un dreptunghi pe care îl putem Crează un dreptunghi pe care îl putem configura cu efecte speciale în moduri diferite.configura cu efecte speciale în moduri diferite.

Page 29: BA ZE DE DATE ACCESS

29

TIPURI DE DATETIPURI DE DATETIPURI DE DATETIPURI DE DATEDATEDATE TIPUL DATELORTIPUL DATELOR DESCRIEREDESCRIERE

ALFANUMERICEALFANUMERICE

TEXTTEXT Cel mult 255 caractere.Cel mult 255 caractere.Valoarea Valoarea prestabilită la 50.prestabilită la 50.

MEMOMEMOCel mult 64.000 caractere. Nu Cel mult 64.000 caractere. Nu poate fi cheie primarpoate fi cheie primară şi nu ă şi nu putem indexa după el.putem indexa după el.

NUMERICENUMERICE

NUMBERNUMBERSunt disponibile mai multe Sunt disponibile mai multe subtipuri.Se alege formatul subtipuri.Se alege formatul

dorit(nr.zecimale,etc.)dorit(nr.zecimale,etc.)

AUTONUMBERAUTONUMBER

Tip Tip Long IntegerLong Integer ce se ce se autoincrementează.Nu se poate autoincrementează.Nu se poate modifica când există modifica când există înregistrări.înregistrări.

YES/NOYES/NOTip Tip boolean:Yes=-1,No=0.Nu boolean:Yes=-1,No=0.Nu poate fi cheie dar poate fi poate fi cheie dar poate fi indexat.indexat.

Page 30: BA ZE DE DATE ACCESS

30

TIPURI DE DATETIPURI DE DATETIPURI DE DATETIPURI DE DATE

DATEDATE TIPUL TIPUL DATELORDATELOR

DESCRIEREDESCRIERE

NUMERICENUMERICECURENCYCURENCY

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

DATE DATE CALENDARISTICECALENDARISTICE DATE/TIMEDATE/TIME

Data calendaristică şi ora sunt stocate Data calendaristică şi ora sunt stocate într-un format special fix.Se într-un format special fix.Se selectează formatul dorit.selectează formatul dorit.

OBIECTE MARIOBIECTE MARI OBJECT OLEOBJECT OLE

Include elemente grafice,fişiere cu Include elemente grafice,fişiere cu semnale audio şi alte tipuri de date semnale audio şi alte tipuri de date create de o aplicaţie OLE server.Nu create de o aplicaţie OLE server.Nu

poate fi cheie şi nici index.poate fi cheie şi nici index.

ADRESE INTERNETADRESE INTERNET HYPERLINKHYPERLINKAdresă a unei pagini Web.Formată din Adresă a unei pagini Web.Formată din

trei părţi: textul afişat,adresa şi trei părţi: textul afişat,adresa şi subadresa.subadresa.

INFORMAŢII INFORMAŢII LEGATELEGATE

LOOKUP LOOKUP WIZARDWIZARD

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

cadrul altor tabele sau dintr-o listă de cadrul altor tabele sau dintr-o listă de valori.valori.

Page 31: BA ZE DE DATE ACCESS

31

SUBTIPURI DE DATE NUMERICESUBTIPURI DE DATE NUMERICESUBTIPURI DE DATE NUMERICESUBTIPURI DE DATE NUMERICE

MĂRIMEA CĂMPULUIMĂRIMEA CĂMPULUI ZECIMALEZECIMALE INTERVALUL VALORICINTERVALUL VALORIC OCTEŢIOCTEŢI

BYTEBYTE 00 DE LA 0 LA 256DE LA 0 LA 256 11

INTEGERINTEGER 00 DE LA -32.768 LA 32.768DE LA -32.768 LA 32.768 22

LONG INTEGERLONG INTEGER 00DE LA -2.147.483.648 LA DE LA -2.147.483.648 LA

2.147.483.648 2.147.483.648 44

SINGLESINGLE 77 DE LA – 3,4*10DE LA – 3,4*103838 LA + 3,4*10 LA + 3,4*103838 44

DOUBLEDOUBLE 1515 DE LA - 1,797*10DE LA - 1,797*10308308 LA LA +1,797*10+1,797*10308308 88

REPLICATION IDREPLICATION ID IDENTIFICATOR GLOBAL UNICIDENTIFICATOR GLOBAL UNIC 1616

DECIMALDECIMAL DE LA - 10DE LA - 102828 LA + 10 LA + 102828 1616

Page 32: BA ZE DE DATE ACCESS

32

SETĂRI CARACTERISTICE CÂMPULUISETĂRI CARACTERISTICE CÂMPULUISETĂRI CARACTERISTICE CÂMPULUISETĂRI CARACTERISTICE CÂMPULUI

FORMATFORMAT- permite alegerea unor formate - permite alegerea unor formate prestabilite sau crearea unui format personalizat prestabilite sau crearea unui format personalizat pentru tipul de dată ales.pentru tipul de dată ales.

DECIMAL PLACES DECIMAL PLACES -stabileşte numărul de zecimale -stabileşte numărul de zecimale între 0-15.între 0-15.

INPUT MASK INPUT MASK -se aplică tipului text şi dată -se aplică tipului text şi dată calendaristică un format personalizat de afişare. calendaristică un format personalizat de afişare. Ex.Tel.(0262)655-224.Ex.Tel.(0262)655-224.

CAPTION CAPTION -nume atribuit cîmpului la -nume atribuit cîmpului la vizualizare(diferit de cel intern,deja atribuit).vizualizare(diferit de cel intern,deja atribuit).

DEFAULT VALUE DEFAULT VALUE -valoarea inclusă implicit ,înainte de -valoarea inclusă implicit ,înainte de actualizarea câmpului(când majoritatea valorilor actualizarea câmpului(când majoritatea valorilor vor fi aceasta.)vor fi aceasta.)

Page 33: BA ZE DE DATE ACCESS

33

SETĂRI CARACTERISTICE CÂMPULUISETĂRI CARACTERISTICE CÂMPULUISETĂRI CARACTERISTICE CÂMPULUISETĂRI CARACTERISTICE CÂMPULUI

VALIDATION RULE VALIDATION RULE - regula de validare testată pe baza - regula de validare testată pe baza criteriului definit sub forma unei expresii. Acestea criteriului definit sub forma unei expresii. Acestea folosesc:folosesc:

OperatoriOperatori: = ,- ,*, /, Mod ,: = ,- ,*, /, Mod ,< ,> ,≤ ,≥ ,AND,OR ,BETWEEN ,IN ,IS NULL.< ,> ,≤ ,≥ ,AND,OR ,BETWEEN ,IN ,IS NULL. IndentificatoriIndentificatori: ]n paranteze drepte [ ].: ]n paranteze drepte [ ]. FuncFuncţii.ţii. ConstanteConstante..

VALIDATION TEXT VALIDATION TEXT -mesajul care apare în cazul -mesajul care apare în cazul nerespectării regulii de validare.nerespectării regulii de validare.

REQUIRED REQUIRED -se stabileşte la yes dacă este strict necesară -se stabileşte la yes dacă este strict necesară completarea acestui câmp.completarea acestui câmp.

INDEXED INDEXED - se alege opţiunea pentru un index neduplicat - se alege opţiunea pentru un index neduplicat (primar) sau duplicat . Câmpul indexat este util în (primar) sau duplicat . Câmpul indexat este util în operaţiile de căutare în baza de date.operaţiile de căutare în baza de date.

Page 34: BA ZE DE DATE ACCESS

34

INTEROGĂRILE ÎN ACCESSINTEROGĂRILE ÎN ACCESS INTEROGĂRILE ÎN ACCESSINTEROGĂRILE ÎN ACCESS

IInterogarea bazei de datenterogarea bazei de date înseamnă regăsirea şi înseamnă regăsirea şi extragerea datelor stocate în aceasta , într-un mod extragerea datelor stocate în aceasta , într-un mod util scopului urmărit.util scopului urmărit.

Rezultatul unei interogări reprezintă o foaie de Rezultatul unei interogări reprezintă o foaie de răspuns dinamic, numită răspuns dinamic, numită Dynaset, Dynaset, care nu mai există care nu mai există fizic după închiderea interogării.fizic după închiderea interogării.

Crearea QueryCrearea Query se poate în următoarele moduri: se poate în următoarele moduri: Crearea pas cu pas în modul Crearea pas cu pas în modul Design viewDesign view (fereastră de proiectare) (fereastră de proiectare) Utilizând instrumentul Utilizând instrumentul WizardWizard Exprimarea cererii în limbaj Exprimarea cererii în limbaj SQLSQL Crearea unui filtru şi salvarea acestuia ca cerere de interogare.Crearea unui filtru şi salvarea acestuia ca cerere de interogare.

Page 35: BA ZE DE DATE ACCESS

35

TIPURI DE INTEROGĂRITIPURI DE INTEROGĂRITIPURI DE INTEROGĂRITIPURI DE INTEROGĂRI

Interogări de tip Interogări de tip SelectSelect care afişează datele din mai care afişează datele din mai multe tabele şi nu permite actualizarea datelor.multe tabele şi nu permite actualizarea datelor.

Constituie o sursă de date pentru un raport sau formular.Constituie o sursă de date pentru un raport sau formular.

Interogări de tipInterogări de tip Crosstab Crosstab pentru sintetizarea datelor pentru sintetizarea datelor sub forma unei foi de calcul de tip Excel.sub forma unei foi de calcul de tip Excel.

Interogări de tip Interogări de tip ParameterParameter care folosesc aceeaşi care folosesc aceeaşi interogare de mai multe ori cu parametrii diferiţi.interogare de mai multe ori cu parametrii diferiţi.

Page 36: BA ZE DE DATE ACCESS

36

TIPURI DE INTEROGĂRITIPURI DE INTEROGĂRITIPURI DE INTEROGĂRITIPURI DE INTEROGĂRI

Interogări de tip Interogări de tip ActionAction , acestea având efect asupra , acestea având efect asupra datelor din baza de date:datelor din baza de date:

Interogări de tip Interogări de tip AppendAppend –permit adăugarea de noi –permit adăugarea de noi înregistrări într-o tabelă existentă.înregistrări într-o tabelă existentă.

Interogări de tip Interogări de tip DeleteDelete –permit ştergerea unor înregistrări –permit ştergerea unor înregistrări dintr-o tabelă dintr-o tabelă pe seama unor criterii.pe seama unor criterii.

Interogare de tipInterogare de tip Make Table - Make Table -creerea de noi tabele pe creerea de noi tabele pe baza celor existente.baza celor existente.

Interogare de tip Interogare de tip UpdateUpdate –modificarea(actualizarea) –modificarea(actualizarea) datelor existente fără crearea de noi înregistrări sau datelor existente fără crearea de noi înregistrări sau tabele.tabele.

Page 37: BA ZE DE DATE ACCESS

37

CREAREA INTEROGĂRILORCREAREA INTEROGĂRILORCREAREA INTEROGĂRILORCREAREA INTEROGĂRILOR

Paşii creării unei interogări sunt:Paşii creării unei interogări sunt:– Alegerea tipului de interogare;Alegerea tipului de interogare;– Alegerea tabelelor /Alegerea tabelelor / interogărilor care vor interogărilor care vor

constitui sursa de date a interogării (în partea constitui sursa de date a interogării (în partea superioară a ferestrei de lucru);superioară a ferestrei de lucru);

– Selectarea câmpurilor (mutarea prin glisare în Selectarea câmpurilor (mutarea prin glisare în grila de proiectare numită grilă grila de proiectare numită grilă QBE QBE adicăadică Q Queryuery BByy E Exemples – în partea inferioară a ferestrei de xemples – în partea inferioară a ferestrei de lucru) şi eventual stabilirea unor criterii de lucru) şi eventual stabilirea unor criterii de selecţie.selecţie.

– Ordonarea datelor (Ordonarea datelor (SortSort) crescător / descrescător. ) crescător / descrescător. Dacă există mai multe câmpuri ordonate se aplică Dacă există mai multe câmpuri ordonate se aplică ordonarea începând din stânga.ordonarea începând din stânga.

Page 38: BA ZE DE DATE ACCESS

38

CREAREA INTEROGĂRILORCREAREA INTEROGĂRILORCREAREA INTEROGĂRILORCREAREA INTEROGĂRILOR

Crearea unor câmpuri calculate:Crearea unor câmpuri calculate:– Se selectează coloana şi se accesează Se selectează coloana şi se accesează

comanda de meniu comanda de meniu Totals (Totals ())– Se selectează Se selectează ExpresionExpresion în linia de Totals în linia de Totals– În linia În linia FieldField se introduce expresia sub forma: se introduce expresia sub forma:

Nume rezultat : [Câmp1] operator aritmetic [Câmp2]Nume rezultat : [Câmp1] operator aritmetic [Câmp2]

Realizarea unor operaţii de calcul asupra tuturor Realizarea unor operaţii de calcul asupra tuturor înregistrărilor :înregistrărilor :– În linia Totals , unde apare În linia Totals , unde apare Group ByGroup By ,se alege ,se alege

tipul de operaţie dorit tipul de operaţie dorit

Page 39: BA ZE DE DATE ACCESS

39

OPERAŢII PREDEFINITE DE ACCESSOPERAŢII PREDEFINITE DE ACCESSOPERAŢII PREDEFINITE DE ACCESSOPERAŢII PREDEFINITE DE ACCESSOPERAŢIAOPERAŢIA FUNCŢIAFUNCŢIA TIP CÂMPTIP CÂMP

SUMSUM Suma valorilor unui Suma valorilor unui câmpcâmp

Numeric, Autonumber Numeric, Autonumber ,, Data,Data, LogicLogic

AVGAVG Media aritmeticăMedia aritmetică Numeric, Autonumber Numeric, Autonumber ,, Data,Data, LogicLogic

MINMIN Valoarea minimăValoarea minimă Numeric, Autonumber Numeric, Autonumber ,, Data,Data, Logic,Logic, TextText

MAXMAX Valoarea maximăValoarea maximă Numeric, Autonumber Numeric, Autonumber ,, Data,Data, Logic,TextLogic,Text

Page 40: BA ZE DE DATE ACCESS

40

OPERAŢII PREDEFINITE DE ACCESSOPERAŢII PREDEFINITE DE ACCESSOPERAŢII PREDEFINITE DE ACCESSOPERAŢII PREDEFINITE DE ACCESS

OPERAŢIAOPERAŢIA FUNCŢIAFUNCŢIA TIP CÂMPTIP CÂMP

COUNTCOUNT Numărul de valori Numărul de valori dintr-un câmpdintr-un câmp

Toate tipurileToate tipurile

STDEVSTDEV Varianţa valorilor Varianţa valorilor unui câmpunui câmp

Numeric, Numeric, Autonumber ,Data,LoAutonumber ,Data,Lo

gicgic

FIRSTFIRST Prima valoare din Prima valoare din câmpcâmp Toate tipurileToate tipurile

LASTLAST Ultima valoare din Ultima valoare din câmpcâmp Toate tipurileToate tipurile

Page 41: BA ZE DE DATE ACCESS

41

TIP DE INTEROGARETIP DE INTEROGARE

SURSA DE SURSA DE DATEDATE

CÂMPURI SELECTATE CÂMPURI SELECTATE SAU CALCULATESAU CALCULATE

EVENTUALE OPERAŢII EVENTUALE OPERAŢII ASUPRA CÂMPURILORASUPRA CÂMPURILOR

MOD DE SORTAREMOD DE SORTARE

AFIŞAREA SAU NU ÎN AFIŞAREA SAU NU ÎN DYNASETDYNASET

CRITERII DE CRITERII DE SELECŢIESELECŢIE

APARE ÎN APARE ÎN REZULTATUL REZULTATUL INTEROGĂRIIINTEROGĂRII

Page 42: BA ZE DE DATE ACCESS

42

INTEROGARE DE SELECŢIEINTEROGARE DE SELECŢIE ÎN LIMBAJ SQL ÎN LIMBAJ SQL

INTEROGARE DE SELECŢIEINTEROGARE DE SELECŢIE ÎN LIMBAJ SQL ÎN LIMBAJ SQL

LISTA DE CLISTA DE CÂMPURI ÂMPURI SELECTATESELECTATE

TABELA / TABELELE DIN TABELA / TABELELE DIN CARE PROVIN CÂMPURILECARE PROVIN CÂMPURILE

CONDIŢIE DE CONDIŢIE DE SELECŢIESELECŢIE

GRUPAREA SELECŢIEI DUPĂ GRUPAREA SELECŢIEI DUPĂ ANUMITE CÂMPURIANUMITE CÂMPURI

Page 43: BA ZE DE DATE ACCESS

43

INTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTAB

Sunt interogări care au ca rezultat o reprezentare Sunt interogări care au ca rezultat o reprezentare tabelară a datelor identică cu cea din Excel.tabelară a datelor identică cu cea din Excel.

Este utilă atunci cănd se doreşte o centralizare a Este utilă atunci cănd se doreşte o centralizare a datelor , de exemplu numărarea înregistrărilor unei datelor , de exemplu numărarea înregistrărilor unei grupe de date , însumarea unor date pe grupe sau grupe de date , însumarea unor date pe grupe sau după anumite criterii.după anumite criterii.

Schema unei astfel de interogări este:Schema unei astfel de interogări este: Câmp coloană Câmp coloană - apare ca nume de câmp- apare ca nume de câmp Câmpuri rând Câmpuri rând –apar ca înregistrări–apar ca înregistrări Câmp calculat Câmp calculat – apare ca valoare calculată a înregistrărilor.– apare ca valoare calculată a înregistrărilor.

Page 44: BA ZE DE DATE ACCESS

44

INTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTAB

TITLU DE TITLU DE COLOANĂCOLOANĂ

ÎNREGISTRAREÎNREGISTRARE

CÂMP CÂMP CALCULATCALCULAT

CRITERIU CARE CRITERIU CARE NU APARE ÎN NU APARE ÎN

TABELĂTABELĂ

Page 45: BA ZE DE DATE ACCESS

45

INTEROGARE SIMPLINTEROGARE SIMPLĂĂINTEROGARE SIMPLINTEROGARE SIMPLĂĂ

SELECTSELECT [domeniu] listă_selecţie [domeniu] listă_selecţie

FROM FROM nume_tabelă1, nume_tabelă2,..nume_tabelă1, nume_tabelă2,..

[[WHEREWHERE criteriul_de selecţie criteriul_de selecţie

[[ORDER BYORDER BY câmpuri_criteriu [ASC/DESC]]; câmpuri_criteriu [ASC/DESC]];

SELECTSELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_exDATE_EX.media_ex

FROM FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinrINTRARE_EL.nrinr = DATE_EX.nrinr

WHEREWHERE (((DATE_EX.rezultat)=True)) (((DATE_EX.rezultat)=True))

ORDER BYORDER BY DATE_EX.media_ex DESC; DATE_EX.media_ex DESC;

domeniu: ALL, domeniu: ALL, DISTINCT, DISTINCT, DISTINCTROWDISTINCTROW

Page 46: BA ZE DE DATE ACCESS

46

INTEROGĂRI CU CÂMPURI CALCULATEINTEROGĂRI CU CÂMPURI CALCULATEINTEROGĂRI CU CÂMPURI CALCULATEINTEROGĂRI CU CÂMPURI CALCULATE

Exemplu :Exemplu :

SELECT SELECT Count(carti.cod_c) AS CountOfcod_c, carti.autor, Count(carti.cod_c) AS CountOfcod_c, carti.autor, carti.titlu, carti.an_apcarti.titlu, carti.an_ap

FROM FROM carticarti

GROUP BYGROUP BY carti.autor, carti.titlu, carti.an_ap carti.autor, carti.titlu, carti.an_ap

HAVINGHAVING (((carti.autor)=["AUTOR:"])); (((carti.autor)=["AUTOR:"]));

Interogare de tip Select utilizată pentru crearea unor cămpuri Interogare de tip Select utilizată pentru crearea unor cămpuri calculate şi având şi un parametrucalculate şi având şi un parametru : :

SELECTSELECT [domeniu] [funcţie_agregat (nume_câmp) AS alias, ...] [domeniu] [funcţie_agregat (nume_câmp) AS alias, ...]

FROMFROM nume_tabelă1, nume_tabelă2, ... nume_tabelă1, nume_tabelă2, ...

GROUP BYGROUP BY câmp_de_grupare câmp_de_grupare

[HAVING [HAVING criteriul_de_gruparecriteriul_de_grupare]]

[ORDER BY[ORDER BY câmpuri_criteriu câmpuri_criteriu [ASC/DESC][ASC/DESC]];];

Page 47: BA ZE DE DATE ACCESS

47

INTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTABINTEROGARE DE TIP CROSSTAB Interogare de tip CrosstabeInterogare de tip Crosstabe:: TRANSFORM TRANSFORM funcţie_agregat(câmp) AS aliasfuncţie_agregat(câmp) AS alias SELECT SELECT [ALL/DISTINCT/DISTINCTROW] nume_câmp[ALL/DISTINCT/DISTINCTROW] nume_câmp FROM FROM nume_tabelă1, nume_tabelă2, ...nume_tabelă1, nume_tabelă2, ... GROUP BY GROUP BY nume_câmpnume_câmp PIVOT PIVOT nume_câmp ;nume_câmp ;

Exemplu:Exemplu:

TRANSFORMTRANSFORM Sum(cit_tot.nr) AS SumOfnr1 Sum(cit_tot.nr) AS SumOfnr1 SELECTSELECT cit_tot.luna AS Expr1 cit_tot.luna AS Expr1 FROMFROM cit_tot cit_tot GROUP BYGROUP BY cit_tot.luna cit_tot.luna PIVOTPIVOT cit_tot.varsta cit_tot.varsta ;;

Page 48: BA ZE DE DATE ACCESS

48

INTEROGARE DE COMBINAREINTEROGARE DE COMBINAREINTEROGARE DE COMBINAREINTEROGARE DE COMBINARE

Exemplu :Exemplu : SELECTSELECT distinctdistinct fmasc.luna, fmasc.nr, fmasc.sex fmasc.luna, fmasc.nr, fmasc.sex FROMFROM fmasc fmasc UNION select distinctUNION select distinct ffem.luna,ffem.nr,ffem.sex ffem.luna,ffem.nr,ffem.sex FROM FROM ffem;ffem; UNIONUNION select distinctselect distinct imp_luna.luna , imp_luna.nr , imp_luna.luna , imp_luna.nr ,

imp_luna.total from imp_luna imp_luna.total from imp_luna ;;

Interogare de tip UnionInterogare de tip Union : : SELECTSELECT listă_câmpuri listă_câmpuri FROMFROM tabela1 tabela1 UNION SELECTUNION SELECT listă_câmpuri listă_câmpuri FROMFROM tabela2 tabela2 [[GROUP BYGROUP BY câmp_de_grupare] câmp_de_grupare] [[HAVINGHAVING criteriu_de_grupare] criteriu_de_grupare] UNION SELECTUNION SELECT listă_câmpuri listă_câmpuri FROMFROM tabela3 tabela3 ...... [[ORDER BYORDER BY câmp_de_sortare]; câmp_de_sortare];

Page 49: BA ZE DE DATE ACCESS

49

CREARE DE TABEL PRIN INTEROGARECREARE DE TABEL PRIN INTEROGARECREARE DE TABEL PRIN INTEROGARECREARE DE TABEL PRIN INTEROGARE

Exemplu:Exemplu: SELECT ALL SELECT ALL INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.nume, INTRARE_EL.pren,

INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex, INTRARE_EL.sex INTRARE_EL.sex INTOINTO ADM_2005 ADM_2005FROMFROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr =

DATE_EX.nrinrDATE_EX.nrinrWHERE WHERE (((DATE_EX.rezultat)=True))(((DATE_EX.rezultat)=True))ORDER BYORDER BY DATE_EX.media_ex DATE_EX.media_ex DESC ;DESC ;

Interogare de tip Make TableInterogare de tip Make Table::

SELECT SELECT [domeniu] câmp1, câmp2, ...[domeniu] câmp1, câmp2, ...

INTOINTO tabela_nouă tabela_nouă

FROMFROM tabela_sursă tabela_sursă

[WHERE[WHERE criteriul_de_adăugare criteriul_de_adăugare];];

Page 50: BA ZE DE DATE ACCESS

50

INTEROGARE DE ADĂUGAREINTEROGARE DE ADĂUGAREINTEROGARE DE ADĂUGAREINTEROGARE DE ADĂUGARE

Exemplu:Exemplu:

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

SELECTSELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.anulINTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.anul

FROM FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinrDATE_EX.nrinr

WHERE WHERE (((DATE_EX.rezultat)=True))(((DATE_EX.rezultat)=True))

ORDER BYORDER BY DATE_EX.media_ex DATE_EX.media_ex DESC ;DESC ;

Interogare de tip AppendInterogare de tip Append::

INSERT INTOINSERT INTO tabelă_destinaţie (câmp1, câmp2, ...) tabelă_destinaţie (câmp1, câmp2, ...)

SELECTSELECT [domeniu] câmp, câmp, ... [domeniu] câmp, câmp, ...

FROMFROM tabelă_sursă tabelă_sursă

WHEREWHERE criteriul_de_adăgare; criteriul_de_adăgare;

Page 51: BA ZE DE DATE ACCESS

51

INTEROGARE DE ACTUALIZAREINTEROGARE DE ACTUALIZAREINTEROGARE DE ACTUALIZAREINTEROGARE DE ACTUALIZARE

Interogare de tip Update :Interogare de tip Update :

UPDATE UPDATE nume_tabelă nume_tabelă

SET SET nume_câmp1=valoare1, nume_câmp2=valoare2, ...nume_câmp1=valoare1, nume_câmp2=valoare2, ...

[WHERE [WHERE criteriu_de_actualizarecriteriu_de_actualizare];];

Exemplu :Exemplu :

UPDATEUPDATE MARFURI MARFURI

SETSET categ=“detergent”, um=“cutie” categ=“detergent”, um=“cutie”

WHEREWHERE categ=“detergenti” AND um=“cutii”; categ=“detergenti” AND um=“cutii”;

Page 52: BA ZE DE DATE ACCESS

52

INTEROGARE DE ŞTERGEREINTEROGARE DE ŞTERGEREINTEROGARE DE ŞTERGEREINTEROGARE DE ŞTERGERE

Interogare de tip DeleteInterogare de tip Delete::

DELETE DELETE **

FROMFROM nume_tabelă nume_tabelă

[WHERE[WHERE criteriu_de_ştergere criteriu_de_ştergere];];

Exemplu:Exemplu:

DELETEDELETE INTRARE_EL.*, [an_prec] AS Expr1 INTRARE_EL.*, [an_prec] AS Expr1

FROMFROM INTRARE_EL INTRARE_EL

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

Page 53: BA ZE DE DATE ACCESS

53

INTEROGARE PARAMETRIZATĂINTEROGARE PARAMETRIZATĂINTEROGARE PARAMETRIZATĂINTEROGARE PARAMETRIZATĂ

Interogare de tip ParameterInterogare de tip Parameter:: PARAMETERSPARAMETERS listă_câmpuri_parametru listă_câmpuri_parametru SELECT DISTINCTROWSELECT DISTINCTROW nume_câmp1, nume_câmp2, ... nume_câmp1, nume_câmp2, ... FROMFROM nume_tabelă nume_tabelă [[WHERE WHERE condiţie_parametru]condiţie_parametru] [[ORDER BYORDER BY nume_câmp ASC/DESC]; nume_câmp ASC/DESC];

Exemplu :Exemplu : PARAMETERS PARAMETERS [PUNCTAJ PESTE] Short;[PUNCTAJ PESTE] Short; SELECTSELECT date_olimp.nume, date_olimp.clasa, date_olimp.total_p date_olimp.nume, date_olimp.clasa, date_olimp.total_p FROMFROM date_olimp date_olimp WHEREWHERE (((date_olimp.total_p)<=[PUNCTAJ PESTE])) (((date_olimp.total_p)<=[PUNCTAJ PESTE])) ORDER BYORDER BY date_olimp.total_p DESC; date_olimp.total_p DESC;

Page 54: BA ZE DE DATE ACCESS

54

DESCHIDEREA WIZARD-ului PENTRU DESCHIDEREA WIZARD-ului PENTRU CREARE DE RAPOARTECREARE DE RAPOARTE

DESCHIDEREA WIZARD-ului PENTRU DESCHIDEREA WIZARD-ului PENTRU CREARE DE RAPOARTECREARE DE RAPOARTE

UTILITARUL UTILITARUL WIZARDWIZARD

ALEGEREA INTEROGĂRII ALEGEREA INTEROGĂRII CARE SERVEŞTE CA CARE SERVEŞTE CA

SURSĂ DE DATESURSĂ DE DATE

Page 55: BA ZE DE DATE ACCESS

55

ALEGEREA SURSEI DE DATEALEGEREA SURSEI DE DATEALEGEREA SURSEI DE DATEALEGEREA SURSEI DE DATE

ALEGEREA CÂMPURILOR ALEGEREA CÂMPURILOR CU DATELE DORITECU DATELE DORITE

INTEROGAREINTEROGAREA SELECTATĂA SELECTATĂ

Page 56: BA ZE DE DATE ACCESS

56

PRECIZAREA MODULUI DE VIZUALIZAREPRECIZAREA MODULUI DE VIZUALIZAREPRECIZAREA MODULUI DE VIZUALIZAREPRECIZAREA MODULUI DE VIZUALIZARE

PRECIZAREA PRECIZAREA MODULUI DE MODULUI DE VIZUALIZAREVIZUALIZARE

SE DOREŞTE SE DOREŞTE GRUPAREA DUPĂ GRUPAREA DUPĂ CÂMPUL ANULCÂMPUL ANUL

Page 57: BA ZE DE DATE ACCESS

57

GRUPĂRI ŞI SORTĂRIGRUPĂRI ŞI SORTĂRIGRUPĂRI ŞI SORTĂRIGRUPĂRI ŞI SORTĂRI

NIVELUL DE NIVELUL DE GRUPAREGRUPARE

MODUL DE MODUL DE SORTARE A SORTARE A DATELORDATELOR

Page 58: BA ZE DE DATE ACCESS

58

SORTARE ŞI TOTALIZĂRI DE RAPORTSORTARE ŞI TOTALIZĂRI DE RAPORTSORTARE ŞI TOTALIZĂRI DE RAPORTSORTARE ŞI TOTALIZĂRI DE RAPORT

SORTARE DESCRESCÎTOARE PRIN SORTARE DESCRESCÎTOARE PRIN CLIC PE BUTONUL ASCENDINGCLIC PE BUTONUL ASCENDING

CENTRALIZĂRI ÎN CENTRALIZĂRI ÎN SUBSOLUL RAPORTULUISUBSOLUL RAPORTULUI

Page 59: BA ZE DE DATE ACCESS

59

MODUL DE PREZENTARE ÎN CADRUL MODUL DE PREZENTARE ÎN CADRUL PAGINIIPAGINII

MODUL DE PREZENTARE ÎN CADRUL MODUL DE PREZENTARE ÎN CADRUL PAGINIIPAGINII

MOD DE ARANJARE MOD DE ARANJARE ÎN PAGINĂÎN PAGINĂ

ALEGEREA ALEGEREA AUTOFORMATULUI AUTOFORMATULUI

PERSONALIZAT PERSONALIZAT ANTERIORANTERIOR

Page 60: BA ZE DE DATE ACCESS

60

TITLUL RAPORTULUITITLUL RAPORTULUITITLUL RAPORTULUITITLUL RAPORTULUI

TITLUL TITLUL RAPORTULUIRAPORTULUI

VIZUALIZARE VIZUALIZARE NORMALĂNORMALĂ

VIZUALIZARE ÎN MOD VIZUALIZARE ÎN MOD DE PROIECTAREDE PROIECTARE

Page 61: BA ZE DE DATE ACCESS

61

PEGINA REZULTATĂ FĂRĂ AJUSTAREPEGINA REZULTATĂ FĂRĂ AJUSTAREPEGINA REZULTATĂ FĂRĂ AJUSTAREPEGINA REZULTATĂ FĂRĂ AJUSTARE

Page 62: BA ZE DE DATE ACCESS

62

RAPORTUL PRELUCRATRAPORTUL PRELUCRATPAG.1PAG.1

RAPORTUL PRELUCRATRAPORTUL PRELUCRATPAG.1PAG.1

Page 63: BA ZE DE DATE ACCESS

63

RAPORTUL PRELUCRATRAPORTUL PRELUCRATPAG.2PAG.2

RAPORTUL PRELUCRATRAPORTUL PRELUCRATPAG.2PAG.2

Page 64: BA ZE DE DATE ACCESS

64

MODULE. NOŢIUNI GENERALEMODULE. NOŢIUNI GENERALEMODULE. NOŢIUNI GENERALEMODULE. NOŢIUNI GENERALE Limbajul Visual BasicLimbajul Visual Basic este instrumentul de este instrumentul de

programare pentru aplicaţiile informatice dezvoltate programare pentru aplicaţiile informatice dezvoltate cu ajutorul Microsoft Office 2002-2003.cu ajutorul Microsoft Office 2002-2003.

Limbajul Limbajul VBA VBA este limbaj orientat pe obiecte şi este limbaj orientat pe obiecte şi evenimente.evenimente.

Obiectele AccessObiectele Access sunt caracterizate prin sunt caracterizate prin metodemetode şi şi proprietăţiproprietăţi..

– MetodaMetoda acţionează asupra stării obiectului.acţionează asupra stării obiectului.– ProprietateaProprietatea indică starea obiectului.indică starea obiectului.– Exemplu: Obiect.Exemplu: Obiect.Visible Visible = = TrueTrue

Page 65: BA ZE DE DATE ACCESS

65

ACCESAREA OBIECTELOR ACCESSACCESAREA OBIECTELOR ACCESSACCESAREA OBIECTELOR ACCESSACCESAREA OBIECTELOR ACCESS

Nume obiect access![Nume obiect].Nume obiect access![Nume obiect].Proprietate Proprietate – Parantezele sunt necesare dacă numele conţine Parantezele sunt necesare dacă numele conţine

spaţiispaţii Nume obiect access(“Nume obiect”).Nume obiect access(“Nume obiect”).MetodăMetodă Exemplu:Exemplu:

– Forms![formular elevi]![cod elev].Forms![formular elevi]![cod elev].SetFocusSetFocus

– Forms![formular elevi]![Buton iesire].Forms![formular elevi]![Buton iesire].EnabledEnabled==TrueTrue

– Me.rezultat.Me.rezultat.ValueValue== “-1”“-1” – unde – unde MeMe reprezintă reprezintă formularul aflat pe ecran şi în care avem controlul formularul aflat pe ecran şi în care avem controlul de tip ChekBox cu numele de tip ChekBox cu numele rezultatrezultat a cărei valoare o a cărei valoare o setăm cu adevărat setăm cu adevărat ( ( “-1”“-1” ). ).

Page 66: BA ZE DE DATE ACCESS

66

AFIŞARE ŞI INTRODUCERE DATELORAFIŞARE ŞI INTRODUCERE DATELORAFIŞARE ŞI INTRODUCERE DATELORAFIŞARE ŞI INTRODUCERE DATELOR InputBox(InputBox(Mesaj,Titlu,Val_implicit,X,Y,Fişier Mesaj,Titlu,Val_implicit,X,Y,Fişier

Help,ContextHelp,Context)) –afişează o casetă de dialog pentru –afişează o casetă de dialog pentru introducere de date.introducere de date.– Mesaj-şir de caractere(max.1024) cu trecerea la alt Mesaj-şir de caractere(max.1024) cu trecerea la alt

rând prin Chr(13).rând prin Chr(13).– Titlu – şir de caractere care reprezintă titlul caseteiTitlu – şir de caractere care reprezintă titlul casetei– Val_implicită – spaţiul pentru introducerea dateiVal_implicită – spaţiul pentru introducerea datei– X – coordonata x raportată la marginea stânga susX – coordonata x raportată la marginea stânga sus– Y - coordonata y raportată la marginea stânga susY - coordonata y raportată la marginea stânga sus– Fişier Help –şir de caractere care indică numele Fişier Help –şir de caractere care indică numele

fişieruluifişierului– Context – număr care indică locul fişierului.Context – număr care indică locul fişierului.

Page 67: BA ZE DE DATE ACCESS

67

AFIŞARE ŞI INTRODUCERE DATELORAFIŞARE ŞI INTRODUCERE DATELORAFIŞARE ŞI INTRODUCERE DATELORAFIŞARE ŞI INTRODUCERE DATELOR

Butoane:Butoane: vbOkOnlyvbOkOnly 00 vbOkCancelvbOkCancel 11 vbAbortRetryIgnorvbAbortRetryIgnor2 2 vbYesNoCancel vbYesNoCancel 33 vbYesNo vbYesNo 4 4 vbRetryCancel vbRetryCancel 55

vbCritical vbCritical 16 afişează 16 afişează

vbQuestion vbQuestion 32 32 vbExclamation vbExclamation 48 48 vbInformation vbInformation 64 64

MsgBox (MsgBox (mesaj, butoane, titlu, fişier Help, mesaj, butoane, titlu, fişier Help, contextcontext))

!!

??

Page 68: BA ZE DE DATE ACCESS

68

MODULEMODULEMODULEMODULE ModuleleModulele sunt obiecte din Access care permit sunt obiecte din Access care permit

scrierea de rutine în limbaj scrierea de rutine în limbaj VBA VBA Visual Basic Visual Basic pentru Access.pentru Access.

Modulele sunt formate din :Modulele sunt formate din :– Declaraţii de variabileDeclaraţii de variabile– Tipuri de date utilizatorTipuri de date utilizator– ProceduriProceduri– FuncţiiFuncţii

Tipurile de date sunt:Tipurile de date sunt:– Date standardDate standard– Date definite de utilizatorDate definite de utilizator

Page 69: BA ZE DE DATE ACCESS

69

TIPURI DE DATE STANDARDTIPURI DE DATE STANDARDTIPURI DE DATE STANDARDTIPURI DE DATE STANDARD

TIP DE DATĂTIP DE DATĂ CARACTERISTICICARACTERISTICI

DOUBLEDOUBLE CU VIRGULĂ MOBILĂ PE 64 BIŢICU VIRGULĂ MOBILĂ PE 64 BIŢI

SINGLESINGLE CU VIRGULĂ MOBILĂ PE 32 BIŢICU VIRGULĂ MOBILĂ PE 32 BIŢI

CURRENCYCURRENCY CU PATRU ZECIMALE PE 64 BIŢICU PATRU ZECIMALE PE 64 BIŢI

BYTEBYTE NUMERE NATURALE PE 8 BIŢINUMERE NATURALE PE 8 BIŢI

INTEGERINTEGER NUMERE ÎNTREGI PE 16 BIŢINUMERE ÎNTREGI PE 16 BIŢI

LONGLONG NUMERE ÎNTREGI PE 32 BIŢINUMERE ÎNTREGI PE 32 BIŢI

BOOLEANBOOLEAN LOGICE: TRUE (LOGICE: TRUE (““-1-1””) ŞI FALSE () ŞI FALSE (““00””))

DATEDATE TIP DATĂ CALENDARISTICĂ ( ÎNTRE TIP DATĂ CALENDARISTICĂ ( ÎNTRE ##))

STRINGSTRING TIP CARACTER (ÎNTRE TIP CARACTER (ÎNTRE “ ”“ ”))

VARIANTVARIANT TIP GENERIC – CARACTER GENERALTIP GENERIC – CARACTER GENERAL

OBJECTOBJECT REFERREFERĂ Ă UN OBIECT UN OBIECT ŞŞI ESTE I ESTE PRECEDAT DE PRECEDAT DE SETSET

Page 70: BA ZE DE DATE ACCESS

70

DECLARAREA VARIABELORDECLARAREA VARIABELORDECLARAREA VARIABELORDECLARAREA VARIABELOR

VARIABILE GLOBALE –VARIABILE GLOBALE –valabile în toate modulele :valabile în toate modulele :– PUBLICPUBLIC variabila variabila As As tip_variabilătip_variabilă– GLOBAL GLOBAL variabila variabila As As tip_variabilătip_variabilă

VARIABILE LOCALEVARIABILE LOCALE –valabile doar în modulul în care –valabile doar în modulul în care au fost definite :au fost definite :– DIM DIM variabilavariabila As As tip_dată tip_dată– PRIVATEPRIVATE variabila variabila AsAs tip_dată tip_dată– SETSET variabila_obiect variabila_obiect = = expresie_obiectexpresie_obiect

VARIABILE DINAMICE:VARIABILE DINAMICE:– DE TIPDE TIP VECTOR : Dim VECTOR : Dim var_vectorvar_vector((1010) As ) As tip_datătip_dată– DE TIPDE TIP MATRICE :Dim MATRICE :Dim var_matricevar_matrice((10,1010,10) As ) As

tip_datătip_dată

Page 71: BA ZE DE DATE ACCESS

71

DATE DEFINITE DE UTILIZATORDATE DEFINITE DE UTILIZATORDATE DEFINITE DE UTILIZATORDATE DEFINITE DE UTILIZATOR Cuprinde date de tipuri diferite:Cuprinde date de tipuri diferite: [[PRIVATEPRIVATE ]/ [ ]/ [PUBLICPUBLIC] ] TYPETYPE nume_tip_datănume_tip_dată

– Element1Element1 As As tip_datătip_dată– Element2Element2 As As tip_datătip_dată– Element3Element3 As As tip_datătip_dată– ............– ElementnElementn As As tip_datătip_dată

END TYPEEND TYPE Accesul Accesul la o astfel de dată se poate face global la o astfel de dată se poate face global

sau perticularsau perticular: : nume_tip_datănume_tip_dată..Element1 Element1

Page 72: BA ZE DE DATE ACCESS

72

OPERATORI MATEMATICI VBAOPERATORI MATEMATICI VBAOPERATORI MATEMATICI VBAOPERATORI MATEMATICI VBA

OPERATORIOPERATORI OPERAŢIA REALIZATĂOPERAŢIA REALIZATĂ

^̂ RIDICARE LA PUTERERIDICARE LA PUTERE

++ ADUNAREADUNARE

-- SCSCĂĂDEREDERE

** ÎNMULŢIREÎNMULŢIRE

// ÎMPĂRŢIREÎMPĂRŢIRE

\\ CÂTUL ÎMPĂRŢIRIICÂTUL ÎMPĂRŢIRII

MODMOD RESTUL ÎMPĂRŢIRIIRESTUL ÎMPĂRŢIRII

&&CONCATENAREA(LIPIREA) A DOUĂ EXPRESII CU CONCATENAREA(LIPIREA) A DOUĂ EXPRESII CU

TRANSFORMAREA ACESTUIA ÎNTR-UN ŞIR DE CARACTERE TRANSFORMAREA ACESTUIA ÎNTR-UN ŞIR DE CARACTERE (STRING)(STRING)

Page 73: BA ZE DE DATE ACCESS

73

OPERATORII DE COMPARARE VBAOPERATORII DE COMPARARE VBAOPERATORII DE COMPARARE VBAOPERATORII DE COMPARARE VBA

OPERATOROPERATOR EXPLICAŢIEEXPLICAŢIE

== EGALITATEEGALITATE

>> MAI MAREMAI MARE

<< MAI MICMAI MIC

>=>= MAI MARE SAU MAI MARE SAU EGALEGAL

<=<= MAI MIC SAU EGALMAI MIC SAU EGAL

<><> DIFERITDIFERIT

LIKELIKE COMPARARE A COMPARARE A DOUĂ ŞIRURIDOUĂ ŞIRURI

ISISCOMPARĂ DOUĂ COMPARĂ DOUĂ

VARIABILE CE VARIABILE CE REFERĂ OBIECTEREFERĂ OBIECTE

CARACTERCARACTER EXPLICAŢIEEXPLICAŢIE

**ZERO SAU MAI MULTE ZERO SAU MAI MULTE

CARACTERECARACTERE

?? UN CARACTERUN CARACTER

## O CIFRĂO CIFRĂ

[[ listlistăă caractere caractere ]] UN CARACTER DIN LISTĂUN CARACTER DIN LISTĂ

[[ !! listlistăă caractere caractere ]]

UN CARACTER CARE NU UN CARACTER CARE NU EXISTĂ ÎN LISTĂEXISTĂ ÎN LISTĂ

CARACTERE UTILIZATE LA CĂUTAREA UNEI CARACTERE UTILIZATE LA CĂUTAREA UNEI ÎNREGISTRĂRIÎNREGISTRĂRI

Page 74: BA ZE DE DATE ACCESS

74

PROCEDURI ŞI FUNCŢIIPROCEDURI ŞI FUNCŢIIPROCEDURI ŞI FUNCŢIIPROCEDURI ŞI FUNCŢII SubSub Procedura1() Procedura1() ................................ Call Call Procedura2(P1,P2,P3)Procedura2(P1,P2,P3) .................................. CallCall Procedura2(P11,P12,P13) Procedura2(P11,P12,P13) .................................... Var_1=Funcţia1(Pa1,Pa2,Pa3)Var_1=Funcţia1(Pa1,Pa2,Pa3) .................................... Var_2=Funcţia1(Pa11,Pa12,PaVar_2=Funcţia1(Pa11,Pa12,Pa

13)13) ............ End SubEnd Sub

SubSub Procedura2 (Pf1,Pf2,Pf3) Procedura2 (Pf1,Pf2,Pf3) ................................................ End SubEnd Sub

Function Function Funcţia1(Pf1,Pf2, Funcţia1(Pf1,Pf2, Pf3) Pf3) As As tip_rezultattip_rezultat

.................................. Funcţia1=expresieFuncţia1=expresie .............. End FunctionEnd Function

PARAMETRII FORMALIPARAMETRII FORMALI

PARAMETRIIPARAMETRII ACTUALIACTUALI

Page 75: BA ZE DE DATE ACCESS

75

PROCEDURI ŞI FUNCŢIIPROCEDURI ŞI FUNCŢIIPROCEDURI ŞI FUNCŢIIPROCEDURI ŞI FUNCŢII

Dacă procedura sau funcţia există în alt modul sau Dacă procedura sau funcţia există în alt modul sau sunt mai multe cu acelaşi nume ,apelul se face prin sunt mai multe cu acelaşi nume ,apelul se face prin precizarea modulului din care face parte:precizarea modulului din care face parte:

Call Call nume_modul.nume_modul.nume_procedură nume_procedură [(val_param1,val_param2)][(val_param1,val_param2)]

VariabilaVariabila = nume_modul. = nume_modul.nume_funcţie nume_funcţie [(val_param1,val_param2)][(val_param1,val_param2)]– NotăNotă: Testarea unei proceduri/funcţii cu parametrii, : Testarea unei proceduri/funcţii cu parametrii,

se creează o altă procedură fără prametrii şi se se creează o altă procedură fără prametrii şi se apelează cea dintâi.apelează cea dintâi.

– Testarea unei proceduri/funcţii fără parametrii se Testarea unei proceduri/funcţii fără parametrii se face cu comanda face cu comanda RunRun , , Run Sub/User Form Run Sub/User Form didinn meniul principal.meniul principal.

Page 76: BA ZE DE DATE ACCESS

76

EXEMPLE DE PROCEDURI/FUNCŢII ŞI EXEMPLE DE PROCEDURI/FUNCŢII ŞI APELAREA LORAPELAREA LOR

EXEMPLE DE PROCEDURI/FUNCŢII ŞI EXEMPLE DE PROCEDURI/FUNCŢII ŞI APELAREA LORAPELAREA LOR

SubSub afisez_msg ( afisez_msg (mesajmesaj AsAs String)String)

‘ ‘ mesajul este parametrizat prin mesajul este parametrizat prin ““mesajmesaj””

SysCmd acSysCmdSetStatus , SysCmd acSysCmdSetStatus , mesajmesaj

End SubEnd Sub

Sub Sub test_msg()test_msg() Call Call afisez_msg afisez_msg

(“mesajul (“mesajul în bara de în bara de starestare”)”)

End SubEnd Sub

Sub Sub test()test()

MsgBox VersiuneMsgBox Versiune

End SubEnd Sub

FunctionFunction Versiune() Versiune()

Versiune = Versiune = SysCmd(acSysCmdAccessVer)SysCmd(acSysCmdAccessVer)

End FunctionEnd Function

APELUL FUNCŢIEI APELUL FUNCŢIEI DEFINITEDEFINITE

Page 77: BA ZE DE DATE ACCESS

77

FUNCŢII ACCESSFUNCŢII ACCESSFUNCŢII ACCESSFUNCŢII ACCESS

Abs(expr_numericAbs(expr_numericăă))--valoarea absolutăvaloarea absolută

Asc(şir_caractere)Asc(şir_caractere)-codul -codul ascii a primului caracterascii a primului caracter

Chr(cod_caracter)Chr(cod_caracter)––caracterulcaracterul

Int(expr_numerică)Int(expr_numerică)-partea -partea întreagă a număruluiîntreagă a numărului

Exp(expr_numerică)Exp(expr_numerică)-e la -e la puterea expr_numericăputerea expr_numerică

Log(expr_numerică)Log(expr_numerică)--logaritmul natural logaritmul natural

Cos(expr_numerică)Cos(expr_numerică)--cosinusul expresieicosinusul expresiei

Date()Date()-data curentă-data curentă Day(dată)Day(dată)-numărul zilei -numărul zilei

din lunădin lună Month(dată)Month(dată)-numărul -numărul

lunii din anlunii din an Year(dată)Year(dată)-anul datei-anul datei Time()Time()--

oră:minute:secundeoră:minute:secunde Hour(expr_timp)Hour(expr_timp)-ora-ora Minute(expr_timp)Minute(expr_timp)--

minuteminute Second(expr_timp)Second(expr_timp)--

secundesecunde

Page 78: BA ZE DE DATE ACCESS

78

FUNCŢII ACCESSFUNCŢII ACCESSFUNCŢII ACCESSFUNCŢII ACCESS

Len(şir_caractere)Len(şir_caractere)--numărul de caractere din numărul de caractere din şirşir

Space(număr)Space(număr)-număr de -număr de spaţiispaţii

Str(expr_numerică)Str(expr_numerică)--conversie în caractereconversie în caractere

Val(şir caracter)Val(şir caracter)-conversie -conversie în numărîn număr

Mid(şir,poziţie,Mid(şir,poziţie,[nr_caractere])[nr_caractere])- extrage - extrage şir, de lungime ,din poziţiaşir, de lungime ,din poziţia

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

–true/false–true/false CStr(expr)CStr(expr) –conversie în –conversie în

StringString CSng(expr)CSng(expr) –conversie –conversie

în Singleîn Single Cdate(expr)Cdate(expr) –conversie –conversie

în Dateîn Date Cbool(expr)Cbool(expr) –conversie –conversie

în Booleanîn Boolean

Page 79: BA ZE DE DATE ACCESS

79

STRUCTURI FUNDAMENTALE DE STRUCTURI FUNDAMENTALE DE PROGRAMAREPROGRAMARE

STRUCTURI FUNDAMENTALE DE STRUCTURI FUNDAMENTALE DE PROGRAMAREPROGRAMARE

STRUCTURI ALTERNATIVE :STRUCTURI ALTERNATIVE :

Instrucţiunea Instrucţiunea IFIF:: IFIF condiţie condiţie THENTHEN instrucţiuniAinstrucţiuniA ELSEELSE Instrucţiuni BInstrucţiuni B END IFEND IF

......................................................................................................................

IF NOT IF NOT (condiţie) (condiţie) THENTHEN

InsrtucţiuniInsrtucţiuni

END IFEND IF

........................................................................................................................

InstrucţiuneaInstrucţiunea SELECT CASESELECT CASE SELECT CASE SELECT CASE expr_selectorexpr_selector CASE CASE listă_expr1listă_expr1 Instrucţiuni1Instrucţiuni1 CASECASE listă_expr2 listă_expr2 Instrucţiuni2Instrucţiuni2................................................................................................

...................... CASE ELSECASE ELSE Istrucţiuni3Istrucţiuni3 END CASEEND CASE

Page 80: BA ZE DE DATE ACCESS

80

STRUCTURI FUNDAMENTALE DE STRUCTURI FUNDAMENTALE DE PROGRAMAREPROGRAMARE

STRUCTURI FUNDAMENTALE DE STRUCTURI FUNDAMENTALE DE PROGRAMAREPROGRAMARE

Funcţia IIF:Funcţia IIF:

valoare=valoare=IIFIIF((expr_testexpr_test ; ;

valoare returnată pentru valoare returnată pentru

cazul adevărat al expresiei cazul adevărat al expresiei

de testare ; valoare de testare ; valoare

returnată pentru cazul fals returnată pentru cazul fals

al expresiei de testare)al expresiei de testare)

Obs. În loc de valoare Obs. În loc de valoare

returnată pot fi incluse alte returnată pot fi incluse alte

funcţii care să returneze funcţii care să returneze

valoarea sau să execute o valoarea sau să execute o

acţiune!acţiune!

STRUCTURI REPETITIVE :STRUCTURI REPETITIVE :

Instrucţiunea Instrucţiunea WHILE...WEND:WHILE...WEND: WHILE WHILE condiţie_adevăratăcondiţie_adevărată InstrucţiuniInstrucţiuni WENDWEND

..........................................................................................................................

Instrucţiunea Instrucţiunea DO.....LOOP DO.....LOOP UNTIL:UNTIL:

DODO InstrucţiuniInstrucţiuni LOOP UNTIL LOOP UNTIL condiţie_falsăcondiţie_falsă

Page 81: BA ZE DE DATE ACCESS

81

STRUCTURI REPETITIVESTRUCTURI REPETITIVESTRUCTURI REPETITIVESTRUCTURI REPETITIVE

InstrucţiuneaInstrucţiunea DO WHILE ..... DO WHILE ..... LOOP:LOOP:

DO WHILE DO WHILE condiţie_adevărcondiţie_adevăr

InstrucţiuniInstrucţiuni LOOPLOOP ................................................................................

..............................InstrucţiuneaInstrucţiunea DO DO UNTIL ..... LOOP:UNTIL ..... LOOP:

DO UNTIL DO UNTIL condiţie_falsăcondiţie_falsă InstrucţiuniInstrucţiuni LOOPLOOP

InstrucţiuneaInstrucţiunea FOR ....NEXT:FOR ....NEXT: FOR FOR contor=val_iniţială contor=val_iniţială TO TO val_finalăval_finală Secvenţă_instrucţiuniSecvenţă_instrucţiuni [[EXIT FOREXIT FOR]] Secvenţă instrucţiuniSecvenţă instrucţiuni NEXT NEXT contorcontor ....................................................................................................

............Instrucţiunea Instrucţiunea FOR EACH...NEXT:FOR EACH...NEXT: FOR EACH FOR EACH variabilă variabilă ININ colecţie colecţie Secventă instrucţiuniSecventă instrucţiuni NEXT NEXT variabilăvariabilă

Page 82: BA ZE DE DATE ACCESS

82

Page 83: BA ZE DE DATE ACCESS

83

COMENZI MACROCOMENZI MACROCOMENZI MACROCOMENZI MACRO

Alături de codurile VBA ,comenzile macro Alături de codurile VBA ,comenzile macro asigură automatizareaasigură automatizarea aplicaţiilor Access.aplicaţiilor Access.

Comenzile macro permit automatizarea Comenzile macro permit automatizarea diverselor evenimente, fără ca realizatorul diverselor evenimente, fără ca realizatorul aplicaţiei să cunoască un limbaj de aplicaţiei să cunoască un limbaj de programare.programare.

În cadrul comenzilor macro pot fi incluse un În cadrul comenzilor macro pot fi incluse un număr mare de acţiuni a căror derulare număr mare de acţiuni a căror derulare poate fi condiţionată de anumite valori poate fi condiţionată de anumite valori afişate în formulare sau rapoarte.afişate în formulare sau rapoarte.

Page 84: BA ZE DE DATE ACCESS

84

TIPURI DE ACŢIUNI ÎN TIPURI DE ACŢIUNI ÎN MACRO-COMENZI MACRO-COMENZI

TIPURI DE ACŢIUNI ÎN TIPURI DE ACŢIUNI ÎN MACRO-COMENZI MACRO-COMENZI

Deschiderea / închidereaDeschiderea / închiderea de tabele, interogări, de tabele, interogări, formulare sau rapoarte.formulare sau rapoarte.

Vizualizarea sau Vizualizarea sau tipărireatipărirea rapoartelor. rapoartelor.

Rularea cererilorRularea cererilor de tip de tip acţiune.acţiune.

Efectuarea condiţionalăEfectuarea condiţională a anumitor acţiuni.a anumitor acţiuni.

Căutarea Căutarea anumitor date anumitor date în tabele.în tabele.

Deschiderea / închidereaDeschiderea / închiderea diferitelor meniuri de diferitelor meniuri de Access.Access.

Afişarea de mesajeAfişarea de mesaje de de atenţionare sau chiar atenţionare sau chiar sunete de atenţionare.sunete de atenţionare.

Ştergerea, Ştergerea, redenumirea , copierea redenumirea , copierea sau salvareasau salvarea diferitelor diferitelor obiecte ale aplicaţiei.obiecte ale aplicaţiei.

Comunicarea Comunicarea cu alte cu alte produse produse software(Word,Excel,etcsoftware(Word,Excel,etc.)..).

Page 85: BA ZE DE DATE ACCESS

85

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

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

CASETE PE CARE LE CASETE PE CARE LE OFERĂ WIZARDUL OFERĂ WIZARDUL ACCESS PENTRU ACCESS PENTRU

CREAREA BUTONULUICREAREA BUTONULUI

Page 86: BA ZE DE DATE ACCESS

86

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

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

NUMELE BUTONULUI NUMELE BUTONULUI ÎNREGISTRAT ÎN BAZA ÎNREGISTRAT ÎN BAZA DE DATE A APLICAŢIEI DE DATE A APLICAŢIEI

ACCESSACCESS

BUTONUL REZULTAT BUTONUL REZULTAT PE FORMULAR.PE FORMULAR.

Page 87: BA ZE DE DATE ACCESS

87

PROCEDURA ATAŞATĂ EVENIMENTULUI PROCEDURA ATAŞATĂ EVENIMENTULUI SCRISĂ DE ACCESSSCRISĂ DE ACCESS

PROCEDURA ATAŞATĂ EVENIMENTULUI PROCEDURA ATAŞATĂ EVENIMENTULUI SCRISĂ DE ACCESSSCRISĂ DE ACCESS

PROCEDURA SCRISĂ DE PROCEDURA SCRISĂ DE SGBD ACCESS PENTRU SGBD ACCESS PENTRU

FUNCŢIONAREA FUNCŢIONAREA BUTONULUIBUTONULUI

Page 88: BA ZE DE DATE ACCESS

88

MMacrocomandacrocomandaa c care apeleaare apelează funcţia ză funcţia IsLoaded()IsLoaded() de închiderea a formularului de închiderea a formularuluiMMacrocomandacrocomandaa c care apeleaare apelează funcţia ză funcţia

IsLoaded()IsLoaded() de închiderea a formularului de închiderea a formularului

Tipul Tipul acţiuniiacţiuniiCondiţia aplicării Condiţia aplicării

acţiuniiacţiunii

Tipul obiectului căruia îi Tipul obiectului căruia îi este aplicată acţiuneaeste aplicată acţiunea

Numele obiectului Numele obiectului specificat mai susspecificat mai sus

Page 89: BA ZE DE DATE ACCESS

89

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

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

Apelează Apelează macrocomanda macrocomanda “cautare” , de “cautare” , de

închidere a închidere a formularului cu formularului cu acelaşi nume , acelaşi nume ,

înainte de înainte de deschiderea deschiderea formularului formularului “FURNIZORI”“FURNIZORI”

Page 90: BA ZE DE DATE ACCESS

90

CREAREA UNEI PAGINI WEBCREAREA UNEI PAGINI WEBCREAREA UNEI PAGINI WEBCREAREA UNEI PAGINI WEB

Acest lucru este necesar fie pentru a utiliza baza Acest lucru este necesar fie pentru a utiliza baza de date în reţea, astfel încât fiecare utilizator să de date în reţea, astfel încât fiecare utilizator să poată accesa în mod citire sau editare diferite date poată accesa în mod citire sau editare diferite date din aceasta, fie pentru a informa prin reţeaua din aceasta, fie pentru a informa prin reţeaua Internet asupra unor resurse din baza de date a Internet asupra unor resurse din baza de date a firmei respective.firmei respective.

Deşi pare un lucru greu, “vrăjitorul” te ajută, iar Deşi pare un lucru greu, “vrăjitorul” te ajută, iar dacă ai şi noţiuni de HTML poţi să faci modificări dacă ai şi noţiuni de HTML poţi să faci modificări direct în sursa paginii.direct în sursa paginii.

Oricum, în principiu nu este mai greu decât să Oricum, în principiu nu este mai greu decât să realizezi un raport pe baza unei interogări în realizezi un raport pe baza unei interogări în modul Wizard!modul Wizard!

Page 91: BA ZE DE DATE ACCESS

91

MODURI DE CREAREA PAGINII WEBMODURI DE CREAREA PAGINII WEBMODURI DE CREAREA PAGINII WEBMODURI DE CREAREA PAGINII WEB

Crearea unei pagini Web Crearea unei pagini Web în în modul Design (introduceţi modul Design (introduceţi fiecare dată singur ).fiecare dată singur ).

Crearea unei pagini Web în Crearea unei pagini Web în modul Wizard (exact ca în modul Wizard (exact ca în cazul formularelor, se crează cazul formularelor, se crează pe baza unei interogări sau pe baza unei interogări sau a unei tabele).a unei tabele).

Editarea unei pagini Web Editarea unei pagini Web deja existentă.deja existentă.

Eu vă recomand să utilizaţi Eu vă recomand să utilizaţi varianta Wizard şi să varianta Wizard şi să respectaţi regulile învăţate respectaţi regulile învăţate la crearea rapola crearea rapoaartelor. rtelor.