Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » access
Crearea tabelelor in Microsoft Access

Crearea tabelelor in Microsoft Access


TABELE

1. Crearea tabelelor

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.

1.1. Crearea unui tabel cu Table Wizard

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.

1.2. Crearea unui tabel in modul Datasheet View

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

1.3. Crearea unui tabel in modul Design

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.

1. Reguli de numire a obiectelor in Microsoft Access

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.

1.5. Tipuri de date pentru campurile tabelelor

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.

1.6. Proprietatile campurilor

1.6.1. Proprietatile din tab-ul General

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.

1.6.2. Proprietatile din tab-ul Lookup

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

1.7. Crearea campurilor de Lookup

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.

1.7.1. Crearea unui camp de Lookup din campul unui tabel

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

1.7.2. Crearea unui camp de Lookup din valorile introduse de utilizator de la tastatura

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

2. Cheia principala

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.

3. Reguli de validare la nivel de inregistrari

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.

Legarea tabelelor

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.

1. Tipuri de relatii intre 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.

2. Integritatea referentiala

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.

3. Tipuri de asocieri intre inregistrari

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

Modificarea sau stergerea unei asocieri

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

5. Indecsi pe mai multe campuri (compusi)

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.

6. Modificarea structurii tabelelor

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.

6.1. Modificarea tipului de data al campurilor

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.

6.2. Modificarea lungimii campurilor

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.

7. Actualizarea datelor din tabele

7.1. Adaugarea inregistrarilor

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").

7.1.1. Adaugarea inregistrarilor in mod Datasheet

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.

7.2. Modificarea inregistrarilor

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").

7.2.1. Modificarea inregistrarilor in modul de afisare Datasheet

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

7.3. Stergerea inregistrarilor

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


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.