Tabelul este un obiect Microsoft Access folosit pentru a memora date. Fiecare tabel contine informatii despre un singur obiect, cum ar fi produse sau materiale. Tabelul este format din campuri (coloane), care memoreaza diferite tipuri de date (de exemplu, denumirea produselor, pretul unitar, etc.) si inregistrari (randuri), care colecteaza toate informatiile despre o anumita instanta a subiectului, cum ar fi toate informatiile despre un anumit produs.
Microsoft Access furnizeaza doua cai de creare a unui tabel: pornind de la zero si din date existente.
Sunt trei metode de creare a tabelelor pornind de la zero:
a) folosind Table Wizard - se creeaza tabele pornind de la tabele sablon furnizate de Microsoft Access;
b) folosind Datasheet View
c) folosind Design View
Pornind de la date existente, sunt doua metode de creare a tabelelor:
a) prin importul unui tabel din alta baza de date (de tip Microsoft Access sau alt tip de baza de date);
b) prin executia unei interogari de tip "Make-table" se creeaza un tabel din datele unuia sau mai multor tabele.
Table Wizard este un instrument pentru crearea tabelelor pornind de la o colectie de tabele predefinite.
In fereastra Database se executa click pe butonul Tables din bara de obiecte, apoi se executa click pe instrumentul New (se afiseaza caseta de dialog New Table
Daca se executa dublu-click pe optiunea Create table by using wizard, se afiseaza caseta de dialog Table Wizard (I) de la pasul 2.
Se selecteaza Table Wizard din lista si se executa click pe OK (se afiseaza caseta de dialog Table Wizard (I)
Se selecteaza unul din butoanele de optiune Personal sau Business pentru a stabili categoria de tabele (pentru uz personal sau comercial). In lista Sample Tables se afiseaza tabelele model pentru categoria selectata.
Se selecteaza numele unui tabel din lista. In lista Sample Fields se afiseaza campurile propuse pentru tabelul selectat.
Campurile care vor face parte din structura tabelului trebuie transferate din lista Sample Fields in lista Fields in my new table folosind butoanele (transfera campul selectat) si (transfera toate campurile, fara selectare prealabila). Campurile pot fi transferate si facand dublu-click pe numele lor.
Fiecare camp din lista Fields in my new table poate fi redenumit: se selecteaza campul si se executa click pe Rename Field (se afiseaza caseta de dialog Rename field
In caseta de text Rename field se introduce noul nume al campului si se executa click pe OK (se revine in caseta de dialog Table Wizard
Se executa click pe Next (se afiseaza caseta de dialog Table Wizard (II)
In caseta de text What do you want to name your table se introduce un nume pentru tabelul care se va crea (sau se accepta numele propus de Microsoft Access).
Se selecteaza unul din butoanele de optiune:
Yes, set a primary key for me, caz in care Table Wizard va crea cheia principala a tabelului;
No, I'll set the primary key, caz in care utilizatorul va crea, ulterior, cheia principala a tabelului.
Se executa click pe Next (se afiseaza caseta de dialog Table Wizard (III)
Se selecteaza unul din butoanele de optiune:
Modify the table design, caz in care tabelul va fi deschis in modul de afisare "Design" pentru a fi modificat;
Enter data directly into the table, caz in care tabelul va fi deschis in modul de afisare "Datasheet" pentru a introduce date;
Enter data into the table using a form the wizard create for me, caz in care va fi afisata o forma pentru a introduce date in tabel.
Se executa click pe Finish
Observatie
Daca in baza de date in care se creeaza tabelul cu Table Wizard exista tabele, se va afisa o caseta de dialog (Table Wizard) pentru legarea tabelei care se creeaza cu alte tabele deja create.
In mod Datasheet View se realizeaza doua lucruri: se creeaza tabelul si se introduc date in el.
Se executa click pe instrumentul New (butonul Tables din bara de obiecte trebuie sa fie selectat). Se afiseaza caseta de dialog New Table
Se selecteaza Datasheet View din lista apoi se executa click pe OK (se afiseaza fereastra Table in modul de afisare Datasheet, cu 10 de coloane si 21 de randuri).
Metoda alternativa: se executa dublu-click pe comanda rapida Create table by entering data din fereastra Database
Se pot redenumi, sterge si insera coloane.
a) Redenumirea unei coloane se poate face in doua feluri:
se executa dublu-click pe antetul coloanei si se tasteaza noul nume;
se selecteaza coloana sau o celula din coloana, se alege Format Rename Column si se tasteaza noul nume.
b) Stergerea unei coloane:
se selecteaza coloana sau o celula din coloana si se alege Edit Delete Column
c) Inserarea unei coloane:
se alege Insert Column (coloana va fi inserata inaintea coloanei selectate).
Se introduc (optional) date in tabel.
Se salveaza tabelul cu una din urmatoarele metode:
a) cu butonul Close de inchidere a ferestrei Table
b) cu comanda Close din meniul de control al ferestrei Table
c) cu File Save
Daca se alege metoda a) sau b), se afiseaza caseta mesaj de confirmare a salvarii:
Daca se executa click pe OK, se afiseaza caseta de dialog Save As
Daca se alege metoda c), se afiseaza caseta de dialog Save As
In caseta de text Table Name se introduce numele tabelului si se executa click pe OK. Intrucat nu s-a precizat o cheie principala pentru tabel, se afiseaza caseta mesaj de mai jos:
Daca se executa click pe Yes Table Wizard va insera in tabel un camp de tip AutoNumber, cu numele ID, pe care-l va declara cheie principala.
Daca se executa click pe No, cheia principala va fi creata ulterior de catre utilizator.
Observatii
Implicit, toate coloanele din tabel sunt de tip Text, cu lungimea de 50 de caractere.
Daca se introduc date in tabel, inainte de salvarea lui, tipul fiecarui camp va fi in concordanta cu tipul datelor introduse in fiecare coloana (coloana in care se introduc numere va fi de tip Number, cea in care se introduc date calendaristice va fi de tip Date/Time, etc.) iar tabelul va fi salvat numai cu coloanele care contin date, chiar daca numele coloanelor n au fost modificate.
Daca se modifica numele coloanelor dar nu se introduc date in tabel, acesta va fi salvat numai cu coloanele carora li s-a schimbat numele.
Daca nu se schimba numele nici unei coloane si nu se introduc date in tabel, acesta va fi salvat cu o singura coloana (Field1
Este cea mai complexa metoda de creare a unui tabel. In modul Design poate fi modificata structura unui tabel (indiferent de modul in care a fost creat).
Se executa click pe instrumentul New (cu butonul Tables selectat). Se afiseaza caseta de dialog New Table
Se selecteaza Design View din lista apoi se executa click pe OK (se afiseaza fereastra Design
Metoda alternativa: se executa dublu-click pe comanda rapida Create table in Design view din fereastra Database
Fereastra Design are doua sectiuni:
a) sectiunea superioara (grila de proiectare) - folosita pentru a introduce:
numele campurilor (in coloana Field Name
tipul de data pentru fiecare camp (in coloana Data Type
o descriere (optional) pentru fiecare camp (in coloana Description
b) sectiunea inferioara (Field Properties) - folosita pentru a seta proprietatile campurilor. Utilizatorul poate seta o parte sau toate proprietatile campurilor din cele doua tab-uri (General si Lookup) o data cu crearea tabelului sau ulterior crearii acestuia.
Se introduc numele campurilor in coloana Field Name, respectand regulile de numire a obiectelor in Microsoft Access (vezi "Reguli de numire a obiectelor in Microsoft Access").
Pentru fiecare camp introdus in coloana Field Name, in coloana Data Type se selecteaza tipul de data corespunzator (din lista asociata).
In coloana Description poate fi introdusa o scurta descriere a fiecarui camp. Textul introdus in aceasta coloana se va afisa in bara de stare a ferestrei Microsoft Access atunci cand cursorul se afla pe campul respectiv (cand tabelul este deschis in modul de afisare Datasheet sau cand este afisata o forma care are ca sursa de date tabelul respectiv).
Se seteaza proprietatile campurilor in sectiunea Field Properties
Se salveaza tabelul (la fel ca salvarea tabelului creat in mod Datasheet
Observatie
Daca nu s-a precizat o cheie principala pentru tabel, se afiseaza caseta mesaj de mai jos:
Daca se executa click pe Yes, Microsoft Access va insera in tabel un camp de tip AutoNumber, cu numele ID, pe care-l va declara cheie principala.
Daca se executa click pe No, cheia principala va fi creata ulterior de catre utilizator.
Numele definite de utilizator trebuie sa fie sugestive si trebuie sa respecte urmatoarele restrictii:
a. lungimea numelui nu poate depasi 64 de caractere, incluzand litere, numere, spatii si caractere speciale, excluzand caracterele . ! ' [ ].
b. un nume nu trebuie sa inceapa cu caracterul spatiu sau cu un caracter de control corespunzator codurilor ASCII 0 - 31.
Desi spatiul este permis in interiorul numelor, folosirea lui poate crea probleme in instructiuni SQL sau VBA.
In Microsoft Access sunt disponibile noua tipuri de date pentru campurile tabelelor:
Tip de data |
Folosire |
Dimensiune |
Text |
Date alfanumerice si numere care nu vor fi folosite in calcule |
Pana la 255 bytes |
Memo |
Texte lungi (peste 255 de caractere) |
Pana la 64000 bytes |
Number |
Numere de tip: intreg, intreg lung, virgula mobila cu simpla si dubla precizie |
1, 2, 4 sau 8 bytes |
Date/Time |
Date calendaristice si ore |
8 bytes |
Currency |
Date monetare cu precizie de patru zecimale |
8 bytes |
AutoNumber |
Chei principale pentru tabele. Este generata cate o valoare unica pentru fiecare inregistrare din tabel. |
4 bytes |
Yes/No |
Valori booleene (logice) |
1 bit |
OLE Object |
Imagini, grafice sau alte obiecte OLE din aplicatii Windows |
Pana la aprox. 1GB |
Hyperlink |
Adresa de hiperlegatura (text sau combinatie de text si numere) |
Pana la 2048 caractere |
Observatii
Tipul de data pentru un camp se alege in concordanta cu natura datelor care vor fi memorate in campul respectiv. In unele situatii, campurile in care se memoreaza numere, dar care nu intra in operatii de calcul, pot fi declarate de tip Text. In acest fel, se poate obtine o economie de memorie dar se va pierde din viteza in cazul in care campurile respective se indexeaza (indexarea este mai rapida pentru campuri numerice) si, de asemenea, s-ar putea ca sortarea sa nu convina, intrucat valorile numerice din campurile de tip Text sunt sortate alfabetic.
Field Size
Proprietatea Field Size specifica lungimea campurilor de tip Text si subtipul de date folosit de campurile Number
Pentru campuri de tip Text, proprietatea Field Size are valoarea implicita de 50 de caractere si poate fi setata la o valoare cuprinsa intre 0 si 255 de caractere. Totusi, intr-un camp de tip Text poate fi introdus un text mai lung de 255 de caractere, impartindu-l pe mai multe randuri (se apasa CTRL ENTER pentru a trece pe randul urmator).
Pentru campuri de tip Number, proprietatea Field Size poate avea una din urmatoarele valori (se selecteaza din lista asociata):
Byte, intreg pe un singur byte (cu valori intre 0 si 255);
Integer, intreg pe 2 bytes (cu valori intre -32768 si +32767);
Long Integer, intreg pe 4 bytes (cu valori intre -2147483648 si +2147483647);
Single, numar in virgula mobila cu simpla precizie pe 4 bytes (cu valori intre -3.4x1038 si +3.4x1038);
Double, numar in virgula mobila cu dubla precizie pe 8 bytes (cu valori intre ‑1.797x10308 si+1.797x10308);
Decimal, numar zecimal pe 14 bytes (cu valori intre -10-28 si 1028-1).
Format
Proprietatea Format stabileste modul in care sunt afisate sau tiparite datele. Optiunile de formatare sunt in concordanta cu tipul de date. Pentru unele tipuri de date se pot alege formate standard, iar pentru altele se pot crea formate particularizate (pentru campul de tip OLE Object nu se aplica proprietatea Format
Pentru campuri de tip Text si Memo, se pot crea formate particularizate folosind urmatoarele caractere de formatare:
Caracter de formatare |
Descriere |
In pozitia respectiva se afiseaza, obligatoriu, un caracter sau un spatiu. |
|
& |
In pozitia respectiva nu este obligatoriu sa existe un caracter sau un spatiu. |
> |
Transforma toate caracterele din camp in majuscule. |
< |
Transforma toate caracterele din camp in minuscule. |
Spatiu |
Afiseaza un spatiu in pozitia respectiva. |
Afiseaza in pozitia respectiva. |
|
Afiseaza in pozitia respectiva. |
|
Afiseaza in pozitia respectiva. |
|
Afiseaza in pozitia respectiva. |
|
Afiseaza in pozitia respectiva. |
|
"text" |
Afiseaza textul respectiv (textul trebuie sa fie incadrat de ghilimele). |
Afiseaza caracterul care urmeaza dupa , chiar daca acesta este un caracter de formatare. |
|
Precede caracterul de umplere (trebuie folosit impreuna cu alte caractere de formatare). |
|
Forteaza umplerea formatului incepand cu partea stanga a acestuia (implicit, formatul se umple de la dreapta acestuia). |
|
culoare] |
Schimba culoarea de afisare a caracterelor in culoarea specificata (Black Blue Cyan Magenta Yellow si White). Numele culorii se precizeaza intre paranteze drepte impreuna cu alte caractere de formatare. |
Observatie
Formatele particularizate pentru campurile Text si Memo pot avea una sau doua sectiuni (separate prin ;): prima contine formatul pentru text iar a doua contine formatul pentru valori Null si pentru sir de lungime zero. De exemplu, daca intr-un camp trebuie sa se afiseze cuvantul "Lipsa" cand campul este necompletat, proprietatea Format se seteaza cu formatul particularizat @;"Lipsa". Simbolul @ determina afisarea textului din camp iar a doua sectiune determina afisarea cuvantului "Lipsa", daca in camp este o valoare Null sau un sir de lungime zero.
Pentru campuri de tip Number Currency si AutoNumber, se pot alege optiuni de formatare standard sau pot fi create formate particularizate. Optiunile standard de formatare sunt:
General Number, afiseaza numarul asa cum a fost introdus;
Currency, foloseste separatorul de mii, iar pentru numere negative, simbol monetar si zecimal si numar de zecimale respecta setarile specificate in Regional Settings din Control Panel
Fixed, afiseaza cel putin o cifra, iar pentru numere negative, simbol monetar si zecimal si numar de zecimale respecta setarile specificate in Regional Settings din Control Panel
Standard, foloseste separatorul de mii, iar pentru numere negative, simbol zecimal si numar de zecimale respecta setarile specificate in Regional Settings din Control Panel
Percent, inmulteste valoarea cu 100 si adauga semnul procent ( ), iar pentru numere negative, simbol zecimal si numar de zecimale respecta setarile specificate in Regional Settings din Control Panel
Scientific, foloseste notatia stiintifica (exponentiala).
Pentru realizarea formatelor particularizate se folosesc simbolurile:
Caracter de formatare |
Descriere |
Inlocuitor (substituent) de cifra. Afiseaza o cifra daca in pozitia respectiva exista una, sau 0 daca in pozitia respectiva nu exista o cifra. |
|
Inlocuitor (substituent) de cifra. Afiseaza o cifra daca in pozitia respectiva exista una, sau nimic daca in pozitia respectiva nu exista o cifra. |
|
Afiseaza caracterul in pozitia respectiva. |
|
Valoarea este inmultita cu 100 si este adaugat semnul procent ( |
|
Afiseaza punctul zecimal in pozitia respectiva. |
|
Separator de mii. |
|
E- sau e- |
Notatie stiintifica cu semnul minus (-) pentru exponenti negativi si fara semn pentru exponenti pozitivi. |
E+ sau e+ |
Notatie stiintifica cu semnul minus (-) pentru exponenti negativi si cu semnul plus (+) pentru exponenti pozitivi. |
Observatie
Un format particularizat pentru campuri numerice poate avea pana la patru sectiuni, despartite prin punct si virgula (;). Fiecare sectiune trebuie sa contina formatul pentru un anumit tip de numar. Astfel, prima sectiune va contine formatul pentru numere pozitive, a doua pentru numere negative, a treia pentru valori zero, iar a patra pentru valori Null
Exemplu
#,##0.00[Green];(#,##0.00)[Red];'Zero';'Null'
Pentru campuri de tip Date/Time, se pot alege optiuni de formatare standard sau pot fi create formate particularizate. Optiunile standard de formatare sunt:
General Date, formatul implicit. Daca valoarea este numai o data calendaristica, ora nu este afisata; daca valoarea este numai ora, data calendaristica nu este afisata. Aceasta setare este o combinatie a setarilor Short Date si Long Time (exemplu: 6/19/94 5:34:23 PM).
Long Date, acelasi cu setarea Long Date din caseta de dialog Regional Settings din Control Panel (exemplu: Sunday, June 19, 1994).
Medium Date (exemplu: 19-Jun-94).
Short Date, acelasi cu setarea Short Date din tab-ul Date din caseta de dialog Regional Settings din Control Panel (exemplu: 6/19/1994).
Observatie: Setarea Short Date presupune ca datele intre 1/1/00 si 12/31/29 apartin secolului 21 (anii intre 2000 si 2029). Datele intre 1/1/30 si 12/31/99 sunt presupuse a fi in secolul 20 (anii intre 1/1/30 si 12/31/99).
Long Time, acelasi cu setarea din tab-ul Time din caseta de dialog Regional Settings din Control Panel (exemplu: 5:34:23 PM).
Medium Time (exemplu: 5:34 PM).
Short Time (exemplu: 17:34).
Pentru crearea formatelor particularizate se folosesc simbolurile:
Caracter de formatare |
Descriere |
M |
Luna din an prin una sau doua cifre (1 sau 12). |
Mm |
Luna din an prin doua cifre (01 sau 12). |
Mmm |
Primele trei litere din luna (Jan pana la Dec). |
mmmm |
Numele complet al lunii (January pana la December). |
D |
Ziua din luna prin una sau doua cifre, dupa cum e necesar (1 sau 31). |
Dd |
Ziua din luna prin doua cifre (01 sau 31). |
Ddd |
Primele trei litere din zi (Sun pana la Sat). |
Dddd |
Numele intreg al zilei (Sunday pana la Saturday). |
Y |
Numarul zilei din an (1 pana la 366). |
Yy |
Ultimele doua cifre din an (01 pana la 99). |
Yyyy |
Anul pe patru cifre (0100 pana la 9999). |
H |
Ora prin una sau doua cifre (0 pana la 23). |
Hh |
Ora prin doua cifre (00 pana la 23). |
N |
Minute in valorile de ore prin una sau doua cifre (0 pana la 59). |
Nn |
Minute in valorile de ore prin doua cifre (00 pana la 59). |
S |
Secunde prin una sau doua cifre (0 pana la 59). |
Ss |
Secunde prin doua cifre (00 pana la 59). |
AM/PM |
Ceasul de 12 ore cu literele mari 'AM' sau 'PM'. |
am/pm |
Ceasul de 12 ore cu literele mici 'am' sau 'pm'. |
A/P |
Ceasul de 12 ore cu literele mari 'A' sau 'P'. |
a/p |
Ceasul de 12 ore cu literele mici 'a' sau 'p'. |
Separator pentru ore, minute si secunde. |
|
Separator de date calendaristice. |
Pentru campuri de tip Yes/No, optiunile standard de formatare sunt urmatoarele:
Yes/No, implicit;
True/False
On/Off
Decimal Places
Proprietatea Decimal Places permite precizarea numarului de zecimale cu care sa se afiseze valorile numerice (intre 0 si 15 zecimale), numai pentru campurile Number si Currency
Setarea implicita Auto face ca numerele cu formatele Currency Fixed Standard si Percent sa se afiseze cu doua zecimale.
Input Mask
Proprietatea Input Mask este folosita pentru a preciza un sablon de introducere, format dintr-o secventa de caractere speciale, care controleaza modul cum vor fi introduse datele intr‑un camp din tabel sau intr-un control text box dintr-o forma. Proprietatea Input Mask este mostenita la nivel de interogare si forma, astfel incat daca proprietatea se seteaza pentru un camp dintr-un tabel pe baza caruia se creeaza o forma, caseta de text asociata campului respectiv va avea aceiasi proprietate Input Mask. Proprietatea Input Mask este utila in special pentru campuri de tip Text si Date/Time. Pentru campurile numerice este mai utila proprietatea Format, care controleaza modul de afisare a valorilor din campuri.
Pentru campuri de tip Text si Date/Time pot fi create sabloane de introducere folosind Input Mask Wizard
Pentru crearea sabloanelor de introducere se folosesc urmatoarele caractere speciale:
Caracter |
Descriere |
In pozitia caracterului, obligatoriu trebuie introdusa o cifra (semnele + si - nu sunt acceptate). |
|
In pozitia caracterului, poate fi introdusa o cifra, dar nu obligatoriu (semnele + si - sunt acceptate) |
|
In pozitia caracterului, poate fi introdusa o cifra sau un spatiu, dar nu obligatoriu (semnele + si - sunt acceptate). |
|
L |
In pozitia caracterului, obligatoriu trebuie introdus un caracter alfabetic. |
In pozitia caracterului, poate fi introdus un caracter alfabetic, dar nu obligatoriu. |
|
A |
In pozitia caracterului, obligatoriu trebuie introdus un caracter alfabetic sau o cifra. |
A |
In pozitia caracterului, poate fi introdus un caracter alfabetic sau o cifra, dar nu obligatoriu. |
& |
In pozitia caracterului, obligatoriu trebuie introdus un caracter, oricare ar fi el. |
C |
In pozitia caracterului, este acceptat orice caracter, dar se poate sari peste aceasta pozitie. |
Punctul zecimal (in functie de setarea din Regional Settings din Control Panel |
|
Separator de mii (in functie de setarea din Regional Settings din Control Panel |
|
Separatori pentru data calendaristica si ora (in functie de setarea din Regional Settings din Control Panel |
|
< |
Transforma caracterele din dreapta in minuscule. |
> |
Transforma caracterele din dreapta in majuscule. |
Sablonul se va umple de la dreapta la stanga. |
|
Caracterul imediat urmator se va afisa ca un literal (nu va fi considerat caracter special de sablon). |
Observatie
Un sablon de introducere poate avea pana la trei sectiuni, separate prin punct si virgula:
prima sectiune contine caracterele sablonului;
a doua sectiune specifica daca Microsoft Access memoreaza data cu simbolurile de sablon (valoarea 0) sau fara simbolurile de sablon (valoarea 1 sau necompletat).
a treia sectiune contine un singur caracter pe care Microsoft Access il foloseste pentru a indica pozitia unde va fi introdus caracterul curent. Caracterul implicit este (_) iar pentru a preciza drept caracter un spatiu, acesta se incadreaza intre ghilimele (
Caption
Proprietatea Caption poate fi folosita pentru a introduce o descriere completa a campului din tabel, pe care Microsoft Access o va afisa ca eticheta in forma sau in raport, in locul numelui de camp. Setarea proprietatii este utila mai ales in cazul in care numele campului nu contine spatii inglobate. Lungimea maxima a sirului de caractere pentru proprietatea Caption este de 2048 de caractere.
Default Value
Proprietatea Default Value este folosita pentru a specifica o valoare care va fi memorata automat in camp atunci cand este creata o inregistrare noua. Proprietatea Default Value poate fi setata pentru toate tipurile de campuri, cu exceptia campurilor AutoNumber si OLE Object. Pentru campuri numerice, valoarea prestabilita pentru proprietatea Default Value este 0 iar pentru campuri Yes/No este False. Pentru campuri Date/Time, proprietatea Default Value poate fi setata cu o expresie, de exemplu cu Date() Setarea proprietatii Default Value pentru un camp nu are nici un efect asupra datelor existente in campul respectiv. Totusi, valoarea curenta a campului poate fi inlocuita cu valoarea implicita daca se apasa CTRL ALT SPACEBAR
Validation Rule
Proprietatea Validation Rule se seteaza cu o expresie care trebuie sa fie adevarata ori de cate ori se introduc date sau se modifica date in campul respectiv. In acest fel, utilizatorul este impiedicat sa introduca in acel camp o valoare care nu respecta regula (restrictia) precizata. Setand proprietatea Validation Rule pentru campul din tabel, aceasta va fi mostenita si intr-o interogare/forma creata pe baza acestui tabel. In forma poate fi specificata, pentru acelasi camp, o regula de validare mult mai restrictiva, dar care nu poate inlocui regula de validare din tabel.
In general, o regula de validare este o expresie formata dintr-un operator si o valoare de comparare. Daca nu se specifica un operator, Microsoft Access presupune operatorul egal (=). Pot fi specificate expresii complexe prin folosirea operatorilor logici OR si AND. Valorile de comparare de tip text, trebuie incadrate de ghilimele (de exemplu: "Campulung" OR "Curtea de Arges"). Valorile de comparare de tip data calendaristica trebuie incadrate de caractere (de exemplu: #03/12/99#).
Observatii
Regula de validare precizata pentru un camp este verificata ori de cate ori cursorul paraseste campul respectiv.
Daca in campul pentru care s-a setat proprietatea Validation Rule se introduce o valoare care nu respecta regula precizata, Microsoft Access afiseaza propriul mesaj de eroare. Pentru afisarea unui mesaj de eroare al utilizatorului, trebuie setata proprietatea Validation Text
Lungimea expresiei cu care se seteaza proprietatea Validation Rule nu poate depasi 2048 de caractere.
In expresia de validare pentru un camp nu se poate face referire la nume de campuri.
Microsoft Access verifica automat concordanta dintre valoarea introdusa intr-un camp si tipul de data precizat pentru acel camp (de exemplu: Microsoft Access nu permite introducerea unui text intr-un camp declarat numeric).
Pentru construirea expresiilor de validare pot fi folosite urmatoarele simboluri (operatori) de comparare:
Simbol (operator) |
Descriere |
< |
Mai mic |
<= |
Mai mic sau egal |
> |
Mai mare |
>= |
Mai mare sau egal |
Egal |
|
IN |
Test pentru "egal cu" pentru toate elementele unei liste (lista trebuie incadrata de paranteze rotunde) |
BETWEEN |
Test pentru doua valori de comparat: valoarea cea mai mica si valoarea cea mai mare, separate prin operatorul AND |
LIKE |
Testeaza daca un camp Text sau Memo se potriveste cu un sablon. In sabloanele operatorului LIKE pot fi folosite si caracterele: (orice, un singur caracter), (orice, un grup de caractere) si (orice, o singura cifra). |
Validation Text
Proprietatea Validation Text poate fi setata cu un text (lungime maxima de 255 de caractere) pe care Microsoft Access il va afisa intr-o caseta mesaj ori de cate ori regula de validare nu este respectata. Daca nu se seteaza proprietatea Validation Text si regula de validare este incalcata, Microsoft Access va afisa o caseta mesaj proprie. In acest caz, mesajul de eroare poate sa nu fie suficient de clar iar uneori include expresii cu caracter tehnic, neavand o semnificatie pentru utilizator.
Required
Proprietatea Required se foloseste pentru a specifica daca o valoare este ceruta (obligatorie) intr‑un camp. Daca proprietatea este setata pe Yes pentru un camp, cand se introduc date intr-o inregistrare, este obligatoriu sa se introduca o valoare in campul respectiv (valoarea lui nu poate fi Null). Pentru a se permite valoarea Null intr-un camp, proprietatea se seteaza pe No
Observatii
Proprietatea Required nu se foloseste pentru campuri AutoNumber
Pentru campul/campurile din componenta cheii principale, nu trebuie setata proprietatea Required pe Yes, intrucat neacceptand valori Null, cheile principale trebuie obligatoriu completate.
Daca un camp numeric are proprietatea Default Value setata pe 0 si Required setata pe Yes, utilizatorul nu este obligat sa introduca o valoare in campul respectiv.
Allow Zero Length
Proprietatea Allow Zero Length se foloseste pentru a specifica daca un sir de lungime zero ( ) este o valoare valida pentru un camp. Daca proprietatea Allow Zero Length se seteaza pe Yes, sirul de lungime zero ( ) este o valoare valida pentru camp. Proprietatea poate fi setata numai pentru campuri Text Memo si Hyperlink
Observatie
Pentru ca Microsoft Access sa memoreze un sir de lungime zero in locul unei valori Null atunci cand campul se lasa necompletat, proprietatile AllowZeroLength si Required se seteaza pe Yes
Indexed
Prin indexare creste viteza de acces la inregistrarile unui tabel. Proprietatea Indexed poate fi folosita numai pentru campuri Text Number Date/Time Currency si AutoNumber. Se poate stabili ca valorile din campul indexat sa fie unice pentru intregul tabel (proprietatea Indexed se seteaza pe Yes (No Duplicates)) sau nu (proprietatea Indexed se seteaza pe Yes (Duplicates OK)
Observatii
Proprietatea Indexed creeaza indecsi pe un singur camp. Pentru a crea indecsi pe mai multe campuri, se foloseste comanda Indexes din meniul View
Daca cheia principala dintr-un tabel este formata dintr-un singur camp, Microsoft Access seteaza automat proprietatea Indexed, pentru campul respectiv, pe Yes (No Duplicates)
Campurile ale caror nume incep cu caracterele "code", "num", "ID" sau "key" sunt indexate automat (proprietatea Indexed este setata automat pe Yes(Duplicates OK)
New Values
Proprietatea New Values se aplica numai campurilor AutoNumber. Valoarea prestabilita a proprietatii este Increment, care genereaza cate o valoare noua, incrementata cu 1, pentru fiecare inregistrare noua. Daca proprietatea New Values se seteaza pe Random, pentru fiecare inregistrare noua va fi generata cate o valoare aleatoare Long Integer
Unicode Compression
Proprietatea Unicode Compression se aplica numai campurilor Text Memo si Hyperlink. Valoarea prestabilita a proprietatii este Yes care memoreaza fiecare caracter din alfabetul latin intr-un singur byte (comprimare). La regasirea datelor (incarcare), Microsoft Access le decomprima.
Observatie
Sistemul Unicode necesita doi bytes pentru a memora fiecare caracter. Folosirea lui face ca sa nu mai fie necesara specificarea paginilor de cod pentru limbile Europei de Est si a seturilor de caractere dublu octet pentru limbile tarilor din Asia.
Display Control
Proprietatea Display Control se foloseste pentru a specifica tipul de control implicit care va fi folosit pentru a afisa un camp. Proprietatea contine o lista cu controalele disponibile pentru campul selectat. Pentru campuri Text si Number, proprietatea poate fi setata pe Text Box List Box, sau Combo Box. Pentru campuri Yes/No, proprietatea poate fi setata pe Check Box Text Box, sau Combo Box. Daca pentru un camp se foloseste optiunea Lookup Wizard din coloana Data Type, proprietatea Display Control este setata automat pe Combo Box
Row Source Type
Proprietatea Row Source Type se seteaza numai daca proprietatea Display Control a fost setata pe List Box sau Combo Box, pentru a indica faptul ca lista valorilor valide provine dintr-un tabel/interogare (se seteaza Table/Query), dintr-o lista de valori precizate de utilizator (se seteaza Value List), sau dintr-o lista de nume de campuri din alt tabel (se seteaza Field List
Row Source
In functie de setarea proprietatii Row Source Type, proprietatea Row Source poate fi setata dupa cum urmeaza:
Row Source Type are setarea: |
Row Source se seteaza cu: |
Table/Query |
Numele unui tabel sau al unei interogari. |
Value List |
O lista de elemente separate prin punct si virgula (" "). Daca elementul (text) este format dintr-un singur cuvant, poate fi introdus fara a fi incadrat de ghilimele; daca elementul este format din mai multe cuvinte, obligatoriu va fi incadrat de ghilimele. |
Field List |
Numele unui tabel sau al unei interogari. |
Bound Column
Atunci cand proprietatea Display Control pentru un camp este Combo Box sau List Box iar listele de elemente ale acestora au mai multe coloane, proprietatea Bound Column specifica numarul coloanei din care vor fi memorate valorile in camp atunci cand se selecteaza un element din lista. Proprietatea Bound Column setata pe 1 furnizeaza valorile din prima coloana, setata pe 2 furnizeaza valorile din a doua coloana, s.a.m.d. Indiferent de valoarea proprietatii Bound Column (pentru un control Combo Box), in caseta de text a controlului se va afisa valoarea din prima coloana care are latimea mai mare decat zero, atunci cand se selecteaza un element din lista. Daca proprietatea Bound Column se seteaza pe 0, valoarea furnizata (si memorata in camp) reprezinta pozitia in lista a elementului selectat (primul element din lista are pozitia 0, al doilea 1, s.a.m.d.). Pentru un control Combo Box sau List Box cu o singura coloana, proprietatea Bound Column se seteaza pe 1.
Column Count
Proprietatea Column Count se foloseste pentru a specifica numarul de coloane afisate intr‑un control List Box sau in lista unui control Combo Box (numai aceste coloane pot fi folosite in proprietatea Bound Column sau in cod VBA). Valorile permise pentru aceasta proprietate sunt intre 1 si numarul total de campuri din tabelul/interogarea care furnizeaza elementelor pentru controlul List Box sau Combo Box
Column Heads
Proprietatea Column Heads se foloseste pentru a afisa un rand de antete de coloana in controale Combo Box sau List Box. Textul antetelor este dat de proprietatea Caption a campurilor, sau daca aceasta nu este setata, de numele campurilor. Proprietatea poate fi setata fie pe Yes (controlul va afisa antete de coloana), fie No (controlul va afisa antete de coloana).
Column Widths
Proprietatea Column Widths se foloseste pentru a specifica latimea fiecarei coloane din controalele Combo Box sau List Box cu mai multe coloane. Latimile coloanelor se specifica in inches sau in centimetri, in functie de sistemul de unitati de masura (U.S. sau Metric) selectat in caseta Measurement System (tab-ul Number) din caseta de dialog Regional Settings, din Control Panel. Proprietatea. ColumnWidths poate fi setata cu o valoare intre 0 si 22 inches pentru fiecare coloana, setarea implicita fiind de 1 inch (2.54 cm). Pentru a separa latimile coloanelor, se foloseste caracterul punct si virgula (" ") sau separatorul de lista selectat in caseta List Separator (tab-ul Number) ) din caseta de dialog Regional Settings din Control Panel
Valoarea 0 pentru latimea unei coloane ascunde coloana.
List Rows
Proprietatea List Rows se foloseste pentru a specifica numarul de randuri care vor fi afisate in lista controlului Combo Box. Proprietatea List Rows poate fi setata cu o valoare intre 1 si 255, setarea implicita fiind 8. Daca numarul de elemente depaseste numarul specificat prin proprietatea List Rows, in partea dreapta a listei se afiseaza o bara verticala de scroll.
List Width
Proprietatea List Width se foloseste pentru a specifica latimea listei unui control Combo Box. Valoarea prestabilita Auto dimensioneaza latimea listei cat latimea controlului Combo Box. Pentru ca latimea listei sa permita afisarea tuturor coloanelor care au latimea mai mare decat 0, valoarea proprietatii List Width trebuie sa fie egala cu suma latimilor coloanelor precizate in proprietatea Column Widths. Unitatea de masura pentru List Width se specifica in inches sau in centimetri, in functie de sistemul de unitati de masura (U.S. sau Metric) selectat in caseta Measurement System (tab-ul Number) din caseta de dialog Regional Settings, din Control Panel
Limit To List
Atunci cand proprietatea Limit To List se seteaza pe Yes, utilizatorul este obligat sa introduca in campul respectiv numai valori care se afla in lista controlului Combo Box. Daca proprietatea Limit To List se seteaza pe No, in camp pot fi introduse si valori care nu se afla in lista controlului Combo Box
Un camp de lookup (cautare) este un camp ale carui valori sunt furnizate, prin intermediul unui control Combo Box, de valorile unui camp dintr-un tabel/interogare sau dintr-o lista de valori furnizate de utilizator.
In cadrul acestui proces, se folosesc doua tabele: tabelul in care se creeaza campul, considerata tabel secundar (dependent) iar campul care se creeaza se numeste cheie externa si tabelul din care se preiau valorile pentru camp, considerat tabel principal, iar campul din care se preiau valorile este cheia principala.
Se selecteaza tabelul in fereastra Database si se executa click pe instrumentul Design (se deschide tabelul in modul de afisare Design
Se executa click pe butonul de extindere a listei Data Type pentru campul respectiv (pentru camp s-au precizat anterior Field Name Data Type si Field Size) si se selecteaza Lookup Wizard (se afiseaza caseta de dialog Lookup Wizard (I)
Se selecteaza butonul de optiune I want the lookup column to look up the value in a table or query
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (II)
Se selecteaza tabelul/interogare care contine inregistrarile care vor fi afisate in lista de lookup.
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (III)
Se aleg campurile care vor fi afisate in lista de lookup, prin transferarea lor din lista Available Fields in lista Selected Fields (prin dublu-click pe numele campurilor sau prin click pe butonul - mai intai se selecteaza campul, sau pe butonul - transfera toate campurile fara selectare prealabila).
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (IV)
Se poate schimba latimea coloanelor/campurilor (se gliseaza marginea din dreapta a antetului de coloana/camp) sau se poate realiza o potrivire optima intre latimea coloanei/campului si latimea valorilor din camp (se executa dublu-click pe marginea din dreapta a antetului de coloana/camp).
Caseta de control Hide key column (recommended) selectata ascunde campul cheie principala iar deselectata il afiseaza.
Se executa click pe Next.(se afiseaza caseta de dialog Lookup Wizard (V) de mai jos, in cazul in care caseta de control Hide key column (recommended) este deselectata.
Se selecteaza campul care va furniza valorile pentru campul din tabela externa.
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (VI) pentru ultimul pas, aceiasi caseta de dialog care se afiseaza daca la pasul 6 se selecteaza caseta de control Hide key column (recommended)
In caseta de text What label would you like for your lookup column? se introduce numele campului sau se accepta numele sugerat de Lookup Wizard
Se executa click pe Finish
In cazul in care intr-un camp dintr-un tabel trebuie introduse numai anumite valori, dinainte cunoscute, utilizatorul poate crea un camp de lookup in tabel furnizandu-i valorile respective.
Se deschide tabelul in modul de afisare Design
Se executa click pe butonul de extindere a listei Data Type pentru campul respectiv (pentru camp s-au precizat anterior Field Name Data Type si Field Size) si se selecteaza Lookup Wizard (se afiseaza caseta de dialog Lookup Wizard (I)
Se selecteaza butonul de optiune I will type in the values that I want
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (II)
In caseta de text Number of columns se precizeaza numarul de coloane de informatii pentru campul de lookup. In lista de sub caseta de text Number of columns se vor afisa coloanele corespunzatoare setarii facute anterior. In acestea se introduc, de la tastatura, valorile. Trecerea de la un element la altul se face cu tasta TAB
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (III)
Se selecteaza coloana care va furniza valorile pentru campul din tabel.
Se executa click pe Next (se afiseaza caseta de dialog Lookup Wizard (IV)
In caseta de text What label would you like for your lookup column? se introduce numele campului sau se accepta numele sugerat de Lookup Wizard
Se executa click pe Finish
Microsoft Access recomanda ca fiecare tabel sa contina o cheie principala. Cheile principale ajuta la regasirea mai rapida a datelor din tabele precum si la combinarea datelor din tabele separate. Cheia principala a unui tabel trebuie sa contina valori unice in campul respectiv si sa identifice in mod univoc o inregistrare din tabelul respectiv. Un tabel cu cheie principala nu contine inregistrari goale (obligatoriu, campul cheie principala trebuie completat).
Cand se leaga doua tabele, unul este tabel principal si trebuie sa contina o cheie principala, iar celalalt este tabel secundar si contine cheia externa, care se leaga cu cheia principala.
Campurile dintr-un tabel din care poate fi aleasa cheia principala se numesc chei candidate. Pentru a putea fi aleasa cheie principala, o cheie candidata trebuie aiba urmatoarele caracteristici:
sa contina valori unice;
sa nu existe inregistrari cu valori Null pentru aceasta cheie;
sa fie reprezentativa pentru toate celelalte campuri din tabel.
Cand se declara cheia principala a unui tabel, prima data se incearca gasirea unei chei principale naturale, adica a unui singur camp care sa contina valori unice pentru toate inregistrarile din tabel. Daca acest lucru nu este posibil, se incearca alegerea mai multor campuri care sa indeplineasca cerinta de unicitate pentru cheia principala. In acest caz, cheia se va numi cheie principala compusa. Cand se opteaza pentru chei principale compuse, trebuie sa se aiba in vederea faptul ca dimensiunea acesteia afecteaza viteza aplicatiei de baze de date. Cand pentru un tabel nu poate fi declarata nici cheie principala naturala nici cheie principala compusa, in tabel se insereaza un camp nou, care va fi declarat cu tipul AutoNumber. Acest camp poate fi declarat cheie principala, intrucat in acest camp se va genera automat cate o valoare unica pentru fiecare inregistrare noua care se adauga in tabel.
In cazul in care cheia principala se declara dupa ce au fost introduse date in tabel, iar in campul care se declara cheie principala exista valori duplicat, Microsoft Access afiseaza caseta mesaj:
Daca in campul care se declara cheie principala exista valori Null, cand se declara cheia principala Microsoft Access afiseaza caseta mesaj:
Pentru a depista inregistrarile duplicat din campul care va fi declarat cheie principala, se poate crea o interogare speciala de tip Find Duplicates Query Wizard, din care apoi sa se elimine inregistrarile duplicat.
Pentru a declara cheia principala a unui tabel, se urmeaza pasii urmatori:
Se deschide tabelul in modul de afisare Design
Daca cheia principala se declara dintr-un camp AutoNumber, se insereaza campul.
Se selecteaza campul/campurile folosind butoanele de selectare din stanga coloanei Field Name
Se alege Edit Primary Key, sau se executa click pe instrumentul Primary Key din caseta cu instrumente Table Design
Observatii
In stanga numelui de camp declarat cheie principala se afiseaza simbolul .
Daca a fost declarata o cheie compusa, pentru fiecare camp din componenta acesteia se afiseaza cate un astfel de simbol.
Cand cheia principala este construita din doua sau mai multe campuri, pentru fiecare camp din componenta cheii proprietatea Indexed este setata automat pe No, iar cheia principala este un index compus (ea va apare in caseta de dialog Indexes
In caseta de dialog Indexes (View Indexes) se poate modifica ordinea campurilor intr-o cheie principala compusa.
Spre deosebire de regulile de validare a campurilor, regulile de validare la nivel de inregistrari sunt expresii in care se poate face referire si la nume de campuri din tabel. Regulile de validare la nivel de inregistrari (numite in documentatie reguli de validare la nivel de tabel) sunt verificate ori de cate ori se salveaza o inregistrare.
Se deschide tabelul in modul de afisare Design
Se alege View Properties (se afiseaza caseta de dialog Table Properties
In caseta de text Validation Rule se introduce expresia de validare (de exemplu, daca un tabel contine campurile DataImprumut si DataRetur, se poate preciza ca regula de validare: [DataImprumut]<[DataRetur]).
In caseta de text Validation Text se poate introduce un text care sa se afiseze in caseta mesaj atunci cand regula de validare este incalcata.
Intr-o baza de date relationala, informatiile sunt memorate in tabele separate. In marea majoritate a cazurilor, rapoartele au la baza informatii din mai multe tabele. Pentru aceasta, tabelele care furnizeaza informatiile pentru un raport trebuie legate. Legarea tabelelor este posibila daca la crearea tabelelor au fost stabilite campurile de legatura. In cazul campurilor de legatura, unul este cheie principala (cel din tabelul principal) iar celalalt este cheie externa (cel din tabelul secundar). Campurile prin care se leaga tabelele trebuie sa aiba acelasi tip de data, iar daca au si acelasi nume, atunci cand tabelele sunt adaugate intr-o interogare, Microsoft Access realizeaza automat legatura dintre tabele.
Se considera doua tabele: tabelul A (aflat in partea stanga a relatiei) si tabelul B (aflat in partea dreapta a relatiei).
Relatia 1-la-1 (one-to-one)
Relatia 1-la-1 presupune ca o inregistrare din tabelul A are asociata o singura inregistrare in tabelul B si invers, o inregistrare din tabelul B are asociata o singura inregistrare in tabelul A. Daca in baza de date apare o astfel de situatie, se combina cele doua tabele intr-unul singur. In cazul in care in baza de date exista un tabel cu un foarte mare numar de campuri, pentru a usura folosirea lui, acesta poate fi impartit in doua tabele care se vor lega printr-o relatie 1-la-1
Relatia 1-la-n (one-to-many)
Este cel mai folosit tip de relatie intre tabele. Aceasta relatie presupune ca o inregistrare din tabelul A are asociate una sau mai multe inregistrari in tabelul B; invers, o inregistrare din tabelul B are asociata o singura inregistrare in tabelul A. Relatia se stabileste prin intermediul cheii principale din tabelul A si a cheii externe din tabelul B.
Relatia n-la-n (many-to-many)
Relatia n-la-n presupune ca o inregistrare din tabelul A poate avea mai multe inregistrari asociate in tabelul B si invers, o inregistrare din tabelul B poate avea mai multe inregistrari asociate in tabelul A. Daca la proiectarea unei baze de date apare o relatie n-la-n, aceasta se va transforma in doua relatii 1-la-n, prin crearea unui al treilea tabel care va avea ca cheie principala cheile principale din celelalte doua tabele.
Pentru a lega doua tabele, se urmeaza urmatoarele etape:
Se inchid toate tabelele si se revine in fereastra Database
Se alege Tools Relationships sau se executa click pe instrumentul Relationships din bara cu instrumente Table Design (se afiseaza fereastra Relationships
Cand se afiseaza prima data fereastra Relationships, automat se afiseaza si caseta de dialog Show Table. Ulterior, pentru a afisa fereastra Show Table, se alege Relationships Show Table sau se executa click pe instrumentul Show Table din bara cu instrumente Table Design
Se adauga tabelele in fereastra Relationships: se selecteaza numele tabelului din lista si se executa click pe butonul de comanda Add sau se executa dublu-click pe numele tabelului din lista (se executa click pe butonul de comanda Close pentru a inchide caseta de dialog Show Table
Se gliseaza cu mouse-ul cheia principala din tabelul principal peste cheia externa din tabelul secundar. Cand se elibereaza butonul mouse-ului, se afiseaza caseta de dialog Edit Relationships
Caseta de dialog Edit Relationships arata tabelele care se leaga, campurile de legatura si tipul relatiei.
Se executa click pe butonul de comanda Create. Caseta de dialog Edit Relationships se inchide automat iar intre cele doua tabele Microsoft Access afiseaza o linie de asociere.
Se repeta pasii 5 si 6 pentru legarea si celorlalte tabele din baza de date.
Integritatea referentiala este un set de reguli impuse relatiilor dintre cheia principala si cheia externa din tabelele secundare. Acest set de reguli guverneaza operatiile de adaugare, modificare si stergere a datelor din doua tabele legate, impiedicand situatiile de inconsistenta a bazei de date.
Daca in caseta de dialog Edit Relationships se selecteaza caseta de control Enforce Referential Integrity, utilizatorului ii vor interzise urmatoarele operatii:
a. introducerea unei valori in campul cheie externa daca aceasta valoare nu exista in campul cheie principala (poate sa introduca o valoare Null
b. modificarea valorii din campul cheie principala daca in tabelul secundar exista inregistrari asociate (cu aceiasi valoare in campul cheie externa);
c. stergerea de inregistrari din tabelul principal daca in tabelul secundar exista inregistrari asociate.
Daca se selecteaza caseta de control Enforce Referential Integrity, alte doua casete de control se activeaza: Cascade Update Related Fields si Cascade Delete Related Records
Daca se selecteaza caseta de control Cascade Update Related Fields, este permisa modificarea valorii cheii principale. In acest caz, vor fi modificate, cu aceiasi valoare, toate valorile campului cheie externa din toate inregistrarile asociate din tabelul secundar.
Daca se selecteaza caseta de control Cascade Delete Related Records, este permisa stergerea unei inregistrari din tabelul principal, chiar daca in tabelul secundar exista inregistrari asociate. In aceasta situatie, vor fi sterse toate inregistrarile asociate din tabelul secundar.
Atunci cand se leaga doua tabele in fereastra Relationships, tipul implicit de asociere este cel prin care Microsoft Access selecteaza numai inregistrarile care au corespondent in cele doua tabele (valoarea din cheia principala este egala cu valoarea din cheia externa). Aceasta se numeste asociere interna (inner join). Tipul asocierii se precizeaza in caseta de dialog Join Properties care se afiseaza cand se executa click pe butonul de comanda Join Type din caseta de dialog Edit Relationships
Primul buton de optiune (1) selectat determina o asociere interna (inner join
Al doilea buton de optiune (2) selectat determina o asociere externa la stanga (left outer join), ceea ce inseamna ca Microsoft Access selecteaza toate inregistrarile din tabelul din stanga (tabelul principal) si numai inregistrarile corespondente din tabelul din dreapta (tabelul secundar).
Al treilea buton de optiune (3) selectat determina o asociere externa la dreapta (right outer join), ceea ce inseamna ca Microsoft Access selecteaza toate inregistrarile din tabelul din dreapta (tabelul secundar) si numai inregistrarile corespondente din tabelul din stanga (tabelul principal).
In fereastra Relationships se face right-click pe linia de asociere dintre doua tabele (se afiseaza un meniu cu doua comenzi rapide).
Daca se executa click pe Edit Relationship, se afiseaza caseta de dialog Edit Relationships, apoi se executa click pe butonul de comanda Join Type (caseta de dialog Edit Relationships poate fi afisata si cu Relationships Edit Relationship). In caseta de dialog Join Properties se selecteaza butonul de optiune corespunzator tipului de optiune dorit.
Daca se executa click pe Delete, se sterge asocierea (legatura) dintre tabele. Microsoft Access afiseaza o caseta mesaj care cere confirmarea stergerii. Pentru a realiza stergerea, se executa click pe butonul de comanda Yes
In Microsoft Access folosirea indecsilor reduce timpul de cautare a inregistrarilor din tabelele cu foarte multe inregistrari. Cu toate acestea, folosirea indecsilor trebuie facuta cu precautie, intrucat, la actualizarea tabelelor care contin indecsi vor fi actualizati si indecsii, ceea ce va conduce la un consum suplimentar de timp, deci la reducerea vitezei de actualizare a inregistrarilor. Spre deosebire de alte baze de date, spre exemplu FoxPro, un index nu poate fi folosit pentru a afisa un tabel ordonat dupa indexul respectiv.
Cand se creeaza indecsi, trebuie avute in vedere trei restrictii:
a) un tabel poate avea maxim 32 de indecsi;
b) un tabel poate avea maxim 5 indecsi pe mai multe campuri;
c) un index pe mai multe campuri poate contine maximum 10 campuri.
Un index pentru un singur camp se creeaza prin setarea proprietatii Indexed a campului respectiv pe Yes (No Duplicates) sau pe Yes (Duplicates OK). De asemenea, Microsoft Access creeaza automat un index in cheia principala.
Pentru a crea un index pe mai multe campuri, se parcurg urmatoarele etape:
Se deschide tabelul in modul de afisare Design
Se alege View Indexes (se afiseaza caseta de dialog Indexes
Intr-o celula goala din coloana Index Name se introduce numele indexului compus.
In celula de pe acelasi rand din coloana Field Name se selecteaza numele primului camp care va face parte din index.
In celula corespondenta din coloana Sort Order se precizeaza ordinea de sortare (Ascending/Descending
Se plaseaza cursorul pe urmatoarea celula goala in coloana Field Name si se selecteaza numele campului urmator.
In celula corespondenta din coloana Sort Order se precizeaza ordinea de sortare (Ascending/Descending
Se repeta pasii 6 si 7 pentru restul campurilor din indexul pe mai multe coloane.
In mod de afisare Design, intr-un tabel pot fi facute urmatoarele modificari:
a. adaugarea de noi campuri;
b. stergerea de campuri;
c. modificarea ordinii campurilor;
d. modificarea numelor de campuri;
e. modificarea tipului de data al unor campuri;
f. modificarea dimensiunii unor campuri;
g. modificarea cheii principale.
Operatiile de mai sus trebuie realizate cu precautie in cazul in care tabelele contin date, pentru ca exista riscul deteriorarii datelor.
Observatii
Adaugarea, stergerea, modificarea ordinii campurilor si a numelor campurilor nu au, in general, efect asupra datelor existente in tabel.
Tip initial |
Tip modificat |
Limitari |
Text |
Memo Number Date/Time Currency AutoNumber Yes/No |
Sunt stersi indecsii daca exista. Textul trebuie sa contina numai numere si separatori valizi. Textul trebuie sa contina numai date calendaristice sau ore valide. Textul trebuie sa contina numai numere si separatori valizi. Conversie imposibila. Textul trebuie sa contina numai valorile Yes, True, On, No, False, Off. |
Memo |
Text Number Date/Time Currency AutoNumber Yes/No |
Textul mai lung de 255 de caractere este trunchiat. Textul trebuie sa contina numai numere si separatori valizi. Textul trebuie sa contina numai date calendaristice sau ore valide. Textul trebuie sa contina numai numere si separatori valizi. Conversie imposibila. Textul trebuie sa contina numai valorile Yes, True, On, No, False, Off. |
Number |
Text Memo Number (alta precizie) Date/Time Currency AutoNumber Yes/No |
Fara limitari. Fara limitari. Numarul nu trebuie sa fie mai lung decat noua precizie. Numarul trebuie sa fie cuprins intre -657434 si 2958465.99998843. Fara limitari. Conversie imposibila. 0 sau Null sunt convertite la No, orice alta valoare este convertita la Yes. |
AutoNumber |
Text Memo Number Date/Time Currency Yes/No |
Fara limitari. Fara limitari. Numerele nu trebuie sa fie mai mari decat noua precizie. Numarul trebuie sa fie mai mic decat 2958466. Fara limitari. Toate valorile sunt evaluate la Yes. |
Yes/No |
Text Memo Number Date/Time Currency AutoNumber |
Yes este convertit la "Yes", No la "No". Yes este convertit la "Yes", No la "No". No este convertit la 0, Yes la -1. No este convertit 12:00:00 AM, Yes la 12/29/1899. No este convertit la 0, Yes la -$1. Conversie imposibila. |
Cand se modifica lungimea campurilor, exista riscul alterarii datelor din tabele numai daca lungimea acestora se micsoreaza. In tabelul de mai jos sunt prezentate consecintele micsorarii lungimii campurilor:
Modificare Field Syze |
Efect |
Text (micsorare) |
Datele din camp vor fi trunchiate. Microsoft Access avertizeaza utilizatorul printr-un mesaj de confirmare. Daca se executa click pe Yes, datele sunt trunchiate. |
Long Integer la Integer si Integer la Byte |
Continutul campului va fi sters. Microsoft Access avertizeaza utilizatorul printr-un mesaj de confirmare. Daca se executa click pe Yes, datele sunt sterse. |
Single la Integer |
Valorile mai mici decat 32767 sau mai mari decat -32768 vor fi rotunjite. Valorile mai mari decat 32767 sau mai mici decat ‑32768 vor fi sterse. |
Double la Long Integer |
Valorile mai mici decat 2147483647 sau mai mari decat -2147483648 vor fi rotunjite. Valorile mai mari decat 2147483647 sau mai mici decat -2147483648 vor fi sterse. |
Adaugarea datelor in tabele se poate face prin trei metode:
a) in modul de afisare Datasheet
b) prin intermediul formelor atasate tabelelor/interogarilor;
c) prin interogari de selectie si de actiune (de tip "Append Query").
Se deschide tabelul in modul de afisare Datasheet (se face dublu click pe numele tabelului sau se selecteaza numele tabelei si se executa click pe instrumentul Open
Se alege una din urmatoarele metode:
se plaseaza cursorul pe ultima inregistrare (inregistrarea goala);
Edit GoTo New Record
se executa click pe instrumentul New Record din bara de instrumente Table Design
se executa click pe butonul din butoanele de navigare;
se alege Records Data Entry (se afiseaza fereastra Datasheet cu o singura inregistrare goala).
Se introduc date in fiecare camp din inregistrare.
Se salveaza inregistrarea alegand Records Save Record sau prin simpla mutare a cursorului pe alta inregistrare.
Modificarea inregistrarilor din tabele se poate face prin trei metode:
in modul de afisare Datasheet
prin intermediul formelor atasate tabelelor/interogarilor;
prin interogari de selectie si de actiune (de tip "Update Query").
Se deschide tabela in modul de afisare Datasheet
Se plaseaza cursorul in campul care trebuie modificat si se introduce noua valoare (sau se modifica cea existenta).
Se salveaza inregistrarea (vezi salvarea in cazul adaugarii unei inregistrari in modul de afisare Datasheet
Observatie
Pentru a modifica valorile unui camp in mai multe inregistrari cu aceiasi valoare, se plaseaza cursorul pe campul respectiv (eventual campul din prima inregistrare) si se alege Edit Replace. Prin intermediul casetei de dialog Replace se precizeaza valoarea de inlocuit (in caseta de text Find What) si valoarea cu care se face inlocuirea (in caseta de text Replace With). Inlocuirile pot fi facute selectiv, cu Find Next si Replace, sau global, cu Replace All
Metode de stergerea a inregistrarilor din tabelul secundar
a) in modul de afisare Datasheet
se deschide tabelul in modul de afisare Datasheet
se selecteaza inregistrarea/inregistrarile de sters;
se apasa tasta DELETE sau se alege Edit Delete Record sau se executa click pe instrumentul Delete Record din bara de instrumente Table Datasheet (Microsoft Access afiseaza o caseta de confirmare a stergerii. Se executa click pe Yes, pentru a sterge inregistrarea (inregistrarile).
b) prin interogari:
de selectie (identic ca la tabele);
de actiune (de tip "Delete Query").
c) prin forme:
identic ca la tabele;
prin plasarea unui buton de comanda in forma, cu Wizard, pentru care se selecteaza actiunea Delete Record
Stergerea inregistrarilor din tabelul principal este posibila in urmatoarele cazuri:
a) inregistrarea care se sterge din tabelul principal nu are inregistrari corespondente (asociate) in tabelul secundar;
b) pentru cele doua tabele legate nu a fost setata integritatea referentiala;
c) pentru cele doua tabele legate a fost setata integritatea referentiala si s-a selectat caseta de control Enforce Referential Integrity din caseta de Edit Relationships
Observatie
Pentru a localiza inregistrarea/inregistrarile de modificat sau de sters, se poate folosi caseta de dialog Find (se afiseaza cu Edit Find
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |