Documente Academic
Documente Profesional
Documente Cultură
2
Interogări - RECAPITULARE
Interogările SQL sunt în principal destinate operatiilor:
I. Extragere de informaţii din baza de date
II. Adăugare de noi înregistrări într-un tabel
III.Modificarea conţinutului înregistrărilor
IV.Ştergerea înregistrărilor dintr-un tabel.
3
A. Interogare de selecţie
4
B. Interogare cu parametru
Este o interogare care, la execuţie, afişează o casetă cu
dialog prin care se solicită introducerea unor informaţii
suplimentare. Acesta este criteriul pentru regăsirea
articolelor sau valoarea pe care vreţi s-o inseraţi într-un
câmp.
Interogările cu parametru sunt utile atunci când le
folosiţi ca bază pentru formulare şi rapoarte.
Spre exemplu, puteţi crea un raport al internărilor lunare
în secția de ortopedie bazat pe o interogare cu
parametru. Atunci când tipăriţi raportul, Microsoft
Access va afişa, mai întâi, o casetă de dialog prin care va
solicita luna pentru care doriți să tipăriți raportul.
5
C. Interogare de tip analiză încrucișată
(crosstab)
Interogarea de tip crosstab afişează valori rezumative
(totaluri, contorizări şi medii aritmetice) din unul
din câmpurile tabelei şi le grupează după un set de
factori listaţi în jos pe latura din stânga foii de calcul şi
după un alt set de factori listaţi de-a lungul părţii
superioare a foii de date.
6
D. Interogare de acțiune
Este o interogare care permite modificarea mai multor
articole într-o singură operaţie.
1. Interogare de ştergere
2. Interogare de actualizare
3. Interogare de adăugare
7
D1. Interogare de ştergere
Permite ştergerea unui grup de articole din una sau mai
multe tabele.
8
D2. Interogare de actualizare
Asigură modificarea globală a unui grup de articole din una
sau mai multe tabele.
Exemple:
puteţi mări preturile cu 10% pentru toate medicamantele
din gama antibioticelor
sau
puteţi creşte salariile cu 15% pentru persoanele dintr-o
anumită categorie.
9
D3. Interogare de adăugare
Adaugă înregistrări din diferite tabele la sfârşitul altor
tabele.
Aceste interogări sunt utile pentru:
Adăugarea câmpurilor pe baza unui criteriu.
Exemplu: este posibil ca la medicamentele comandate
și neprimite să adăugaţi numai un câmp cu telefonul
furnizorilor.
Adăugarea articolelor atunci când unele câmpuri
dintr-o tabelă nu există într-o altă tabelă.
10
E. Interogare generatoare de tabele
Creează un nou tabel din toate datele sau numai
dintr-o parte a datelor, din una sau mai multe tabele.
Se pot utiliza pentru:
Tabelele create pe baza unei interogări se pot exporta în
alte baze de date.
Crearea de rapoarte care să afişeze datele începând cu o
dată specificată.
Crearea unei tabele “istoric” care să conţină toate
articolele.
Creşterea performanţei formularelor şi rapoartelor
bazate pe interogări salvate sub formă de tabel.
11
A. Interogare de selecţie
Extragerea informaţiilor din două tabele
Folosirea comenzii SELECT pentru extragerea de
informaţii din două tabele ale aceleiaşi baze de date,
care sunt legate printr-o relaţie:
12
Există trei variante de combinare a înregistrărilor din două
tabele care sunt legate printr-o relaţie:
14
<Regula de corespondenţă> indică numele
câmpului comun al celor două tabele, în care se vor
căuta valorile identice după care să se facă potrivirea
înregistrărilor.
15
Exemplu
16
INTEROGĂRI AVANSATE
Interogare reuniune
- union query-
Acest tip de interogare combină câmpurile (coloanele)
din una sau mai multe tabele sau interogări într-un
singur câmp sau coloană din rezultatele interogării.
18
Interogare intersecţie
pass-through query
19
Interogare de definire date
-data-definition query-
20
Subinterogare - subquery
Acest tip de interogare constă dintr-o instrucţiune SQL SELECT în
interiorul unei interogări de selecţie sau de acţiune.
b. A găsi toate valorile care sunt egale cu, mai mari ca sau mai mici
decât valorile returnate de către subinterogare (folosind cuvintele
rezervate ANY, ÎN sau ALL).
21
III. CONSTRÂNGERI DE INTEGRITATE
Pentru evitarea erorilor și asigurarea integrității
datelor, Acces verifică ce date pot fi introduse într-o
bază de date.
22
1.Tipurile de date
Tipurile de date - reprezintă nivelul cel mai de jos a
procesului de verificare a intrărilor într-un câmp.
Exemple:
un câmp Number acceptă doar numere,
un câmp Date/Time acceptă doar date calendaristice în
formatul specificat,
un câmp Currency acceptă doar date monetare date,etc
23
2. Proprietățile câmpului
Proprietățile câmpului reprezintă
nivelul doi de verificare prin
restricționarea introducerii datelor la
nivel de câmp, prin:
proprietatea Size a unui câmp
restricționează intrarea datelor
prin limitarea cantității de date.
proprietatea Validation Rule
solicită valori specifice și utilizează
proprietatea Validation Text
pentru a furniza utilizatorilor un
mesaj de avertizare atunci când
Validation Rule este încălcată.
măștile de intrare se aplică tot la
nivel de câmp și forţează
utilizatorii să introducă valori într-
un mod specific.
24
Măștile de intrare
Se aplică tot la nivel de câmp și forţează utilizatorii să
introducă valori într-un mod specific.
Măștile de intrare împiedică utilizatorii să introducă date
nevalide (un nr de telefon într-un câmp de tip dată).
Exemplu: o mască de intrare pentru numere de telefon:
expresia 0000/000000 va determina afișarea în tabel a măștii
_ _ _ _/ _ _ _ _ _ _ . Cifra 0 forțează utilizatorul să introducă
o cifră între 0 și 9 . Fiecare zero indică o cifră obligatorie.
expresia „0”000/000000 va va determina afișarea în tabel a
măștii 0_ _ _/ _ _ _ _ _ _ . În acest caz, cifra “0” reprezintă un
element predefinit și va fi afișat ca și o cifră. Celelalte zerouri
forțează utilizatorul să introducă o cifră între 0 și 9.
25
3. Validarea înregistrării
Validarea înregistrării reprezintă nivelul trei de verificare
prin restricționarea introducerii datelor la nivelul întregii
înregistrări.
26
IV. Reguli de validare
O regulă de validare reprezintă o modalitate de a
restricționa intrările într-un câmp al tabelului și pot fi
folosite și ca instrumente de control dintr-un formular.
Textul de validare vă permite să furnizați un mesaj de
atenționare atunci când utilizatorii introduc date ce nu
sunt valide.
Când sunt introduse date, Access verifică dacă intrarea
încalcă o regulă de validare și dacă așa este, intrarea nu
este acceptată fiind afișat un mesaj de eroare.
27
Reguli de validare existente în Access
Regulă de validare câmp. Puteți utiliza o regulă de validare pentru a specifica un
criteriu pe care trebuie să-l îndeplinească toate valorile din câmp.
Exemplu: un câmp de tip numeric ar putea avea o regulă de validare care nu permite
introducerea de valori mai mari decât valoarea specificată. Câmpurile de tip
AutoNumber, Oject OLE, Attachment nu acceptă reguli de validare.
28
Regulă de validare înregistrare
Exemplu:
Presupunem că trebuie să gestionați stocul și medicația
prescrisă în cadrul unui spital și trebuie să aveți în vedere
data expirării produselor.
Aveți posibilitatea să definiți o regulă de validare pentru
înregistrarea care gestionează tratamentele prescrise astfel
încât să nu folosiți produse medicamentoase care sunt
expirate.
Astfel, expresia [UsingDate]<= [ExpirationDate] vă
asigură că un medic nu prescrie un medicament expirat
29
DE REȚINUT! : Puteți adăuga o regulă de validare a
câmpurilor și/sau o regulă de validare a înregistrărilor.
30
Reguli de validare câmp
1. Metoda de a impune introducerea unei valori
2. Valori implicite (Default Value)
3. Indexarea
4. Definirea regulilor pentru validare
5. Crearea unei liste de valori (lookup wizard )
31
1. Metodă de impunerea unei valori
În cadrul proprietăților unui câmp există opțiunea Required
ce impune introducerea unei valori. Este de tip logic
(Yes/No). Prin activare nu se acceptă valori nule.
32
2. Valorile implicite (default)
Valorile implicite sunt introduse din start în câmpurile
destinație în momentul adăugării unei noi înregistrări. Sunt
utile în situația în care multe din înregistrări au informații
comune (de ex. județul de domiciliu, sau data înscrierii).
33
3. Indexarea
Indexarea unei tabele reprezinta operatia prin care se
34
Indexare
ajută la mărirea vitezei de căutare
a datelor
permite ordonarea datelor
poate fi folosită în verificarea
datelor ce se repetă.
Proprietatea Index are trei valori:
NO , Yes(Duplicates Ok) respectiv
Yes(No Duplicates).
Ordonarea se observă doar dacă nu
există cheie primară.
Exemplu – proprietate activată
pentru câmpul CNP – să nu avem
valori repetate.
35
Cheia primara este considerata automat index.
Index pentru un câmp: Field Properties > setăm
proprietatea Indexed acelui câmp pe valoarea Yes(No
Duplicates).
36
Index cu mai multe câmpuri
37
Vizualizarea câmpurilor indexate
38
4. Definirea regulilor pentru validare
Este necesar să verificăm corectitudinea valorii introduse.
Aceasta se poate realiza prin folosirea regulilor de validare.
Astfel putem impune condiții asupra datelor introduse funcție
de câmpul destinație.
39
Generatorul de expresii
Pentru crearea regulilor de validare se poate folosi
generatorul de expresii.
40
Operatori pentru crearea de expresii
utilizate în validarea datelor
41
Validation rule Validation text
<>0 Introduceți o valoare diferită de zero.
>=0 Valoarea trebuie să fie mai mare sau egal cu zero.
0 sau >100 Valoarea trebuie să fie 0 sau mai mare decât 100.
BETWEEN 0 AND 1 Valoarea trebuie să fie între 0 și 1.
<#01/01/2016# Introduceți o dată anterioară anului 2016.
StrComp(UCase([NumeDeFamilie]),
Datele dintr-un câmp NumeDeFamilie trebuie scrise cu majuscule.
[NumeDeFamilie],0) = 0
>=Int(Now()) Now() returneaza Data trebuie să fie data de astăzi (preluată de la data calculatorului)
4/9/2017 1:30:42 PM
M or F Caracterele introduse pot fi M pentru masculin sau F pentru feminin.
Datele introduse trebuie să fie sub forma unei adrese de e-mail a carei
Like "[a-z]*@[a-z]*.[a-z][a-z]"
LIKE "[A-Z]*@[A-Z].[A-Z]”
extensie e formata din maxim 2 caractere care TREBUIE sa fie
LIKE "[A-Z]*@[A-Z].ro" OR
Datele introduse trebuie să fie sub forma unei adrese de e-mail cu una
"[A-Z]*@[A-Z].com" OR
din extensiile: .ro, .com sau .eu.
"[A-Z]*@[A-Z].eu"
((LIKE "*?@?*.?*") AND (NOT LIKE "*[ ,;]*")) Datele introduse trebuie să fie sub forma unei adrese de e-mail
43
Definirea unui camp calculat – Exemplul 2
44
Definirea unui camp calculat – Exemplul 3
45
III. Formatarea unui câmp
Proprietatea Format permite definirea caracteristicilor ce țin
de afişarea datelor.
Este doar pentru afişare și nu schimbă în realitate forma
datelor introduse.
46
Proprietatea FORMAT
Permite selectarea, dintr-o
listă derulantă, a unui
format standard,
predefinit, aplicabil
tipului de date ales
(exceptând tipul Text).
Opțiunea aleasă va
determina modul în care
vor fi afişate în valorile
câmpului.
47
Pentru tipul Text sau Memo
Simbol Descriere Exemplu
48
EXEMPLUL 1 - Pentru tipul Text sau Memo
49
EXEMPLUL 2 - Pentru tipul Text sau Memo
Formatarea conţine două secţiuni, despărţite de semnul “;”.
Exemplu: dacă dorim ca în lipsa existenţei informaţiei text (practic şir
de lungime 0) să avem scris “necompletat” atunci vom folosi formatul:
@;”necompletat”. Dacă nu vom introduce caractere sau vom avea o
valoare nulă atunci se va scrie “necompletat”.
Va afisa un nr de telefon
sub forma 0744/507526
sau “necompletat”
50
EXEMPLUL 3 - Pentru tipul Text sau Memo
51
Formatarea câmpurilor numerice
52
Formatarea câmpurilor numerice
Există 4 secţiuni de definire a formatului: 1 ; 2 ; 3 ; 4
1-formatul pt. numere pozitive;
2-formatul pt. numere negative;
3-formatul pentru valori 0;
4-formatul pentru valori
NULL.
54
Formatarea câmpurilor numerice - Exemplu
55
V. Măști de intrare
Măștile de intrare sunt constituite din trei părți: o parte obligatorie și două
părți opționale. Fiecare parte este separată prin punct și virgulă. Scopurile
acestor părți sunt următoarele:
Prima parte este obligatorie. Aceasta include caracterele măștii, împreună
cu substituenți și date literale, precum paranteze, puncte și cratime.
A doua parte este opțională și se referă la caracterele măștii încorporate
și la modul în care sunt stocate acestea în câmp.
Dacă a doua parte este setată la 0, caracterele sunt stocate împreună cu datele.
Dacă a doua parte este setată la 1, caracterele sunt doar afișate, nu stocate.
Când este setată la 1 acestă opțiune, se economisește spațiul de stocare al bazei
de date.
A treia parte din masca de intrare este, opțională și indică un singur
caracter sau spațiu utilizat ca substituent.
În mod implicit, Access utilizează caracterul de subliniere (_) pentru a delimita
datele de intrare. Pentru a utiliza alt caracter, introduceți-l în a treia parte a măștii
Ghilimelele forțează afișarea caracaterelor dintre ele exact așa cum sunt.
"LAC#" LAC#
Trebuie să introduceți un prefix, deoarece prima secțiune a măștii (000,
(000) 000-0000 (206) 555-0199 închisă între paranteze) utilizează cifra 0.
(100) 120/100 Afișarea valorii tensiunii arteriale sistolice și diastolice precedată de vârsta
!(999) 000/000 (_45) 140/070 pacientului (opțională).
() 180/90
Vă permite să substituiți ultimele patru cifre ale unui nr. telefon de tip
(000) AAA-AAAA (206) 555-TELE S.U.A cu litere. Utilizarea cifrei 0 în secțiunea de prefix, determină ca
prefixul să fie obligatoriu.
-20 Orice număr pozitiv sau negativ, cu maxim patru caractere și fără
#999 separator de mii sau zecimale.
2000
O combinație de litere obligatorii (L) și opționale (?) și numere obligatorii
(0). Semnul > obligă toți utilizatorii să introducă literele cu majusculă.
GREWNGR339M3 Pentru a utiliza o mască de intrare de acest tip, trebuie să setați tipul de
>L????L?000L0
MAS R 452B7 date din câmpul de tabele la Text sau Memo.