BAZE DE DATE ACCESS - PowerPoint PPT Presentation

About This Presentation
Title:

BAZE DE DATE ACCESS

Description:

BAZE DE DATE ACCESS Prof. B l jel Ana-Maria NCHIDE APLICA IA * – PowerPoint PPT presentation

Number of Views:2187
Avg rating:3.0/5.0
Slides: 92
Provided by: CARM2152
Category:
Tags: access | baze | date | cstr

less

Transcript and Presenter's Notes

Title: BAZE DE DATE ACCESS


1
BAZE DE DATEACCESS
  • Prof. Balajel Ana-Maria

ÎNCHIDE APLICATIA
2
CUPRINS
  • 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

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

4
DIFERENTA Î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.

5
SGBD 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.

6
MODELUL 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.

7
MODELUL 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
8
NORMALIZAREA 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.

10
FUNCTII 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.

11
FUNCTII 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!

12
SCHEMA LOGICA A COLECTIEI DE OBIECTE ACCESS
TABEL2
TABEL1
TABEL3
INTEROGARE
RAPORT
FORMULAR
13
OBIECTELE 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.

14
CREAREA 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
15
STABILIREA 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!
16
CREAREA LEGATURILOR ÎNTRE TABELE
CASETA DE DIALOG DESCHISA PRIN MENIUL RAPID
PENTRU ADAUGAREA TABELELOR ÎN SUPRAFATA
RELATIILOR.
DESCHIDEREA INTERFETEI PENTRU CREAREA LEGATURILOR.
17
CREAREA LEGATURILOR ÎNTRE TABELE
LEGATURA DE TIP UNU LA MAI MULTE.
NUMELE TABELEI
NUMELE CÂMPULUI CHEIE PRIMARA SAU CHEIE EXTERNA
CARE CREEAZA LEGATURA.
18
CREAREA FORMULARELOR
ALEGEREA TABELELOR SAU INTEROGARILOR DIN CARE SE
PREIAU CÂMPURILE NECESARE.
CÂMPURILE TABELEI/INTEROGARII SELECTATE.
19
CREAREA FORMULARELOR
PRELUAREA CÂMPURILOR CARE VOR FI PREZENTE ÎN
FORMULAR.
20
CREAREA 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.
21
CREAREA FORMULARELOR
MODUL DE AFISARE A DATELOR ÎN FORMULAR.
22
CREAREA FORMULARELOR
FORMATUL GRAFIC.
23
CREAREA FORMULARELOR
NUMELE FORMULARULUI.
NUMELE SUB-FORMULARULUI.
24
FORMULARUL SI SUBFORMULARUL INCLUS ÎN FORMA
DISPONIBILA UTILIZATORULUI
FORMULARUL
SUBFORMULAR
25
CONTROALE 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).
26
CONTROALE 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.
27
CONTROALE 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.
28
CONTROALE 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.
29
TIPURI 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.
30
TIPURI 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.
31
SUBTIPURI 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
32
SETARI 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.)

33
SETARI 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.

35
TIPURI 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.

36
TIPURI 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.

37
CREAREA 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.

38
CREAREA 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

39
OPERATII 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
40
OPERATII 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
41
TIP 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
42
INTEROGARE 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
43
INTEROGARE 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.

44
INTEROGARE DE TIP CROSSTAB
CRITERIU CARE NU APARE ÎN TABELA
TITLU DE COLOANA
CÂMP CALCULAT
ÎNREGISTRARE
45
INTEROGARE 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

46
INTEROGARI 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"))

47
INTEROGARE 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

48
INTEROGARE 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

49
CREARE 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

50
INTEROGARE 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

51
INTEROGARE 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

52
INTEROGARE 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))

53
INTEROGARE 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

54
DESCHIDEREA WIZARD-ului PENTRU CREARE DE RAPOARTE
ALEGEREA INTEROGARII CARE SERVESTE CA SURSA DE
DATE
UTILITARUL WIZARD
55
ALEGEREA SURSEI DE DATE
ALEGEREA CÂMPURILOR CU DATELE DORITE
INTEROGAREA SELECTATA
56
PRECIZAREA MODULUI DE VIZUALIZARE
SE DORESTE GRUPAREA DUPA CÂMPUL ANUL
PRECIZAREA MODULUI DE VIZUALIZARE
57
GRUPARI SI SORTARI
MODUL DE SORTARE A DATELOR
NIVELUL DE GRUPARE
58
SORTARE SI TOTALIZARI DE RAPORT
SORTARE DESCRESCÎTOARE PRIN CLIC PE BUTONUL
ASCENDING
CENTRALIZARI ÎN SUBSOLUL RAPORTULUI
59
MODUL DE PREZENTARE ÎN CADRUL PAGINII
ALEGEREA AUTOFORMATULUI PERSONALIZAT ANTERIOR
MOD DE ARANJARE ÎN PAGINA
60
TITLUL RAPORTULUI
TITLUL RAPORTULUI
VIZUALIZARE NORMALA
VIZUALIZARE ÎN MOD DE PROIECTARE
61
PEGINA REZULTATA FARA AJUSTARE
62
RAPORTUL PRELUCRATPAG.1
63
RAPORTUL PRELUCRATPAG.2
64
MODULE. 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

65
ACCESAREA 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 ).

66
AFISARE 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.

67
AFISARE 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 ?

?
!
68
MODULE
  • 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

69
TIPURI 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
70
DECLARAREA 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

71
DATE 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

72
OPERATORI 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)
73
OPERATORII 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
74
PROCEDURI 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

75
PROCEDURI 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.

76
EXEMPLE 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
77
FUNCTII 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

78
FUNCTII 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

79
STRUCTURI 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

80
STRUCTURI 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

81
STRUCTURI 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)
83
COMENZI 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.

84
TIPURI 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.

85
CREAREA UNUI BUTON DE NAVIGARE ÎNTRE ÎNREGISTRARI
CASETE PE CARE LE OFERA WIZARDUL ACCESS PENTRU
CREAREA BUTONULUI
86
CREAREA UNUI BUTON DE NAVIGARE ÎNTRE ÎNREGISTRARI
BUTONUL REZULTAT PE FORMULAR.
NUMELE BUTONULUI ÎNREGISTRAT ÎN BAZA DE DATE A
APLICATIEI ACCESS
87
PROCEDURA ATASATA EVENIMENTULUI SCRISA DE ACCESS
PROCEDURA SCRISA DE SGBD ACCESS PENTRU
FUNCTIONAREA BUTONULUI
88
Macrocomanda 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
89
Procedura atasata butonului de deschidere a unui
formular
Apeleaza macrocomanda cautare , de închidere a
formularului cu acelasi nume , înainte de
deschiderea formularului FURNIZORI
90
CREAREA 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!

91
MODURI 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.
Write a Comment
User Comments (0)
About PowerShow.com