Baze de date Access

  • 44,225 views
Uploaded on

 

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • cum sa copii foto?
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
44,225
On Slideshare
0
From Embeds
0
Number of Embeds
8

Actions

Shares
Downloads
981
Comments
1
Likes
13

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BAZE DE DATE ACCESS ÎNCHIDE APLICAŢIA 1
  • 2. CUPRINS  CONCEPTUL DE BAZE DE DATE-SGBD  LUCRUL CU TABELE ÎN ACCESS  CREAREA FORMULARELOR  CREAREA INTEROGĂRILOR  CREAREA RAPOARTELOR  CREAREA MODULELOR  CREAREA MACRO  CREAREA UNEI PAGINI WEB 2
  • 3. CONCEPTUL DE BAZĂ DE DATE  Organizarea datelor în vederea prelucrării pe calculator este o activitate de mare importanţă .  Din punct de vedere al prelucrării pe calculator, datele sunt definite de trei elemente: – Un identificator (numele atribuit) – Atribut (tipul de dată pe care-l conţine) – Valoare (valoarea propriu-zisă).  Informaţia este rezultatul prelucrării datelor. – Organizarea datelor implică:  Organizarea datelor în memoria internă,care cuprinde structura de tip listă,coadă şi stivă.  Organizarea datelor pe memoria externă, care cuprinde structurile de tip fişier şi baze de date. 3
  • 4. DIFERENŢA ÎNTRE BAZA DE DATE ŞI SISTEMUL DE GESTIONARE A BAZEI DE DATE  Baza de date – este doar o componentă a SGBD care conţine datele propriu-zise – este un container care stochează date structurate.  Sistemul de gestiune a BD (SGBD) –reprezintă software-ul pentru baze de date care are rolul de a controla organizarea şi integritatea bazei de date, de regăsire a datelor din baza de date , precum şi de a asigura stocarea fizică, securitatea, replicarea şi recuperarea informaţiilor după erori.  Microsoft Access este un SGBD comercial de tip desktop, fiind adecvat administrării bazelor de date mici şi medii. 4
  • 5. SGBD DE TIP DESKTOP  UN SGBD de tip desktop este instalat şi rulează local. Este o aplicaţie autonomă care stocează o bază de date şi efectuează ea însăşi toate procesările SQL sau se comportă ca şi client al unui server SQL.  SQL este  UN LIMBAJ DE PROGRAMARE  NEPROCEDURAL  ÎNGLOBAT SAU INTERACTIV  STANDARDIZAT  UTILZAT PENTRU A MANIPULA DATELE ŞI OBIECTELE DIN BAZA DE DATE  SGBD execută programul SQL şi afişează rezultatul sau mesajele de eroare. 5
  • 6. MODELUL RELAŢIONAL AL BAZEI DE DATE  Se bazează pe teoria matematică a mulţimilor, tabelele reprezentând analoagele mulţimilor – colecţii de elemente distincte care au proprietăţi comune.  O bază de date = colecţie formată din unul sau mai multe tabele.  Tabelul reprezintă: – structura bazei de date care stochează datele ; – Conţine date despre un tip de entitate : clasă de obiecte, evenimente sau cocepte cu proprietăţi comune; – Grilă bidimensională : coloane, rânduri; – La intersecţia rând-coloană se află valoarea; – Nume unic în baza de date. 6
  • 7. MODELUL RELAŢIONAL AL BAZEI DE DATE TERMENI ECHIVALENŢI MODELUL RELAŢIONAL SQL NE-RELAŢIONAL (SGBD) RELAŢIE - caracterizează un tip de entitate - o clasă de obiecte, evenimente sau concepte TABEL FIŞIER cu proprientăţi comune, care aparţin lumii reale şi care pot fi distinse de alte clase. ATRIBUT- caracterizează o proprietate specifică tipului entităţii din relaţie. COLOANĂ CÂMP TUPLU- caracterizează o entitate (o instanţă unică) al tipului de entitate inclus în relaţia RÂND ÎNREGISTRARE din care face parte instanţa respectivă. 7
  • 8. NORMALIZAREA BAZEI DE DATE Prima formă normală 1FN A doua formă normală A treia formă normală 2FN 3FN Are coloane care conţin 1FN 2FN numai valori atomice (o Nu există dependenţe Nu există depen-denţe singură valoare, funcţionale parţiale. tranzitive. Răspunsul la nedivizată) Răspunsul la întrebarea : întrebarea : “ Pot Nu conţine grupuri care “Pot determina valoarea determina valoarea se repetă (două sau mai coloanei non-cheie dacă coloanei non-cheie dacă multe coloane în relaţie nu cunosc decât o parte cunosc oricare altă logică unele cu altele) din valoarea cheii primare valoare a unei coloane ?” non-cheie ?” 8
  • 9. CONCEPTE ALE REALIZĂRII UNEI BAZE DE DATE  Nivelul extern - corespunzător utilizatorului, care îşi exprimă cerinţele informaţionale prin aşa numitele scheme externe.  Nivelul conceptual - aferent administratorului bazei de date , care se concretizează în schema conceptuală.  Nivelul intern - corespunzător programatorului, care realizează reprezentarea datelor pe suportul fizic. 9
  • 10. FUNCŢII ALE SGBD  ORGANIZAREA DATELOR: – crearea şi manevrarea tabelelor care conţin date într-un format tabelar convenabil (linii şi coloane)- Datasheet  LEGAREA TABELELOR ŞI EXTRAGEREA DATELOR – legarea mai multor tabele prin relaţiile între date (prin intermediul Interogărilor),în vederea creării unor tabele temporare (Recordset) , stocate în memoria calculatorului sau în fişiere memorate pe disc,care conţin datele alese de programator. 10
  • 11. FUNCŢII ALE SGBD  INTRODUCEREA ŞI EDITAREA DATELOR: – Crearea şi implementarea unor Formulare pentru introducerea, afişarea şi editarea datelor,ca alternativă la prezentarea tabelară.  PREZENTAREA DATELOR: – Crearea de Rapoarte în care să poată fi sintetizate informaţiile din obiectele Recordset pe care le puteţi vedea , tipării şi publica pe Internet sau Intranet. Aceste rapoarte reprezintă scopul final al unei aplicaţii SGBD! 11
  • 12. SCHEMA LOGICĂ A COLECŢIEI DE OBIECTE ACCESS TABEL2 TABEL1 TABEL3 INTEROGARE FORMULAR RAPORT 12
  • 13. OBIECTELE ACCESS  Table-obiect definit de utilizator în care sunt stocate datele primare.  Pages-obiect care include un fişier HTML şi alte fişiere suport în  Form-obiect care permite vederea furnizării accesului la date introducerea datelor, afişarea prin intermediul browser-ului acestora sau controlul întregii Internet. aplicaţii.  Macro-obiect care conţine o  Query-obiect care permite definiţie structurată a uneia sau mai vizualizarea informaţiilor obţinute multor acţiuni pe care Access le prin prelucrarea datelor din unul sau realizează ca răspuns la un mai multe tabele şi / sau interogări. eveniment.  Report-obiect care permite  Module-obiect care conţine formatarea şi tipărirea informaţiilor proceduri definite de utilizator şi obţinute în urma consultării bazei de scrise în limbajul de programare date sub formă de document. Visual Basic. 13
  • 14. CREAREA TABELELOR MODUL DE NUMELE TIPUL DE DATE REALIZARE A CÂMPULUI CONŢINUT DE CÂMP STRUCTURII TABELEI DIMENSIUNEA CÂMPULUI. SETĂRI SUPLIMENTARE RELATIV LA CÂMPUL DEFINIT. SETĂRI SPECIFICE CONŢINUTULUI CÂMPULUI 14
  • 15. STABILIREA INDECŞIROL ŞI A CHEII TABELULUI STABILIREA MODULUI DE CĂUTARE ,DE SORTARE ÎN TABELĂ CU AJUTORUL CÂMPURILOR INDEXATE. CHEIA PRIMARĂ A TABELEI CARE TREBUIE SĂ CONŢINĂ ÎNREGISTRĂRI UNICE! 15
  • 16. CREAREA LEGĂTURILOR ÎNTRE TABELE CASETĂ DE DIALOG DESCHIDEREA DESCHISĂ PRIN INTERFEŢEI PENTRU MENIUL RAPID CREAREA LEGĂTURILOR. PENTRU ADĂUGAREA TABELELOR ÎN SUPRAFAŢA RELAŢIILOR. 16
  • 17. CREAREA LEGĂTURILOR ÎNTRE TABELE LEGĂTURĂ DE TIP UNU LA MAI MULTE. NUMELE TABELEI NUMELE CÂMPULUI CHEIE PRIMARĂ SAU CHEIE EXTERNĂ CARE CREEAZĂ LEGĂTURA. 17
  • 18. CREAREA FORMULARELOR ALEGEREA TABELELOR SAU INTEROGĂRILOR DIN CARE SE PREIAU CÂMPURILE NECESARE. CÂMPURILE TABELEI/INTEROGĂRII SELECTATE. 18
  • 19. CREAREA FORMULARELOR PRELUAREA CÂMPURILOR CARE VOR FI PREZENTE ÎN FORMULAR. 19
  • 20. CREAREA FORMULARELOR CÂMPURILE DIN FORMULAR. CÂMPURILE DIN TABELELE CARE FORMULARUL AU CONŢIN SUBORDONAT CÂMPURILE CE (SUBFORM). VOR APĂREA ÎN FORMULAR. SE VA ALEGE MODUL DE PREZENTARE A DATELOR. 20
  • 21. CREAREA FORMULARELOR MODUL DE AFIŞARE A DATELOR ÎN FORMULAR. 21
  • 22. CREAREA FORMULARELOR FORMATUL GRAFIC. 22
  • 23. CREAREA FORMULARELOR NUMELE FORMULARULUI. NUMELE SUB- FORMULARULUI. 23
  • 24. FORMULARUL ŞI SUBFORMULARUL INCLUS ÎN FORMA DISPONIBILĂ UTILIZATORULUI FORMULARUL SUBFORMULAR 24
  • 25. CONTROALE ŞI FUNCŢIILE LOR INSTRUMENT NUME FUNCŢIE SELECT OBJECT (indicator) Pointer-ul de selecţie al obiectelor. CONTROL WIZARD Activează/dezactivează programele Control Wizard LABEL Afişează texte fixe ce includ numele unui (etichetă) control de tip text sau instrucţiuni. TEXT Casetă de tip text ,editabilă. BOX OPTION Grup de controale de tip opţiune. Din grup doar GROUP una poate fi selectată. TOOGLE Buton cu două stări : ON(selectat) care BUTTON înseamnă DA (-1) şi OFF(deselectat) care înseamnă NU (0). 25
  • 26. CONTROALE ŞI FUNCŢIILE LOR INSTRUMENT FUNCŢIE NUME OPTION Buton opţiune folosit pe formular cu alte butoane pentru a BUTTON determina care din acţiuni să aibă loc atunci când este selectat. CHECK Casetă de validare care,atunci cănd este selectată comută în BOX starea ON(-1). COMBO Casetă combinată.Casetă de text cu o listă derulantă. Ăn BOX caseta de text se poate edita şi găseşte elementul în listă. LIST Casetă listă. Conţine o listă de valori al unui câmp din baza BOX de date. COMMAND Buton de comandă ,folosit pentru a executa coduri de BUTTON procedură editate în VBA. IMAGE Afişează o imagine statică.Nu poate fi editată în formular. 26
  • 27. CONTROALE ŞI FUNCŢIILE LOR INSTRUMENT NUME FUNCŢIE UNBOUND Obiect neasociat bazei de date care include un obiect OBJECT OLE: orice obiect editat într-un program Microsoft FRAME Office. BOUND Obiect asociat bazei de date şi care conţine un obiect OBJECT OLE : imagine,grafic,sunete,filme,etc. FRAME PAGE Delimitator de pagină.Determină imprimanta să tracă la o BREAK nouă pagină.Nu este vizibil în formular. 27
  • 28. CONTROALE ŞI FUNCŢIILE LOR INSTRUMENT NUME FUNCŢIE TAB Schimbător de pagină.Crează o serie de pagini care pot CONTROL fi schimbate.Fiecare pagină conţine mai multe controale.Se utilizează pentru formulare prea încărcate. SUBFORM/ Introduce în formular , sub formă de subformular sau SUBREPORT raport ,un formular sau raport efectuat anterior. LINE Crează o linie dreaptă pe care o putem redimensiona şi muta. RECTANGLE Crează un dreptunghi pe care îl putem configura cu efecte speciale în moduri diferite. 28
  • 29. TIPURI DE DATE DATE TIPUL DATELOR DESCRIERE Cel mult 255 caractere.Valoarea TEXT prestabilită la 50. ALFANUMERICE Cel mult 64.000 caractere. Nu poate fi MEMO cheie primară şi nu putem indexa după el. Sunt disponibile mai multe NUMBER subtipuri.Se alege formatul dorit(nr.zecimale,etc.) Tip Long Integer ce se NUMERICE autoincrementează.Nu se poate AUTONUMBER modifica când există înregistrări. Tip boolean:Yes=-1,No=0.Nu poate fi YES/NO cheie dar poate fi indexat. 29
  • 30. TIPURI DE DATE DATE TIPUL DATELOR DESCRIERE NUMERICE Format special,fix ,cu patru CURENCY zecimale,proiectat să excludă erorile de rotunjire în calcule financiare. Data calendaristică şi ora sunt stocate într-un DATE DATE/TIME format special fix.Se selectează formatul CALENDARISTICE dorit. Include elemente grafice,fişiere cu semnale audio şi alte tipuri de date create de o OBIECTE MARI OBJECT OLE aplicaţie OLE server.Nu poate fi cheie şi nici index. Adresă a unei pagini Web.Formată din trei ADRESE INTERNET HYPERLINK părţi: textul afişat,adresa şi subadresa. Crează cîmpuri care permit utilizatorului să LOOKUP INFORMAŢII LEGATE aleagă valori din cadrul altor tabele sau dintr- WIZARD o listă de valori. 30
  • 31. SUBTIPURI DE DATE NUMERICE MĂRIMEA CĂMPULUI ZECIMALE INTERVALUL VALORIC OCTEŢI BYTE 0 DE LA 0 LA 256 1 INTEGER 0 DE LA -32.768 LA 32.768 2 DE LA -2.147.483.648 LA LONG INTEGER 0 4 2.147.483.648 SINGLE 7 DE LA – 3,4*1038 LA + 3,4*1038 4 DE LA - 1,797*10308 LA DOUBLE 15 8 +1,797*10308 REPLICATION ID IDENTIFICATOR GLOBAL UNIC 16 DECIMAL DE LA - 1028 LA + 1028 16 31
  • 32. SETĂRI CARACTERISTICE CÂMPULUI  FORMAT- permite alegerea unor formate prestabilite sau crearea unui format personalizat pentru tipul de dată ales.  DECIMAL PLACES -stabileşte numărul de zecimale între 0- 15.  INPUT MASK -se aplică tipului text şi dată calendaristică un format personalizat de afişare. Ex.Tel.(0262)655-224.  CAPTION -nume atribuit cîmpului la vizualizare(diferit de cel intern,deja atribuit).  DEFAULT VALUE -valoarea inclusă implicit ,înainte de actualizarea câmpului(când majoritatea valorilor vor fi aceasta.) 32
  • 33. SETĂRI CARACTERISTICE CÂMPULUI  VALIDATION RULE - regula de validare testată pe baza criteriului definit sub forma unei expresii. Acestea folosesc:  Operatori: = ,- ,*, /, Mod ,< ,> ,≤ ,≥ ,AND,OR ,BETWEEN ,IN ,IS NULL.  Indentificatori: ]n paranteze drepte [ ].  Funcţii.  Constante.  VALIDATION TEXT -mesajul care apare în cazul nerespectării regulii de validare.  REQUIRED -se stabileşte la yes dacă este strict necesară completarea acestui câmp.  INDEXED - se alege opţiunea pentru un index neduplicat (primar) sau duplicat . Câmpul indexat este util în operaţiile de căutare în baza de date. 33
  • 34. INTEROGĂRILE ÎN ACCESS  Interogarea bazei de date înseamnă regăsirea şi extragerea datelor stocate în aceasta , într-un mod util scopului urmărit.  Rezultatul unei interogări reprezintă o foaie de răspuns dinamic, numită Dynaset, care nu mai există fizic după închiderea interogării.  Crearea Query se poate în următoarele moduri:  Crearea pas cu pas în modul Design view (fereastră de proiectare)  Utilizând instrumentul Wizard  Exprimarea cererii în limbaj SQL  Crearea unui filtru şi salvarea acestuia ca cerere de interogare. 34
  • 35. TIPURI DE INTEROGĂRI  Interogări de tip Select care afişează datele din mai multe tabele şi nu permite actualizarea datelor.  Constituie o sursă de date pentru un raport sau formular.  Interogări de tip Crosstab pentru sintetizarea datelor sub forma unei foi de calcul de tip Excel.  Interogări de tip Parameter care folosesc aceeaşi interogare de mai multe ori cu parametrii diferiţi. 35
  • 36. TIPURI DE INTEROGĂRI  Interogări de tip Action , acestea având efect asupra datelor din baza de date:  Interogări de tip Append –permit adăugarea de noi înregistrări într-o tabelă existentă.  Interogări de tip Delete –permit ştergerea unor înregistrări dintr-o tabelă pe seama unor criterii.  Interogare de tip Make Table -creerea de noi tabele pe baza celor existente.  Interogare de tip Update –modificarea(actualizarea) datelor existente fără crearea de noi înregistrări sau tabele. 36
  • 37. CREAREA INTEROGĂRILOR  Paşii creării unei interogări sunt: – Alegerea tipului de interogare; – Alegerea tabelelor / interogărilor care vor constitui sursa de date a interogării (în partea superioară a ferestrei de lucru); – Selectarea câmpurilor (mutarea prin glisare în grila de proiectare numită grilă QBE adică Query By Exemples – în partea inferioară a ferestrei de lucru) şi eventual stabilirea unor criterii de selecţie. – Ordonarea datelor (Sort) crescător / descrescător. Dacă există mai multe câmpuri ordonate se aplică ordonarea începând din stânga. 37
  • 38. CREAREA INTEROGĂRILOR  Crearea unor câmpuri calculate: – Se selectează coloana şi se accesează comanda de meniu Totals () – Se selectează Expresion în linia de Totals – În linia Field se introduce expresia sub forma:  Nume rezultat : [Câmp1] operator aritmetic [Câmp2]  Realizarea unor operaţii de calcul asupra tuturor înregistrărilor : – În linia Totals , unde apare Group By ,se alege tipul de operaţie dorit 38
  • 39. OPERAŢII PREDEFINITE DE ACCESS OPERAŢIA FUNCŢIA TIP CÂMP Suma valorilor unui Numeric, Autonumber , SUM câmp Data, Logic Numeric, Autonumber , AVG Media aritmetică Data, Logic Numeric, Autonumber , MIN Valoarea minimă Data, Logic, Text Numeric, Autonumber , MAX Valoarea maximă Data, Logic,Text 39
  • 40. OPERAŢII PREDEFINITE DE ACCESS OPERAŢIA FUNCŢIA TIP CÂMP Numărul de valori dintr- Toate tipurile COUNT un câmp Varianţa valorilor unui Numeric, Autonumber STDEV câmp ,Data,Logic FIRST Prima valoare din câmp Toate tipurile LAST Ultima valoare din câmp Toate tipurile 40
  • 41. TIP DE INTEROGARE CÂMPURI SELECTATE SAU CALCULATE SURSA DE DATE EVENTUALE OPERAŢII ASUPRA CÂMPURILOR MOD DE SORTARE AFIŞAREA SAU NU ÎN DYNASET APARE ÎN CRITERII DE REZULTATUL SELECŢIE INTEROGĂRII 41
  • 42. INTEROGARE DE SELECŢIE ÎN LIMBAJ SQL LISTA DE CÂMPURI SELECTATE TABELA / TABELELE DIN CARE PROVIN CÂMPURILE CONDIŢIE DE SELECŢIE GRUPAREA SELECŢIEI DUPĂ ANUMITE CÂMPURI 42
  • 43. INTEROGARE DE TIP CROSSTAB  Sunt interogări care au ca rezultat o reprezentare tabelară a datelor identică cu cea din Excel.  Este utilă atunci cănd se doreşte o centralizare a datelor , de exemplu numărarea înregistrărilor unei grupe de date , însumarea unor date pe grupe sau după anumite criterii.  Schema unei astfel de interogări este:  Câmp coloană - apare ca nume de câmp  Câmpuri rând –apar ca înregistrări  Câmp calculat – apare ca valoare calculată a înregistrărilor. 43
  • 44. INTEROGARE DE TIP CROSSTAB TITLU DE CRITERIU CARE NU CÂMP COLOANĂ APARE ÎN TABELĂ CALCULAT ÎNREGISTRARE 44
  • 45. INTEROGARE SIMPLĂ SELECT [domeniu] listă_selecţie FROM nume_tabelă1, nume_tabelă2,.. domeniu: ALL, DISTINCT, [WHERE criteriul_de selecţie DISTINCTROW [ORDER BY câmpuri_criteriu [ASC/DESC]]; SELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinr WHERE (((DATE_EX.rezultat)=True)) ORDER BY DATE_EX.media_ex DESC; 45
  • 46. INTEROGĂRI CU CÂMPURI CALCULATE  Interogare de tip Select utilizată pentru crearea unor cămpuri calculate şi având şi un parametru : SELECT [domeniu] [funcţie_agregat (nume_câmp) AS alias, ...] FROM nume_tabelă1, nume_tabelă2, ... GROUP BY câmp_de_grupare [HAVING criteriul_de_grupare] [ORDER BY câmpuri_criteriu [ASC/DESC]]; Exemplu : SELECT Count(carti.cod_c) AS CountOfcod_c, carti.autor, carti.titlu, carti.an_ap FROM carti GROUP BY carti.autor, carti.titlu, carti.an_ap HAVING (((carti.autor)=["AUTOR:"])); 46
  • 47. INTEROGARE DE TIP CROSSTAB  Interogare de tip Crosstabe:  TRANSFORM funcţie_agregat(câmp) AS alias  SELECT [ALL/DISTINCT/DISTINCTROW] nume_câmp  FROM nume_tabelă1, nume_tabelă2, ...  GROUP BY nume_câmp  PIVOT nume_câmp ;  Exemplu:  TRANSFORM Sum(cit_tot.nr) AS SumOfnr1  SELECT cit_tot.luna AS Expr1  FROM cit_tot  GROUP BY cit_tot.luna  PIVOT cit_tot.varsta ; 47
  • 48. INTEROGARE DE COMBINARE  Interogare de tip Union :  SELECT listă_câmpuri FROM tabela1  UNION SELECT listă_câmpuri FROM tabela2  [GROUP BY câmp_de_grupare]  [HAVING criteriu_de_grupare]  UNION SELECT listă_câmpuri FROM tabela3  ...  [ORDER BY câmp_de_sortare];  Exemplu :  SELECT distinct fmasc.luna, fmasc.nr, fmasc.sex  FROM fmasc  UNION select distinct ffem.luna,ffem.nr,ffem.sex  FROM ffem;  UNION select distinct imp_luna.luna , imp_luna.nr , imp_luna.total from imp_luna ; 48
  • 49. CREARE DE TABEL PRIN INTEROGARE  Interogare de tip Make Table: SELECT [domeniu] câmp1, câmp2, ... INTO tabela_nouă FROM tabela_sursă [WHERE criteriul_de_adăugare];  Exemplu:  SELECT ALL INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex, INTRARE_EL.sex INTO ADM_2005 FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinr WHERE (((DATE_EX.rezultat)=True)) ORDER BY DATE_EX.media_ex DESC ; 49
  • 50. INTEROGARE DE ADĂUGARE  Interogare de tip Append: INSERT INTO tabelă_destinaţie (câmp1, câmp2, ...) SELECT [domeniu] câmp, câmp, ... FROM tabelă_sursă WHERE criteriul_de_adăgare;  Exemplu: INSERT INTO DATE_EL ( nume, pren, datan, adresa, anul ) SELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.anul FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinr WHERE (((DATE_EX.rezultat)=True)) ORDER BY DATE_EX.media_ex DESC ; 50
  • 51. INTEROGARE DE ACTUALIZARE  Interogare de tip Update : UPDATE nume_tabelă SET nume_câmp1=valoare1, nume_câmp2=valoare2, ... [WHERE criteriu_de_actualizare];  Exemplu : UPDATE MARFURI SET categ=“detergent”, um=“cutie” WHERE categ=“detergenti” AND um=“cutii”; 51
  • 52. INTEROGARE DE ŞTERGERE  Interogare de tip Delete: DELETE * FROM nume_tabelă [WHERE criteriu_de_ştergere];  Exemplu: DELETE INTRARE_EL.*, [an_prec] AS Expr1 FROM INTRARE_EL WHERE ((([an_prec])=Year(Date())-1)) ; 52
  • 53. INTEROGARE PARAMETRIZATĂ  Interogare de tip Parameter:  PARAMETERS listă_câmpuri_parametru  SELECT DISTINCTROW nume_câmp1, nume_câmp2, ...  FROM nume_tabelă  [WHERE condiţie_parametru]  [ORDER BY nume_câmp ASC/DESC];  Exemplu :  PARAMETERS [PUNCTAJ PESTE] Short;  SELECT date_olimp.nume, date_olimp.clasa, date_olimp.total_p  FROM date_olimp  WHERE (((date_olimp.total_p)<=[PUNCTAJ PESTE]))  ORDER BY date_olimp.total_p DESC; 53
  • 54. DESCHIDEREA WIZARD-ului PENTRU CREARE DE RAPOARTE ALEGEREA INTEROGĂRII UTILITARUL CARE SERVEŞTE CA SURSĂ WIZARD DE DATE 54
  • 55. ALEGEREA SURSEI DE DATE ALEGEREA CÂMPURILOR CU INTEROGAREA DATELE DORITE SELECTATĂ 55
  • 56. PRECIZAREA MODULUI DE VIZUALIZARE PRECIZAREA MODULUI SE DOREŞTE DE VIZUALIZARE GRUPAREA DUPĂ CÂMPUL ANUL 56
  • 57. GRUPĂRI ŞI SORTĂRI MODUL DE SORTARE A NIVELUL DE DATELOR GRUPARE 57
  • 58. SORTARE ŞI TOTALIZĂRI DE RAPORT SORTARE DESCRESCÎTOARE PRIN CLIC PE CENTRALIZĂRI ÎN SUBSOLUL BUTONUL ASCENDING RAPORTULUI 58
  • 59. MODUL DE PREZENTARE ÎN CADRUL PAGINII ALEGEREA MOD DE ARANJARE ÎN AUTOFORMATULUI PAGINĂ PERSONALIZAT ANTERIOR 59
  • 60. TITLUL RAPORTULUI TITLUL RAPORTULUI VIZUALIZARE NORMALĂ VIZUALIZARE ÎN MOD DE PROIECTARE 60
  • 61. PEGINA REZULTATĂ FĂRĂ AJUSTARE 61
  • 62. RAPORTUL PRELUCRAT PAG.1 62
  • 63. RAPORTUL PRELUCRAT PAG.2 63
  • 64. MODULE. NOŢIUNI GENERALE  Limbajul Visual Basic este instrumentul de programare pentru aplicaţiile informatice dezvoltate cu ajutorul Microsoft Office 2002-2003.  Limbajul VBA este limbaj orientat pe obiecte şi evenimente.  Obiectele Access sunt caracterizate prin metode şi proprietăţi. – Metoda acţionează asupra stării obiectului. – Proprietatea indică starea obiectului. – Exemplu: Obiect.Visible = True 64
  • 65. ACCESAREA OBIECTELOR ACCESS  Nume obiect access![Nume obiect].Proprietate – Parantezele sunt necesare dacă numele conţine spaţii  Nume obiect access(“Nume obiect”).Metodă  Exemplu: – Forms![formular elevi]![cod elev].SetFocus – Forms![formular elevi]![Buton iesire].Enabled=True – Me.rezultat.Value= “-1” – unde Me reprezintă formularul aflat pe ecran şi în care avem controlul de tip ChekBox cu numele rezultat a cărei valoare o setăm cu adevărat ( “-1” ). 65
  • 66. AFIŞARE ŞI INTRODUCERE DATELOR  InputBox(Mesaj,Titlu,Val_implicit,X,Y,Fişier Help,Context) – afişează o casetă de dialog pentru introducere de date. – Mesaj-şir de caractere(max.1024) cu trecerea la alt rând prin Chr(13). – Titlu – şir de caractere care reprezintă titlul casetei – Val_implicită – spaţiul pentru introducerea datei – X – coordonata x raportată la marginea stânga sus – Y - coordonata y raportată la marginea stânga sus – Fişier Help –şir de caractere care indică numele fişierului – Context – număr care indică locul fişierului. 66
  • 67. AFIŞARE ŞI INTRODUCERE DATELOR MsgBox (mesaj, butoane, titlu, fişier Help, context)  Butoane:  vbCritical  16 afişează   vbOkOnly  0  vbQuestion  32 ?  vbOkCancel  1  vbExclamation  48 !  vbAbortRetryIgnor2  vbInformation  64   vbYesNoCancel  3  vbYesNo  4  vbRetryCancel  5 67
  • 68. MODULE  Modulele sunt obiecte din Access care permit scrierea de rutine în limbaj VBA Visual Basic pentru Access.  Modulele sunt formate din : – Declaraţii de variabile – Tipuri de date utilizator – Proceduri – Funcţii  Tipurile de date sunt: – Date standard – Date definite de utilizator 68
  • 69. TIPURI DE DATE STANDARD TIP DE DATĂ CARACTERISTICI DOUBLE CU VIRGULĂ MOBILĂ PE 64 BIŢI SINGLE CU VIRGULĂ MOBILĂ PE 32 BIŢI CURRENCY CU PATRU ZECIMALE PE 64 BIŢI BYTE NUMERE NATURALE PE 8 BIŢI INTEGER NUMERE ÎNTREGI PE 16 BIŢI LONG NUMERE ÎNTREGI PE 32 BIŢI BOOLEAN LOGICE: TRUE (“-1”) ŞI FALSE (“0”) DATE TIP DATĂ CALENDARISTICĂ ( ÎNTRE #) STRING TIP CARACTER (ÎNTRE “ ”) VARIANT TIP GENERIC – CARACTER GENERAL OBJECT REFERĂ UN OBIECT ŞI ESTE PRECEDAT DE SET 69
  • 70. DECLARAREA VARIABELOR  VARIABILE GLOBALE –valabile în toate modulele : – PUBLIC variabila As tip_variabilă – GLOBAL variabila As tip_variabilă  VARIABILE LOCALE –valabile doar în modulul în care au fost definite : – DIM variabila As tip_dată – PRIVATE variabila As tip_dată – SET variabila_obiect = expresie_obiect  VARIABILE DINAMICE: – DE TIP VECTOR : Dim var_vector(10) As tip_dată – DE TIP MATRICE :Dim var_matrice(10,10) As tip_dată 70
  • 71. DATE DEFINITE DE UTILIZATOR  Cuprinde date de tipuri diferite:  [PRIVATE ]/ [PUBLIC] TYPE nume_tip_dată – Element1 As tip_dată – Element2 As tip_dată – Element3 As tip_dată – ...... – Elementn As tip_dată  END TYPE  Accesul la o astfel de dată se poate face global sau perticular: nume_tip_dată.Element1 71
  • 72. OPERATORI MATEMATICI VBA OPERATORI OPERAŢIA REALIZATĂ ^ RIDICARE LA PUTERE + ADUNARE - SCĂDERE * ÎNMULŢIRE / ÎMPĂRŢIRE CÂTUL ÎMPĂRŢIRII MOD RESTUL ÎMPĂRŢIRII CONCATENAREA(LIPIREA) A DOUĂ EXPRESII CU TRANSFORMAREA & ACESTUIA ÎNTR-UN ŞIR DE CARACTERE (STRING) 72
  • 73. OPERATORII DE COMPARARE VBA CARACTERE UTILIZATE LA CĂUTAREA UNEI OPERATOR EXPLICAŢIE ÎNREGISTRĂRI = EGALITATE CARACTER EXPLICAŢIE > MAI MARE ZERO SAU MAI MULTE * CARACTERE < MAI MIC >= MAI MARE SAU EGAL ? UN CARACTER <= MAI MIC SAU EGAL # O CIFRĂ <> DIFERIT COMPARARE A DOUĂ [ listă caractere ] UN CARACTER DIN LISTĂ LIKE ŞIRURI COMPARĂ DOUĂ VARIABILE CE REFERĂ UN CARACTER CARE NU EXISTĂ IS [ ! listă caractere ] OBIECTE ÎN LISTĂ 73
  • 74. PROCEDURI ŞI FUNCŢII  Sub Procedura1()  Sub Procedura2 (Pf1,Pf2,Pf3) PARAMETRII ACTUALI  ................  ........................  Call Procedura2(P1,P2,P3)  End Sub  ................. PARAMETRII FORMALI  Call Procedura2(P11,P12,P13)  ..................  Function Funcţia1(Pf1,Pf2, Pf3) As  Var_1=Funcţia1(Pa1,Pa2,Pa3) tip_rezultat  ..................  .................  Var_2=Funcţia1(Pa11,Pa12,Pa13)  Funcţia1=expresie  ......  .......  End Sub  End Function 74
  • 75. PROCEDURI ŞI FUNCŢII  Dacă procedura sau funcţia există în alt modul sau sunt mai multe cu acelaşi nume ,apelul se face prin precizarea modulului din care face parte:  Call nume_modul.nume_procedură [(val_param1,val_param2)]  Variabila = nume_modul.nume_funcţie [(val_param1,val_param2)] – Notă: Testarea unei proceduri/funcţii cu parametrii, se creează o altă procedură fără prametrii şi se apelează cea dintâi. – Testarea unei proceduri/funcţii fără parametrii se face cu comanda Run , Run Sub/User Form din meniul principal. 75
  • 76. EXEMPLE DE PROCEDURI/FUNCŢII ŞI APELAREA LOR  Sub afisez_msg (mesaj As String)  Sub test_msg()  „ mesajul este parametrizat prin  Call afisez_msg (“mesajul în “mesaj” bara de stare”)  SysCmd acSysCmdSetStatus , mesaj  End Sub  End Sub APELUL FUNCŢIEI Function Versiune() DEFINITE Sub test() Versiune = SysCmd(acSysCmdAccessVer) MsgBox Versiune End Sub End Function 76
  • 77. FUNCŢII ACCESS  Abs(expr_numerică)-valoarea  Date()-data curentă absolută  Day(dată)-numărul zilei din  Asc(şir_caractere)-codul ascii a lună primului caracter  Month(dată)-numărul lunii din  Chr(cod_caracter)–caracterul an  Int(expr_numerică)-partea  Year(dată)-anul datei întreagă a numărului  Time()-oră:minute:secunde  Exp(expr_numerică)-e la  Hour(expr_timp)-ora puterea expr_numerică  Minute(expr_timp)-minute  Log(expr_numerică)-logaritmul  Second(expr_timp)-secunde natural  Cos(expr_numerică)-cosinusul expresiei 77
  • 78. FUNCŢII ACCESS  IsNull(expr) -true/false  Len(şir_caractere)-numărul de  IsDate(expr) –true/false caractere din şir  IsEmpty(expr) –true/false  Space(număr)-număr de spaţii  CStr(expr) –conversie în  Str(expr_numerică)-conversie în caractere String  CSng(expr) –conversie în  Val(şir caracter)-conversie în număr Single  Cdate(expr) –conversie în  Mid(şir,poziţie,[nr_caractere])- extrage şir, de lungime ,din Date poziţia  Cbool(expr) –conversie în Boolean 78
  • 79. STRUCTURI FUNDAMENTALE DE PROGRAMARE  STRUCTURI ALTERNATIVE :  Instrucţiunea SELECT CASE Instrucţiunea IF:  SELECT CASE expr_selector  IF condiţie THEN  CASE listă_expr1  instrucţiuniA  Instrucţiuni1  CASE listă_expr2  ELSE  Instrucţiuni2  Instrucţiuni B ...........................................................  END IF  CASE ELSE ...........................................................  Istrucţiuni3 IF NOT (condiţie) THEN  END CASE Insrtucţiuni END IF ............................................................ 79
  • 80. STRUCTURI FUNDAMENTALE DE PROGRAMARE  Funcţia IIF:  STRUCTURI REPETITIVE :  valoare=IIF(expr_test ; valoare Instrucţiunea WHILE...WEND: returnată pentru cazul adevărat al  WHILE condiţie_adevărată expresiei de testare ; valoare  Instrucţiuni returnată pentru cazul fals al  WEND expresiei de testare) ............................................................. Instrucţiunea DO.....LOOP UNTIL:  Obs. În loc de valoare returnată  DO pot fi incluse alte funcţii care să  Instrucţiuni returneze valoarea sau să  LOOP UNTIL condiţie_falsă execute o acţiune! 80
  • 81. STRUCTURI REPETITIVE Instrucţiunea DO WHILE ..... Instrucţiunea FOR ....NEXT: LOOP:  FOR contor=val_iniţială TO val_finală  DO WHILE condiţie_adevăr  Secvenţă_instrucţiuni  Instrucţiuni  [EXIT FOR]  LOOP  Secvenţă instrucţiuni  NEXT contor  ....................................................... Instrucţiunea DO UNTIL .....  ........................................................ LOOP: Instrucţiunea FOR EACH...NEXT:  DO UNTIL condiţie_falsă  FOR EACH variabilă IN colecţie  Secventă instrucţiuni  Instrucţiuni  NEXT variabilă  LOOP 81
  • 82. 82
  • 83. COMENZI MACRO  Alături de codurile VBA ,comenzile macro asigură automatizarea aplicaţiilor Access.  Comenzile macro permit automatizarea diverselor evenimente, fără ca realizatorul aplicaţiei să cunoască un limbaj de programare.  În cadrul comenzilor macro pot fi incluse un număr mare de acţiuni a căror derulare poate fi condiţionată de anumite valori afişate în formulare sau rapoarte. 83
  • 84. TIPURI DE ACŢIUNI ÎN MACRO-COMENZI  Deschiderea / închiderea  Deschiderea / închiderea de tabele, interogări, formulare diferitelor meniuri de sau rapoarte. Access.  Afişarea de mesaje de  Vizualizarea sau tipărirea rapoartelor. atenţionare sau chiar sunete de atenţionare.  Rularea cererilor de tip  Ştergerea, redenumirea , acţiune. copierea sau salvarea  Efectuarea condiţională a diferitelor obiecte ale anumitor acţiuni. aplicaţiei.  Căutarea anumitor date în  Comunicarea cu alte tabele. produse software(Word,Excel,etc.).84
  • 85. CREAREA UNUI BUTON DE NAVIGARE ÎNTRE ÎNREGISTRĂRI CASETE PE CARE LE OFERĂ WIZARDUL ACCESS PENTRU CREAREA BUTONULUI 85
  • 86. CREAREA UNUI BUTON DE NAVIGARE ÎNTRE ÎNREGISTRĂRI BUTONUL REZULTAT PE NUMELE BUTONULUI FORMULAR. ÎNREGISTRAT ÎN BAZA DE DATE A APLICAŢIEI ACCESS 86
  • 87. PROCEDURA ATAŞATĂ EVENIMENTULUI SCRISĂ DE ACCESS PROCEDURA SCRISĂ DE SGBD ACCESS PENTRU FUNCŢIONAREA BUTONULUI 87
  • 88. Macrocomanda care apelează funcţia IsLoaded() de închiderea a formularului Tipul acţiunii Condiţia aplicării acţiunii Tipul obiectului căruia îi este aplicată acţiunea Numele obiectului specificat mai sus 88
  • 89. Procedură ataşată butonului de deschidere a unui formular Apelează macrocomanda “cautare” , de închidere a formularului cu acelaşi nume , înainte de deschiderea formularului “FURNIZORI” 89
  • 90. CREAREA UNEI PAGINI WEB  Acest lucru este necesar fie pentru a utiliza baza de date în reţea, astfel încât fiecare utilizator să poată accesa în mod citire sau editare diferite date din aceasta, fie pentru a informa prin reţeaua Internet asupra unor resurse din baza de date a firmei respective.  Deşi pare un lucru greu, “vrăjitorul” te ajută, iar dacă ai şi noţiuni de HTML poţi să faci modificări direct în sursa paginii.  Oricum, în principiu nu este mai greu decât să realizezi un raport pe baza unei interogări în modul Wizard! 90
  • 91. MODURI DE CREAREA PAGINII WEB  Crearea unei pagini Web în modul Design (introduceţi fiecare dată singur ).  Crearea unei pagini Web în modul Wizard (exact ca în cazul formularelor, se crează pe baza unei interogări sau a unei tabele).  Editarea unei pagini Web deja existentă.  Eu vă recomand să utilizaţi varianta Wizard şi să respectaţi regulile învăţate la crearea rapoartelor. 91