Sunteți pe pagina 1din 38

Crearea unei expresii

Acest articol explic modul n care se creeaz i se utilizeaz expresiile n Microsoft Office Access 2007, echivalentul formulelor din Microsoft Office Excel 2007. Furnizeaz informaii generale despre expresii ce sunt i de ce se utilizeaz. n plus, articolul explic modul n care se creeaz expresii de la zero sau prin utilizarea unui instrument denumit Generator de expresii. Reinei c informaiile generice din acest articol se aplic pentru expresii n mod general, dar c paii care descriu proceduri se aplic numai pentru Office Access 2007. Not Dac dorii informaii despre crearea expresiilor condiionale expresii care returneaz numai valori care satisfac o condiie pe care o specificai consultai articolul Crearea expresiilor condiionale (de tip Boolean) . n acest articol Despre expresii De ce se utilizeaz expresii

Unde i cum se utilizeaz expresii Utilizarea Generatorului de expresii pentru a crea expresii Utilizarea expresiilor pentru scopuri practice Tabel de operatori

Despre expresii
n Office Access 2007 , o expresie este echivalentul unei formule din Office Excel 2007. O expresie const ntr-un numr de elemente posibile care pot fi utilizate individual sau n combinaii pentru a produce un rezultat. Aceste elemente includ:

Identificatori numele cmpurilor de tabele sau a controalelor din formulare sau rapoarte, sau a proprietilor acelor cmpuri sau controale. Operatori, cum ar fi + (plus) sau - (minus). Funcii, cum ar fi SUM sau AVG, i argumentele care se utilizeaz cu ele. Constante valori care nu se schimb cum ar fi un ir text sau numere care nu sunt calculate printr-o expresie.

O expresie poate fi utilizat pentru a efectua calcule, pentru a regsi valoarea unui cmp sau control, a furniza criterii pentru o interogare, a defini reguli, a crea controale calculate i cmpuri calculate i pentru a defini un nivel de grupare pentru un raport. Utilizai o expresie atunci cnd dorii s creai valori care nu se afl direct n datele dvs. De exemplu, este posibil s dorii s calculai valoarea TVA pentru o comand sau s calculai valoarea total pentru comanda n sine. Alteori, vei dori s adugai criterii la o interogare sau la un filtru informaii care determin care nregistrri sunt returnate de interogare sau care se afieaz cnd este aplicat un filtru. n alte cazuri, vei dori s setai o valoare implicit sau o regul de validare pentru un cmp sau un control. n toate aceste situaii, vei utiliza o expresie.
1

Urmtorul tabel afieaz nite exemple de expresii i cum se utilizeaz de obicei: Expresie =[DatCerut]-[DatExpediere] Date() PreExtins: CCur([Detalii comand].Pre Unitar*[Cantitate]*(1-[Reducere])/100)*100 Between #1.1.2005# And #31.12.2005# =[Subformular Comenzi].Form! SubtotalComand >0 Scop Calculeaz diferena dintre valorile de date din dou controale caset text (denumite DatCerut i DatExpediere) ntr-un raport. Seteaz valoarea implicit pentru un cmp Dat/Or de tabel la data curent. Creeaz un cmp calculat ntr-o interogare. Se utilizeaz pentru a introduce criterii pentru un cmp Dat/Or ntr-o interogare. Returneaz valoare din controlul SubtotalComand din subformularul Comenzi care se afl n formularul Comenzi. Seteaz o regul de validare pentru un cmp numeric ntr-un tabel utilizatorii trebuie s introduc valori mai mari dect zero.

Dup cum vedei din exemplul anterior, o expresie din Access nu este doar un calcul matematic. n schimb, o expresie servete mai multor scopuri. Vei observa de asemenea c expresiile mostr difer ntre ele sub mai multe aspecte. De exemplu, unele expresii ncep cu operatorul = (egal). Cnd calculai o valoare pentru un control dintr-un formular sau raport, utilizai operatorul = pentru a ncepe expresia. Alteori, nu utilizai operatorul =. De exemplu, cnd tastai o expresie ntr-o interogare sau n proprietatea Valoare implicit sau Regul de validare a unui cmp sau control, nu utilizai operatorul = dect dac adugai expresia la un cmp Text dintr-un tabel. n unele cazuri, ca atunci cnd se adaug expresii la interogri, Access elimin automat operatorul =. Pentru mai multe informaii despre sintaxa expresiilor, consultai articolul Ghid pentru sintaxa expresiilor. Urmtoarele seciuni descriu mai detaliat diversele pri componente ale unei expresii. Exemplele din seciuni furnizeaz i descrieri pe scurt a sintaxei utilizate de expresii.

Identificatori
Un identificator este numele unui cmp, proprietate sau control.Utilizai un identificator ntr-o expresie pentru a v referi la valoarea asociat cu acel cmp, proprietate sau control. De exemplu, s considerm expresia =[DatCerut]-[DatExpediere]. Aceast expresie scade valoarea cmpului sau controlului DatExpediere din valoarea cmpului sau controlului DatCerut. n aceast expresie, att DatCerut ct i DatExpediere au rol de identificatori.

Operatori
Access accept diveri operatori, inclusiv cei aritmetici, cum ar fi +, -, * (nmulire), / (mprire). De asemenea, avei posibilitatea s utilizai operatorii de comparaie pentru a compara valori, operatori text pentru concatenarea textului (combinarea lui), operatori logici pentru a determina valori adevrate sau false i ali operatori specifici pentru Access. Pentru detalii despre operatori, consultai seciunea Tabel de operatori.
2

Funcii i argumente
Funciile sunt proceduri predefinite, care pot fi utilizate n expresii. Utilizai funcii pentru o varietate de operaiuni, cum ar fi calcularea valorilor, manipularea textului i a datelor i rezumarea datelor. De exemplu, o funcie utilizat de obicei este Date, care returneaz data curent calendaristic. Avei posibilitatea s utilizai funcia Date n mai multe moduri, cum ar fi ntr-o expresie care seteaz valoarea implicit pentru un cmp dintr-un tabel. Astfel, oricnd se adaug o nregistrare, valoarea din acel cmp va avea valoarea implicit a datei curente. Anumite funcii necesit argumente. Un argument este o valoare care furnizeaz intrare funciei. Dac o funcie necesit mai mult de un argument, separai argumentele cu o virgul. De exemplu, funcia Date n urmtorul exemplu: =Format(Date(),"d mmmm yyyy") Acest exemplu utilizeaz dou argumente. Mai nti, funcia Date furnizeaz data curent. Al doilea argument, separat de primul prin virgul, este un ir text care ofer instruciuni funciei Format cu privire la formatarea valorii de dat. Observai c irul text care se afl ntre ghilimele. Ca regul general, cnd trebuie s introducei text, l plasai ntre ghilimele. Aceast expresie ilustreaz i un principiu care trebuie reinut: o valoare returnat de o funcie poate fi utilizat deseori ca argument pentru alt funcie. Pentru mai multe informaii despre cum se utilizeaz ghilimelele i sintaxa expresiilor n general, consultai articolul Ghid pentru sintaxa expresiilor n fine, Access accept un numr mare de funcii predefinite. Pentru linkuri ctre mai multe informaii despre funcii, consultai articolul Funcii (ordonate dup categorie).

Constante
O constant este un element denumit a crui valoare rmne constant n timp ce se execut Access. De obicei, utilizai constantele True, False i Null de cele mai multe ori n expresii. De asemenea, avei posibilitatea s definii propriile constante n cod VBA (Visual Basic for Applications), care se pot utiliza n procedurile VBA. VBA este limbajul de programare utilizat de Access. Not Constantele Microsoft Visual Basic nu se pot utiliza n funciile particularizate pe care le utilizai n expresiile dvs. De exemplu, Visual Basic are constante pentru zilele sptmnii: vbSunday reprezint duminic, vbMonday reprezint luni, etc. Fiecare dintre aceste constante are o valoare corespondent numeric: valoarea numeric pentru vbSunday este 1, pentru vbMonday este 2, etc. Aceste constante nu se pot utiliza ntr-o funcie particularizat care este apelat dintr-o expresie. n schimb, utilizai valori numerice.

Valori
Avei posibilitatea s utilizai valori literale n expresiile dvs., cum ar fi numrul 1.254 sau irul "Introducei un numr ntre 1 i 10". Valorile numerice pot fi o serie de cifre, inclusiv un semn i o virgul zecimal. n absena unui semn Access presupune c este vorba de o valoare pozitiv. Pentru a face valoarea negativ, adugai semnul minus (-). De asemenea, avei
3

posibilitatea s utilizai notaia tiinific. Pentru a face aceasta, adugai semnul "E" sau "e" al exponentului (de exemplu, 1,0E-6). Cnd utilizai iruri text pe post de constante, ncadrai-le sub form de constante. Uneori, Access va furniza ghilimelele. De exemplu, cnd tastai text ntr-o expresie pentru o regul de validare sau pentru criterii de interogare, Access ncadreaz irurile text n ghilimele n mod automat. De exemplu, dac tastai textul Bucureti, Access afieaz "Bucureti" n expresie. Dac dorii ca expresia s produc un ir text ncadrat n ghilimele duble, ncadrai irul imbricat ntre ghilimele simple ' sau ntre trei seturi de ghilimele duble ". De exemplu, urmtoarele expresii sunt echivalente: Forms![Persoane de contact]![Ora].DefaultValue= ' "Bucureti" ' Forms![Persoane de contact]![Ora].DefaultValue= " " "Bucureti" " " Pentru a utiliza valori de tip dat/or, ncadrai-le n simboluri diez (#). De exemplu, #03.07.07#, #7 martie 07# i #07 martie 2007# sunt toate valori valide de dat/or. Cnd Access ntlnete o valoare valid de dat/or ntre caractere #, trateaz automat valoare ca tip de date Dat/or. nceputul paginii

De ce se utilizeaz expresiile
n Access, utilizai expresii atunci cnd dorii s:

Calculai valori care nu exist direct n datele dvs. Avei posibilitatea s calculai valori pentru cmpuri de tabel, pentru interogri i controale din formulare i rapoarte. Setai o valoare implicit pentru un cmp de tabel sau un control dintr-un formular sau un raport. Valorile implicite apar apoi oricnd deschidei un tabel, formular sau raport pentru utilizare. Creai o regul de validare. Regulile de validare controleaz ce valori se pot sau nu se pot introduce ntr-un cmp sau control. Setai criterii pentru o interogare.

Urmtoarea ilustraie afieaz cteva expresii tipice utilizate n scenariile descrise aici:

De exemplu, s presupunem c avei nevoie s calculai suma total de lei pentru un element de linie dintr-o factur. De obicei, nu stocai totalul elementului n baza de date. n schimb, l calculai dup cum este necesar din dou elemente care ar trebui s fie stocate n baza de date cantitate i pre. Apoi, utilizai o expresie pentru a calcula valoarea, cum ar fi cea de mai jos: =CCur([Cantitate]*[Pre]) Aceast expresie nmulete cantitatea cu preul i utilizeaz apoi funcia CCur (conversie n moned) pentru a efectua conversia rezultatul la tipul de date Moned. De asemenea, avei posibilitatea s calculai o reducere pentru fiecare comand. Avei posibilitatea s creai un cmp ntr-o interogare care calculeaz un total al elementelor de linie, apoi s utilizai valoarea ntr-un formular sau raport. O coloan dintr-o interogare care rezult dintr-un astfel de calcul este denumit cmp calculat. De exemplu, urmtoarea expresie dintr-o interogare calculeaz totalurile elemente de linie cu o reducere aplicat: PreDetaliat: CCur([Detalii comenzi].[Pre unitar]*[Cantitate]*(1[Reducere])/100)*100 Expresia denumete coloana rezultat PreDetaliat. Creai un cmp calculat oricnd avei nevoie s calculai sau s efectuai operaiuni cu datele din dou sau mai multe cmpuri de tabel. De exemplu, multe tabele stocheaz prenumele i numele de familie n cmpuri separate. Dac dorii s le combinai ntr-un singur cmp, creai un cmp calculat ntr-o interogare. Unii utilizatori ncearc s creeze acele tipuri de cmpuri direct n tabel, dar, n mod implicit, tabelele nu accept aceste tipuri de operaiuni nu furnizeaz un cmp sau o proprietate n care s se poat aduga expresia necesar. Un cmp calculat care combin prenumele i numele de familie arat astfel: [Prenume] & " " & [NumeDeFamilie]. n acest caz, ampersandul combin valorile din cmpurile Prenume i NumeDeFamilie cu un spaiu ghilimelele duble cu un spaiu ntre ele. De asemenea, avei posibilitatea s utilizai expresii pentru a furniza o valoare implicit pentru un cmp dintr-un tabel sau pentru un control. De exemplu, dac avei un cmp de date pe care dorii s l setai implicit la data curent, tastai Date() n caseta proprietii Valoare implicit pentru acel cmp.
5

De asemenea, avei posibilitatea s utilizai o expresie pentru a seta o regul de validare. De exemplu, utilizai o regul de validare care necesit ca data care este introdus s fie mai mare sau egal cu data curent. n acest caz, setai valoarea din caseta proprietii Regul de validare la >= Date(). n fine, avei posibilitatea s utilizai o expresie pentru a seta criterii pentru o interogare. De exemplu, s presupunem c dorii s vedei vnzrile de produse pentru comenzile care au fost expediate cu o anumit limit de timp. Avei posibilitatea s introducei criteriile pentru a defini un interval de date calendaristice, apoi Access returneaz numai rndurile care se potrivesc criteriilor: Between #01.01.07# And #31.12.07# Cnd adugai criterii la interogare i executai apoi interogarea, returneaz numai valorile care se potrivesc datelor specificate. nceputul paginii

Unde i cum se utilizeaz expresiile


Avei posibilitatea s utilizai o expresie n multe locuri dintr-o baz de date. De exemplu, tabelele, interogrile, formularele, rapoartele i macrocomenzile au proprieti care accept o expresie. De exemplu, se poate utiliza o expresie n proprietile Surs control i Valoare implicit ale controalelor. De asemenea, se pot utiliza n proprietatea Regul de validare din cmpurile de tabel. n plus, cnd scriei cod VBA pentru o procedur eveniment sau pentru un modul, utilizai deseori expresii care sunt similare cu cele pe care le utilizai ntr-un obiect Access, cum ar fi un tabel sau o interogare.

Scurt descriere a sintaxei expresiilor


Expresiile utilizeaz deseori date n tabele i interogri i date stocate n controale n formulare i rapoarte. Pentru a utiliza acele date, expresiile fac referire la cmpurile din tabele i interogri, ct i la numele controalelor. Pentru a utiliza nume de cmpuri i controale n expresii, le ncadrai n paranteze drepte ([ ]). De exemplu, dac dorii s utilizai un tabel denumit Pre unitar ntr-o expresie, l introducei ca [Pre unitar]. Dac introducei un nume care nu include spaii sau caractere speciale, Access le ncadreaz automat n paranteze drepte. Dac un nume include spaii sau caractere speciale, parantezele drepte trebuie introduse de utilizator. Pentru mai multe informaii despre sintaxa expresiilor, consultai articolul Ghid pentru sintaxa expresiilor.

Utilizarea expresiilor n controale de formulare i rapoarte


Avei posibilitatea s denumii un control calculat setnd proprietatea Nume a controlului. Numele trebuie s fie unic ntre toate numele de controale din formular sau raport. De asemenea, trebuie s fie diferit de orice nume de cmp sau control care este utilizat n expresia pentru acel control i ar trebui s fie diferit de orice nume de cmp din tabelul subiacent sau

interogarea subiacent. Acest nume poate fi utilizat cnd dorii s facei referire la valoarea din control n alte expresii din formular sau raport. Cele mai obinuite locuri unde se pot utiliza expresii includ urmtoarele:

ntr-un control caset text dintr-un formular sau raport Astfel, se creeaz un control calculat. De exemplu, s presupunem c dorii s creai un subtotal care nsumeaz toate elementele de linie dintr-un formular de comand. Subtotalul poate arta n formular asemntor cu cel de mai jos:

Pentru a calcula subtotalul, plasai un control caset text n formular i setai proprietatea Surs control a casetei text la urmtoarea expresie: =Sum([cmp_tabel]) n acest caz, cmp_tabel este numele cmpului care conine valorile de subtotal. Cmpul se poate afla ntr-un tabel sau ntr-o interogare. Funcia Sum calculeaz totalul pentru un set de valori din sursa de nregistrri. Urmtorii pai explic modul n care se introduce o expresie ntr-un control caset text. Introducerea unei expresii ntr-un control caset text 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul pe care dorii s-l modificai, apoi facei clic pe Vizualizare proiect. 2. Facei clic cu butonul din dreapta pe caseta text pe care dorii s-o modificai, apoi facei clic pe Proprieti pentru a afia foaia de proprieti a controlului. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 3. n fila Date sau n fila Toate a foii de proprieti, facei clic pe proprietatea Surs control a casetei text, apoi introducei = i restul expresiei. De exemplu, pentru a calcula subtotalul afiat mai sus, tastai =Sum([cmp_tabel]), asigurndu-v c nlocuii numele cmpului cu cmp_tabel. -sauFacei clic pe butonul Generare n partea dreapt a casetei de proprieti pentru a crea o expresie utiliznd Generatorul de expresii. Foaia de proprieti va arta similar cu urmtoarea ilustraie:

4. nchidei foaia de proprieti i salvai modificrile.

Utilizarea expresiilor n criterii de interogare


Expresiile pot fi utilizate pentru a defini criterii ntr-o interogare. Access returneaz apoi rndurile care se potrivesc cu criteriile. De exemplu, s presupunem c dorii s vedei toate comenzile a cror dat de expediere a avut loc n 2004. Pentru a introduce criteriile, introducei expresia urmtoare n celula Criterii pentru coloana Dat/Or din interogarea dvs. Acest exemplu utilizeaz o coloan Dat/Or denumit DatExpediere. Pentru a defini un interval de date, introducei urmtoarele criterii: Between #01.01.04# And #31.12.04# Coloana DatExpediere va arta semntor cu urmtoarea ilustraie.

Expresia determin dac valorile din coloana DatExpediere se ncadreaz n intervalul specificat de dvs. Reinei c trebuie s ncadrai datele cu semne diez (#). Access trateaz o valoare ncadrat n semne diez ca tip de date Dat/Or. Tratarea acelor valori ca date de tip dat/or v permite s efectuai calcule cu acele valori. Pentru mai multe informaii despre utilizarea datelor de tip dat/or, consultai articolele Introducerea unei valori de dat sau or i Inserarea, crearea, sau tergerea unui cmp care stocheaz valori de tip dat. Introducerea criteriilor n grila de proiectare a interogrii 1. n Panoul de navigare, facei clic cu butonul din dreapta pe interogarea pe care dorii s o modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Facei clic n celula Criterii din coloana pentru care dorii s introducei criteriile. 3. Tastai expresia cu criterii.
8

-saun fila Proiectare, n grupul Iniializare interogare, facei clic pe Generator pentru a porni Generatorul de expresii i a genera criteriile. Not Nu punei operatorul egal (=) naintea expresiei cu criterii.. Dac dorii o zon mai mare n care s tastai expresia, apsai SHIFT+F2 pentru a afia caseta Panoramare.

Utilizarea expresiilor pentru a crea cmpuri calculate ntr-o interogare


Expresiile pot fi utilizate pentru a crea un cmp calculat ntr-o interogare. De exemplu, s presupunem c dorii s afiai anul n care s-a expediat o comand ca parte dintr-o interogare. Pentru a crea un cmp calculat, plasai urmtoarea expresie ntr-o celul necompletat din rndul Cmp n interogarea dvs.: An expediere: Format([DatExpediere],"yyyy") n acest caz, expresia utilizeaz funcia Format pentru a extrage anul din valorile dintr-un cmp denumit DatExpediere. Funcia Format formateaz apoi anul cu patru cifre. Prefaarea expresiei cu An expediere: denumete coloana rezultat An expediere.

Introducerea unui cmp calculat n vizualizarea Proiectare a interogrii 1. n Panoul de navigare, facei clic cu butonul din dreapta pe interogarea pe care dorii s o modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Facei clic pe celula Cmp din coloana n care dorii s creai cmpul calculat.
9

3. Tastai expresia. -saun fila Proiectare, n grupul Iniializare interogare, facei clic pe Generator pentru a porni Generatorul de expresii i a genera criteriile. Not Nu punei operatorul = naintea criteriilor din expresie, dar ncepei expresia cu un nume urmat de simbolul dou puncte. De exemplu, tastai PreDetaliat: pentru a ncepe o expresie care creeaz un cmp calculat denumit PreDetaliat.

Utilizarea expresiilor n proprietatea Regul de validare a unui cmp de tabel


Alt loc n care expresiile sunt utile este proprietatea Regul de validare a unui cmp dintr-un tabel. S presupunem c avei un tabel denumit Inventar cu un cmp denumit Uniti disponibile i c dorii s setai o regul care impune introducerea unei valori mai mari sau egale ca zero. Cu alte cuvinte, nu pot s apar numere negative n inventar. Avei posibilitatea s efectuai aceasta utiliznd expresia afiat n urmtoarea ilustraie.

Introducerea unei reguli de validare pentru un cmp dintr-un tabel 1. n Panoul de navigare, facei clic cu butonul din dreapta pe tabelul pe care dorii s l modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n coloana Nume cmp, facei clic pe cmpul pe care dorii s-l modificai. 3. n fila General, facei clic pe caseta proprietii Regul de validare. 4. Tastai expresia. -sauFacei clic pe butonul Generare n partea dreapt a casetei de proprieti pentru porni Generatorul de expresii i a crea expresia. -saun fila Proiectare, n grupul Instrumente, facei clic pe Generator pentru a porni Generator de expresii. Not Nu punei operatorul = naintea expresiei atunci cnd creai o regul de validare.
10

Ceea ce trebuie s reinei atunci cnd lucrai cu expresii de reguli de validare este c trebuie s aib ca rezultat valoarea True pentru a fi acceptate. Astfel, n acest exemplu, valoarea pentru [Uniti disponibile] trebuie s fie >=0. Dac nu este, Access afieaz textul din caseta proprietii Text de validare. Dac nu ai introdus text n caseta proprietii Text de validare, Access afieaz propriul mesaj pentru a indica faptul c valoarea pe care ai introdus-o este interzis de regula de validare pentru cmp. Pentru mai multe informaii despre crearea regulilor de validare, consultai articolul Crearea unei reguli de validare pentru validarea datelor dintr-un cmp.

Utilizarea expresiilor n proprietatea Regul de validare pentru un control


Proprietatea Regul de validare poate fi setat i pentru un control. De exemplu, s presupunem c utilizai un formular pentru a introduce intervalul de date pentru un raport i c dorii s v asigurai c data de nceput nu este nainte de 1.1.2004. Avei posibilitatea s setai proprietile Regul de validare i Text de validare pentru caseta text n care se introduce data de nceput astfel: Proprietate Setare Regul de validare >=#1.1.2004# Text de validare Nu se poate introduce o dat nainte de 1.1.2004. Dac ncercai s introducei o dat anterioar datei 1.1.2004, apare un mesaj. Dup ce facei clic pe OK, Access revine la caseta text.

Introducerea unei reguli de validare pentru un control 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul sau pe raportul pe care l modificai i facei clic pe Vizualizare proiect pe meniul de comenzi rapide. -sauDac raportul sau formularul este deja deschis, facei clic cu butonul din dreapta pe fila document, apoi pe Vizualizare proiect n meniul de comenzi rapide.
11

-saun fila Pagin de pornire, n grupul Vizualizare, facei clic pe butonul Vizualizare pentru a comuta ntre vizualizrile disponibile. Alternativ, facei clic pe sgeata de sub Vizualizare, apoi selectai una dintre vizualizrile disponibile din meniu. 2. Facei clic cu butonul din dreapta pe controlul pe care dorii s-l modificai, apoi facei clic pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. Access afieaz foaia de proprieti a formularului. 3. Facei clic pe fila Toate, apoi pe caseta de proprieti Regul de validare. 4. Tastai expresia sau facei clic pe butonul Generare n partea dreapt a casetei de proprieti pentru a crea o expresie utiliznd Generatorul de expresii. Not Nu punei operatorul = naintea expresiei atunci cnd creai o regul de validare. 5. Opional, modificai proprietatea Text de validare. 6. nchidei foaia de proprieti i salvai modificrile. Cnd introducei o valoare care este interzis de regula de validare, apsai ESC n timp ce cursorul se afl n control pentru a restabili valoarea original sau implicit. Apoi, introducei o valoare care satisface regula de validare. Dac proprietatea Surs control a controlului este un cmp dintr-un tabel, se recomand s setai proprietatea Regul de validare a cmpului n plus fa de cea a controlului. Astfel, regula se impune tot timpul, indiferent de formularul sau interogarea utilizate pentru actualizarea cmpului. Pentru mai multe informaii despre crearea regulilor de validare, consultai articolul Crearea unei reguli de validare pentru validarea datelor dintr-un cmp.

Utilizarea expresiilor pentru a seta valori implicite pentru un cmp de tabel


Expresiile pot fi utilizate pentru stocarea unei valori implicite ntr-un cmp dintr-un tabel. De exemplu, s presupunem c dorii s inserai automat data i ora ntr-un cmp denumit DatComand atunci cnd adugai o nregistrare nou. Avei posibilitatea s utilizai expresii ca cele de mai jos:

12

Expresia utilizeaz funcia Now pentru a insera data i ora n cmpul DatComand. Introducerea unei valori implicite pentru un cmp dintr-un tabel 1. n Panoul de navigare, facei clic cu butonul din dreapta pe tabelul pe care l modificai i facei clic pe Vizualizare proiect pe meniul de comenzi rapide. 2. n coloana Nume cmp, facei clic pe cmpul pe care dorii s-l modificai. 3. n fila General, facei clic pe caseta proprietii Valoare implicit.
4. Tastai expresia sau facei clic pe butonul Generare

n partea dreapt a casetei de proprieti pentru a crea o expresie utiliznd Generatorul de expresii.

Dac legai un control la un cmp de tabel, iar controlul i cmpul au o valoare implicit, valoarea implicit a controlului are prioritate. Pentru mai multe informaii despre setarea valorilor implicite, consultai articolul Setarea valorilor implicite pentru cmpuri sau controale.

Utilizarea expresiilor pentru setarea valorilor implicite pentru controale


Alt loc n care se utilizeaz de obicei o expresie este proprietatea Valoare implicit a unui control. Proprietatea Valoare implicit a unui control se comport similar cu proprietatea Valoare implicit a unui cmp dintr-un tabel. De exemplu, dac dorii s introducei data curent ca valoare implicit pentru o caset text denumit DatComand, avei posibilitatea s utilizai o expresie ca urmtoarea:

13

Aceast expresie utilizeaz funcia Date pentru a returna data curent, dar nu i ora. Dac legai caseta text la un cmp de tabel i cmpul are o valoare implicit, valoarea implicit a a controlului are prioritate. Deseori, este mai bine s se seteze proprietatea Valoare implicit pentru cmpul din tabel, deoarece valoarea implicit se aplic ntotdeauna controlului, n afara cazului n care controlul trece peste ea. Introducerea unei valori implicite pentru un control 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul sau pe raportul pe care l modificai i facei clic pe Vizualizare proiect pe meniul de comenzi rapide. -sauDac raportul sau formularul este deja deschis, facei clic cu butonul din dreapta pe fila document, apoi pe Vizualizare proiect n meniul de comenzi rapide. -saun fila Pagin de pornire, n grupul Vizualizare, facei clic pe butonul Vizualizare pentru a comuta ntre vizualizrile disponibile. Alternativ, facei clic pe sgeata de sub Vizualizare, apoi selectai una dintre vizualizrile disponibile din meniu. 2. Facei clic cu butonul din dreapta pe controlul pe care dorii s-l modificai, apoi facei clic pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. Access afieaz foaia de proprieti a formularului. 3. Facei clic pe fila Toate, apoi pe caseta proprietii Valoare implicit. 4. Tastai expresia sau facei clic pe butonul Generare n partea dreapt a casetei de proprieti pentru a crea o expresie utiliznd Generatorul de expresii. 5. nchidei foaia de proprieti. Pentru mai multe informaii despre setarea valorilor implicite, consultai articolul Setarea valorilor implicite pentru cmpuri sau controale.

Utilizarea expresiilor pentru efectuarea aciunilor de macrocomand


Uneori, vei dori s efectuai o aciune sau o serie de aciuni ntr-o macrocomand numai dac este adevrat o anumit condiie. De exemplu, s presupunem c dorii ca o aciune de macrocomand s se execute numai atunci cnd valoarea dintr-o caset text este egal cu 10. Pentru a face aceasta, utilizai o expresie pentru a defini condiia n coloana Condiie a macrocomenzii. n acest exemplu, presupunem c numele casetei text este "Elemente".

14

Introducerea unei condiii pentru o aciune de macrocomand 1. n Panoul de navigare, facei clic cu butonul din dreapta pe macrocomanda pe care o modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Dac nu vedei coloana Condiie n proiectantul de interogri, atunci, n fila Proiectare, n grupul Afiare/Ascundere, facei clic pe Condiii. 3. n coloana Condiie, facei clic pe celula necompletat de lng aciunea de macrocomand pe care dorii s o modificai, apoi tastai expresia condiional. 4. Salvai modificrile, apoi nchidei macrocomanda. La fel ca n cazul proprietii Regul de validare, expresia din coloana Condiie trebuie s aib ca rezultat valoarea True sau False. Aciunea de macrocomand se execut numai atunci cnd condiia are valoarea True. Pentru mai multe informaii despre crearea macrocomenzilor, consultai articolele Noiuni de baz despre macrocomenzi n Access 2007 i Crearea unei macrocomenzi.

Utilizarea expresiilor pentru gruparea i sortarea datelor n rapoarte


Utilizai panoul Grupare, sortare i totaluri pentru a defini nivelurile de grupare i ordinile de sortare pentru datele dintr-un raport. Panoul nlocuiete caseta de dialog Sortare i grupare furnizat n versiunile anterioare de Access. Avei posibilitatea s afiai i s utilizai panoul numai atunci cnd deschidei un raport n vizualizarea Proiectare panoul apare n aceeai fereastr cu raportul. Urmtoarea ilustraie arat panoul aa cum se afieaz cnd se deschide prima oar:

Dac suntei nou n Access, gruparea este procesul de combinare a coloanelor care conin valori dublur. De exemplu, s presupunem c baza dvs. de date conine informaii despre vnzrile din filialele aflate n diferite orae. ntr-o astfel de baz de date, unul din cele mai obinuite rapoarte este "Vnzri dup ora", iar interogarea care furnizeaz datele pentru raport grupeaz datele dup valorile de ora. Gruparea poate face informaiile mai uor de citit i neles.
15

Prin contrast, sortarea este procesul de impunere a unei ordini de rnduri (nregistrri) n rezultatele interogrii. De exemplu, avei posibilitatea s sortai nregistrrile dup valorile de cheie primar (sau alt set de valori din alt cmp) n ordine ascendent sau descendent sau s le sortai dup unul sau mai multe caractere n (de exemplu) ordine alfabetic. Reinei c, implicit, interogrile din Access returneaz nregistrri ct mai rapid posibil. Cnd creai prima oar o interogare, este posibil ca Access s returneze datele ntr-un mod care are sens, cum ar fi n secvena cheilor primare. Cu toate acestea, pe msur ce utilizatorii modific datele i adaug sau elimin rnduri, Access poate returna datele n alt ordine, deoarece ordinea nou este mai rapid. Impunei o ordine de sortare atunci cnd dorii ca interogrile dvs. s returneze date n aceeai ordine, indiferent de modificrile efectuate asupra datelor. Pentru mai multe informaii despre combinarea valorilor text, consultai seciunea Combinarea valorilor text. Adugarea gruprii i sortrii la un raport 1. n Panoul de navigare, facei clic cu butonul din dreapta pe raportul pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. -sauDac raportul este deja deschis, facei clic cu butonul din dreapta pe fila document, apoi pe Vizualizare proiect n meniul de comenzi rapide. -saun fila Pagin de pornire, n grupul Vizualizare, facei clic pe butonul Vizualizare pentru a comuta ntre vizualizrile disponibile. Alternativ, facei clic pe sgeata de sub Vizualizare, apoi selectai una dintre vizualizrile disponibile din meniu. 2. n fila Proiectare, n grupul Grupare i totaluri, facei clic pe Grupare i sortare. Se afieaz panoul Grupare, sortare i totaluri n partea de jos a zonei de lucru. 3. Facei clic pe Adugare grup pentru a aduga un nivel de grupare la raport. -sauFacei clic pe Adugare sortare pentru a aduga o ordine de sortare la raport. Apare o ordine nou de grupare sau sortare n panou, plus o list de cmpuri care furnizeaz date pentru raport. Aceast ilustraie afieaz un grup nou i ordine de sortare tipice, plus o fereastr care conine cmpurile disponibile:

16

4. n fereastra care conine cmpurile disponibile, facei clic pe expresie pentru a porni Generatorul de expresii. 5. Introducei expresia n caseta de expresii (caseta de sus) din Generatorul de expresii. Asigurai-v c ncepei expresia cu operatorul egal (=).
Adugarea unei expresii la o grupare sau sortare existent

1. Repetai pasul 1 din seciunea anterioar pentru a deschide raportul n vizualizarea Proiectare. 2. Facei clic pe gruparea sau sortarea pe care dorii s o modificai. 3. Facei clic pe sgeata n jos de lng Grupare dup (pentru niveluri de grupare) sau pe Sortare dup (pentru ordini de sortare). Se afieaz o fereastr care conine cmpurile disponibile. 4. n partea de jos a ferestrei care conine cmpurile, facei clic pe expresie pentru a porni Generatorul de expresii. 5. Tastai expresia n caseta de expresii din Generatorul de expresii. Asigurai-v c ncepei expresia cu operatorul egal (=). Pentru mai multe informaii despre utilizarea Generatorului de expresii, consultai urmtoarea seciune. Pentru mai multe informaii despre gruparea i sortarea datelor din rapoarte, consultai articolul Crearea unui raport rezumat sau grupat. nceputul paginii

Utilizarea Generatorului de expresii pentru a crea expresii


Generatorul de expresii se utilizeaz pentru a genera expresii. El furnizeaz acces rapid la numele cmpurilor i controalelor din baza dvs. de date i la multe funcii predefinite care sunt disponibile cnd scriei expresii. Generatorul de expresii poate fi vzut i ca un mod de a
17

cuta i insera lucruri care v este greu s le reinei, cum ar fi numele de identificatori (de exemplu, cmpuri, tabele, formular i interogri) i nume de funii i argumente. Generatorul de expresii poate fi utilizat pentru a crea o expresie de la zero sau pentru a selecta expresii predefinite pentru a afia numere de pagin, data curent sau data i ora curente. Avei posibilitatea s pornii Generatorul de expresii din majoritatea locurilor n care ai scrie expresii n mod manual, cum ar fi proprietatea Surs control a unui control sau proprietatea Regul de validare a unui cmp de tabel. Ca regul, dac vedei butonul Generare( ), avei posibilitatea s facei clic pe el pentru a porni Generatorul de expresii. Aceast ilustraie i textul care urmeaz afieaz Generatorul de expresii:

Caseta de expresii Seciunea superioar a generatorului conine o caset de expresii, unde se construiete expresia. Avei posibilitatea s tastai expresia n caset n mod manual sau s selectai elemente din cele trei coloane din seciunea inferioar a Generatorului de expresii i s le adugai apoi la caseta de expresii. Pentru a aduga un element, facei dublu clic pe el sau selectai-l din una sau mai multe coloane i facei clic pe Lipire. Butoanele de operatori Seciunea median a Generatorului de expresii afieaz butoane pentru inserarea operatorilor aritmetici i logici obinuii n expresii. Pentru a insera un operator n caseta de expresii, facei clic pe butonul potrivit. Pentru a afia o list mai lung de operatori care pot fi utilizai n expresii, facei clic pe folderul Operatori n coloana din stnga jos, apoi pe categoria dorit n coloana din mijloc. Coloana din dreapta afieaz apoi toi operatorii din categoria selectat. Pentru a insera un operator, facei dublu clic pe operator sau selectai-l i facei clic pe Lipire. Elementele de expresii Seciunea inferioar conine aceste trei coloane:
18

Coloana din stnga afieaz foldere care listeaz tabelele, interogrile, formularele i rapoartele din baza de date, ct i funciile predefinite disponibile i funciile definite de utilizator, constantele, operatorii i expresiile obinuite. Coloana din mijloc afieaz elemente sau categorii specifice de elemente pentru folderul care este selectat n coloana din stnga. De exemplu, dac facei clic pe Funcii predefinite n coloana din stnga, coloana din mijloc afieaz categorii de funcii. Coloana din dreapta afieaz valorile, dac exist, pentru elementele care le selectai n coloanele din stnga i din dreapta. De exemplu, dac facei clic pe Funcii predefinite n coloana din stnga, apoi pe o categorie de funcii n coloana din mijloc, coloana din dreapta listeaz toate funciile predefinite n categoria selectat.

Generai expresia tastnd text n caseta de expresii i lipind elemente din alte zone n Generatorul de expresii. De exemplu, avei posibilitatea s facei clic pe n coloana din stnga jos pentru a vedea oricare dintre obiectele din baza de date, ct i funciile, constantele, operatorii i expresiile obinuite. Cnd facei clic pe un element din coloana din stnga, celelalte coloane se modific corespunztor. De exemplu, cnd facei clic pe numele unui tabel n coloana din stnga, coloana din mijloc listeaz cmpurile din acel tabel. Cnd facei dublu clic pe Funcii, apoi pe Funcii predefinite, coloana din mijloc listeaz toate categoriile de funcii, iar coloana din dreapta listeaz funciile din acele categorii. Cnd facei dublu clic pe o funcie pentru a o insera n expresie, funcia i textul are indic argumentele necesare pentru acea funcie apar ca text substituent n caseta expresiei. Apoi, avei posibilitatea s nlocuii textul cu valorile argumentelor. Cnd lipii un identificator (numele unui cmp sau control de tabel) n expresie, Generatorul de expresii insereaz numai prile identificatorului care sunt necesare n contextul curent. De exemplu, dac pornii Generatorul de expresii din foaia de proprieti a unui formular denumit Clieni, apoi lipii un identificator pentru proprietatea Vizibil a formularului n expresie, Generatorul de expresii lipete numai numele proprietii Vizibil. Dac utilizai aceast expresie n afara contextului formularului, trebuie s includei identificatorul complet: Forms! [Clieni].Vizibil. Pornirea Generatorului de expresii dintr-un tabel, formular sau raport 1. n Panoul de navigare, facei clic cu butonul din dreapta pe tabelul, formularul sau raportul pe care l modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Dac deschidei un tabel, n coloana Nume cmp, facei clic pe cmpul pe care dorii s-l modificai, apoi, n fila General, facei clic pe proprietatea care va conine expresia, apoi facei clic pe butonul Generare de lng proprietate. -sauDac deschidei un formular sau raport, facei clic cu butonul din dreapta pe controlul pe care dorii s-l modificai, facei clic pe Proprieti, gsii proprietatea care va conine expresia, apoi facei clic pe butonul Generare de lng proprietate. Pornirea Generatorului de expresii ntr-o interogare
19

1. n Panoul de navigare, facei clic cu butonul din dreapta pe interogarea pe care dorii s o modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. -sauDac interogarea este deschis, facei clic cu butonul din dreapta pe fila interogrii, apoi pe Vizualizare proiect n meniul de comenzi rapide. 2. Facei clic pe celula din grila de proiectare care va conine expresia. De exemplu, facei clic pe celula Criterii pentru coloana n care dorii s furnizai criteriile sau pe celula Cmp pentru coloana n care dorii s creai un cmp calculat. 3. n fila Proiectare, n grupul Iniializare interogare, facei clic pe Generator. Pentru mai multe informaii despre crearea expresiilor, incluznd expresiile mostr i sintaxa expresiilor, consultai articolul Ghid pentru sintaxa expresiilor. nceputul paginii

Utilizarea expresiilor pentru scopuri practice


Aceast seciune prezint cteva dintre modurile n care se pot utiliza expresii pentru a rezolva probleme i a calcula informaii necesare pentru formulare, rapoarte i tabele.

"Eantionarea" unei nregistrri noi cu data i ora curente


n unele tabele, este important s inei evidena datei sau a datei i a orei (s marcai data i ora) cnd adugai o nregistrare. Pentru ca Access s completeze automat acea valoare pentru dvs., avei posibilitatea s creai un cmp cu tipul de date Dat/Or i s setai proprietatea Valoare implicit a cmpului la Date() sau Now(). Funcia Date returneaz data curent, aa cum este stocat de ceasul de sistem al computerului. Funcia Now returneaz data i ora curente. Urmtorii pai explic modul n care se adaug un cmp la un tabel, cum se seteaz tipul de date al unui cmp la Dat/Or i cum se adaug funciile Now sau Date la acel cmp. Adugarea unui cmp Dat/Or i a unui cmp marc de timp 1. n Panoul de navigare, facei dublu clic pe tabelul pe care dorii s-l modificai. Access deschide tabelul n Vizualizare foaie de date. 2. Facei clic pe prima coloan necompletat, aflat la marginea tabelului. Dac nu gsii coloana necompletat, cutai cuvintele Adugare cmp nou n antetul coloanei. 3. Facei dublu clic pe antetul de coloan i tastai un nume pentru cmp, cum ar fi Dat adugat, apoi apsai ENTER. -sau-

20

Facei clic cu butonul din dreapta pe coloan, facei clic pe Redenumire, tastai un nume pentru cmp, apoi apsai ENTER. 4. n fila fila Foaie de date, n grupul Tip de date i formatare,facei clic pe sgeata n jos de lng lista Tip de date i selectai Dat/Or. 5. Salvai modificrile, inei tabelul deschis i trecei la urmtorul set de pai. Adugarea unei expresii de dat la un cmp Dat/Or 1. Facei clic cu butonul din dreapta pe fila document, apoi pe Vizualizare proiect n meniul de comenzi rapide. 2. n coloana Nume cmp, facei clic pe cmpul nou. 3. n fila General, facei clic pe caseta proprietii Valoare implicit. 4. Tastai Now() sau Date(). 5. Facei clic pe caseta proprietii Afiare Selecie date i setai valoarea la Niciodat. 6. Salvai modificrile, apoi nchidei tabelul. Acum, cnd adugai o nregistrare la tabel, Access insereaz automat data sau data i ora n cmpul Dat adugat.

Combinarea valorilor text


Cnd dorii s combinai valorile din dou sau mai multe cmpuri text, utilizai operatorul ampersand (&). De exemplu, s presupunem c avei un cmp denumit Angajai. Introducei prenumele i numele de familie al angajailor n cmpuri separate, dar dorii s se afieze numele complet n antetul formularului. Pentru a afia numele complet, utilizai aceast expresie: =[Prenume] & " " & [Nume] Expresia utilizeaz operatorul & pentru a combina valorile din cmpurile Prenume i NumeDeFamilie. Expresia utilizeaz o pereche de ghilimele duble separate de caracterul spaiu pentru a insera un spaiu ntre prenume i nume de familie. Reinei c spaiile dintre numele cmpurilor i operatorii ampersand nu afecteaz afiarea datelor (rolul lor este de a face expresia mai uor de citit). Cnd dorii s inserai un element ntre cmpuri, cum ar fi un spaiu, semn de punctuaie sau text literal, trebuie s ncadrai valoarea suplimentar ntre ghilimele. Ca alt exemplu, avei posibilitatea s utilizai aceast expresie pentru a afia numele de familie i prenumele separate prin virgul: =[NumeDeFamilie] & ", " & [Prenume] n acest caz, valorile ncadrate de ghilimele insereaz o virgul i u spaiu ntre nume.

21

n paii din aceast seciune se presupune c avei un formular i c avei un tabel cu cmpuri denumite Prenume i NumeDeFamilie. Dac nu, avei posibilitatea s modificai expresia din aceti pai pentru a se potrivi cu datele dvs. Adugarea unei casete text cu o expresie pentru nume complete 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul sau raportul pe care l modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n fila Proiect, n grupul Controale, facei clic pe Caset text. 3. Glisai indicatorul n formular sau raport pentru a crea o caset text. 4. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 5. Facei clic pe fila Date. 6. Modificai valoarea din caseta Surs control la =[Prenume] & " " & [NumeDeFamilie], apoi apsai TAB. 7. nchidei foaia de proprieti i salvai modificrile. Uneori, vei ncerca s combinai nregistrri care nu au o valoare introdus ntr-un cmp. Valoarea absent este denumit valoare nul. Cnd utilizai operatorul & i un cmp nu are nicio valoare, Access returneaz un ir de lungime zero pentru acel cmp. De exemplu, dac nregistrarea unui angajat are numai de familie, expresia din exemplul anterior returneaz un ir de lungime zero pentru cmpul Prenume, un caracter spaiu, apoi valoarea din cmpul NumeDeFamilie. Cnd combinai valorile, este posibil s dorii s includei o valoare, cum ar fi virgula, numai atunci cnd exist date ntr-un anumit cmp. Pentru a efectua acest lucru, utilizai operatorul + n loc de operatorul &. De exemplu, s presupunem c avei un tabel denumit Clieni, iar tabelul conine cmpurile denumite Ora, Jude i Cod potal. Dorii s combinai aceste cmpuri pentru un raport i este posibil ca unele nregistrri s nu aib o valoare n cmpul Jude. n acest caz, vei avea o virgul nedorit nainte de codul potal dac utilizai operatorul &. Pentru a elimina virgula nedorit, utilizai operatorul (+), ca n urmtorul exemplu: =([Ora] & (", " + [Jude]) & " " & [CodPotal]) Operatorul + combin textul n acelai mod ca i operatorul &. Cu toate acestea, operatorul + accept ceea ce se numete Propagare de valori nule. Acest lucru nseamn c, dac orice component din expresie este nul, ntreaga expresie va fi nul. n exemplul de mai sus, observai seciunea (", " [Jude]). Deoarece se utilizeaz operatorul +, expresia din paranteze interioare include o virgul numai dac exist o valoare n cmpul Jude. Dac nu exist o valoare, propagarea de valori nule intr n efect i ntreaga expresie cu paranteze interioare are ca rezultat o valoare nul, "ascunznd" astfel virgula.
22

Crearea controalelor calculate pentru efectuarea calculelor aritmetice


Avei posibilitatea s utilizai expresii pentru a aduga, scdea, nmuli i mpri valori din dou sau mai multe cmpuri sau controale. De exemplu, s presupunem c nregistrai data la care un client trebuie s primeasc o comand i data la care se expediaz comanda. Avei posibilitatea s aflai cu cte zile mai devreme (sau mai trziu) a fost expediat o comand dac scdei valoarea din cmpul DatExpediere din valoare din cmpul DatCerut. Avei posibilitatea s facei aceasta deoarece Access poate efectua calcule aritmetice cu date.

Rezultatul unui calcul de dat este denumit interval. Aceast valoare conine o component zile n partea stng a virgulei zecimale i o component or n partea dreapt. Dac valoarea returnat este un numr pozitiv, tii cu cte zile nainte de termen a fost expediat comanda. Dac valoare este negativ, tii cu cte zile ntrziere a fost expediat comanda. Dac valoarea este 0, nseamn c acea comand a fost expediat la timp. Paii din aceast seciune presupun c avei un formular i c formularul este legat la un tabel de date care conin comenzi. La rndul su, tabelul Comenzi conine cmpuri denumite DatCerut i DatExpediere. Avei posibilitatea s modificai expresia n urmtorii pai pentru a lucra cu baza de date. Adugarea unei casete text care conine o expresie pentru a calcula numrul de zile diferen ntre data cerut pentru expediere i data expedierii efective 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul sau pe raportul pe care l modificai i facei clic pe Vizualizare proiect pe meniul de comenzi rapide. 2. n fila Proiect, n grupul Controale, facei clic pe Caset text. 3. Glisai indicatorul n formular sau raport pentru a crea o caset text. 4. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 5. Facei clic pe fila Date. 6. n caseta proprietii Surs control, tastai =[DatCerut]-[DatExpediere], apoi apsai TAB. Not Nu uitai s nlocuii identificatorii DatCerut i DatExpediere cu numele proprii de cmpuri de tabel. 7. Salvai modificrile, apoi nchidei foaia de proprieti. Cnd utilizai operatorii +, , *, / sau \ pentru a efectua calcule cu dou valori i una dintre valori este nul (adic nu s-a introdus nicio valoare), valoarea expresiei va fi tot nul. De
23

exemplu, dac una din datele din expresiile anterioare este nul, valoarea ntregii expresii va fi tot nul. ntr-un raport, acel rezultat va afia un spaiu gol. Dac dorii s nlocuii valoarea nul cu 0, avei posibilitatea s utilizai funcia Nz pentru a efectua conversia valorii n zero. De exemplu: =Nz([DatCerut]-[DatExpediere],0) Not De asemenea, avei posibilitatea s setai cmpurile din tabel astfel nct utilizatorii s nu poat introduce valori nule. Cnd proiectai tabele, setai proprietatea Cerut pentru acel cmp la Da. De asemenea, ar trebui s setai proprietatea Valoare implicit pentru acel cmp la o valoare diferit de nul.

Adugarea valorilor n dou controale


Deseori, vei dori s adugai valori n dou coloane. De exemplu, pentru a calcula costul total al unei comenzi, adugai valorile n controalele Subtotal i Transport marf, dup cum se arat n urmtoarea ilustraie

n urmtorii pai se presupune c avei un formular cu dou controale care conin date numerice. n acest caz, controalele sunt denumite Subtotal i Transport marf. Modificai numele controalelor din urmtoarea expresie pentru a funciona cu propriile date. Adugarea unei casete text cu o expresie care calculeaz un total 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul sau pe raportul pe care l modificai i facei clic pe Vizualizare proiect pe meniul de comenzi rapide. 2. n fila Proiect, n grupul Controale, facei clic pe Caset text. 3. Glisai indicatorul n formular sau raport pentru a crea o caset text. 4. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 5. Facei clic pe fila Toate. 6. Setai valorile proprietii dup cum este afiat n urmtorul tabel. Proprietate Setare Nume Total Surs control =[Subtotal]+[Transport marf] Format Moned 7. Not Reinei s modificai identificatorii din expresie (Subtotal i Transport marf) pentru a se potrivi cu numele de controale din formularul dvs.
24

8. Salvai modificrile, apoi nchidei foaia de proprieti.

nmulirea a dou valori pentru a calcula taxele pe vnzri sau taxa TVA
S presupunem c dorii s calculai taxele pe vnzare sau taxa TVA pentru o comand. Avei posibilitatea s facei aceasta utiliznd o expresie care nmulete dou valori existente procentul TVA i cantitatea pentru fiecare comand. Avei posibilitatea s plasai expresia ntrun control caset text i s afiai rezultatele ntr-un formular sau raport. Pentru acest exerciiu, s presupunem c exist dou tabele, TVA i Subtotal. De asemenea, avei posibilitatea s stocai aceste valori n controalele dintr-un formular sau raport, dar pentru acest exerciiu s presupunem c se afl ntr-un tabel. Adugarea unei casete text cu o expresie pentru a calcula volumul taxei 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul sau raportul pe care l modificai, apoi facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n fila Proiect, n grupul Controale, facei clic pe Caset text. 3. Glisai indicatorul n formular sau raport pentru a crea o caset text. 4. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 5. Facei clic pe fila Toate. 6. Setai valorile proprietii dup cum este afiat n urmtorul tabel. Proprietate Setare Nume TVA Surs control =[Subtotal]*[TVA] Format Simbol monetar 7. Not Reinei s modificai identificatorii de cmp (Subtotal i TVA) pentru a se potrivi cu numele de cmpuri din propria baz de date. 8. nchidei foaia de proprieti.

nsumarea i numrarea grupurilor de nregistrri


Deseori, trebuie s calculai o sum de valori stocate ntr-un grup de nregistrri. De exemplu, este posibil s dorii s calculai un total de grup pentru un subsol de grup ntr-un raport sau un subtotal de comand pentru elementele de linie dintr-un formular. Alteori, va fi necesar s numrai elementele n loc s le nsumai. Pentru a calcula suma pentru un grup de nregistrri, utilizai funcia Sum, iar pentru a numra un grup de nregistrri, utilizai funcia Count.

25

De exemplu, pentru a contoriza numrul de comenzi dintr-un raport care afieaz comenzile grupate dup client, se poate utiliza urmtoarea expresie: =Count([IDComand]) Utilizai numele de cmpuri n expresia argument pentru funciile Sum i Count, dar nu utilizai nume de control. Numele de cmp pot proveni dintr-un tabel sau dintr-o interogare. Avei posibilitatea s utilizai i numele unui cmp calculat dintr-o interogare. Totui, cnd dorii s aflai totalul valorilor dintr-un control calculat, trebuie s repetai expresia care este utilizat n controlul calculat n funcie. Cnd dorii s v referii la aceeai expresie de mai multe ori sau dac vei utiliza o funcie, cum ar fi Sum, se recomand s includei expresia n interogarea subiacent formularului. Astfel, calculul poate fi efectuat n interogare n loc s fie efectuat n formular. Este deseori mai rapid s se efectueze un calcul ntr-o interogare. Pentru mai multe informaii despre nsumare i contorizare, consultai urmtoarele articole:

Contorizarea rndurilor dintr-o foaie de date Afiarea totalurilor de coloan ntr-o foaie de date Contorizarea n rapoarte nsumarea n rapoarte Funcia Count Funcia DCount Funcia Sum Funcia DSum

Urmtoarele seciuni explic unele moduri n care se pot utiliza aceste funcii.

Crearea unui control calculat ntr-un formular i referirea la acel control din alt formular
Uneori, va fi necesar s creai un control calculat un control care utilizeaz o expresie ca surs de date apoi s facei referire la valorile din control dintr-un control separat aflat n alt formular. Paii din aceast seciune explic modul n care se utilizeaz funcia SUM ntrun control calculat i cum se face referire la acel control din alt formular. n paii urmtori se presupune c utilizai o baz de date e comenzi i un formular de introducere de comenzi, format din dou componente un formular principal i un subformular. Formularul principal conine date despre comanda complet, cum ar fi informaii de facturare i livrare. Subformularul conine detalii despre elementele din liniile de comand, cum ar fi produsele, cantitile din fiecare produs i preul unitar al fiecrui produs. Interogri separate furnizeaz date pentru fiecare component, iar interogarea pentru subformular are un cmp calculat denumit PreDetaliat. n acest exemplu, "preul detaliat"

26

este cantitatea din fiecare produs din fiecare linie de element nmulit cu numrul de elemente, cu reducerile, etc. Pentru a calcula cantitile subtotale pentru fiecare comand, trebuie s nsumai valorile din cmpul PreDetaliat. Efectuai aceasta introducnd expresia de mai jos ntr-o caset text. n acest exemplu, caseta text se afl n subsolul subformularului:

Paii urmtori explic modul n care se adaug controlul calculat la subformular. Informaiile care urmeaz acestor pai explic modul n care se face referire la control din alt control. Adugarea unei casete text cu o expresie care calculeaz subtotaluri ntr-un formular 1. n Panoul de navigare, facei clic cu butonul din dreapta pe subformularul pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Dac nu vedei seciunea subsol a formularului n formular, facei clic pe bara Subsol formular, apoi glisai n jos marginea inferioar a barei. 3. n fila Proiect, n grupul Controale, facei clic pe Caset text. 4. n seciunea subsol a formularului, glisai indicatorul din formular pentru a crea caseta text. 5. Facei clic cu butonul din dreapta pe caseta text, apoi facei clic pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 6. Facei clic pe fila Toate, apoi setai valorile proprietii dup cum se afieaz n urmtorul tabel. Proprietate Setare Nume Subtotal comand Surs control =Sum([Pre detaliat]) Format Moned 7. Not Dac adaptai aceti pai pentru a funciona cu propriile date, nu uitai s modificai numele cmpului (Pre detaliat) pentru a se potrivi cu numele cmpului din baza dvs. de date. 8. Facei clic pe caseta din colul din stnga sus al subformularului caseta de lng rigl pentru a afia proprietile pentru ntregul subformular. 9. Gsii caseta de proprieti Vizualizare implicit i modificai valoarea ei la Foaie de date. 10. Salvai modificrile, nchidei foaia de proprieti, apoi trecei la paii urmtori. Dei caseta text din subformular calculeaz subtotalul comenzii, este posibil s nu dorii s se afieze valorile rezultate n subformular, deoarece subformularele apar deseori ca foi de date.
27

Adugarea unui subtotal va nsemna, cel puin, c utilizatorii vor vedea aceeai valoare de mai multe ori. De exemplu, este posibil s vedei acest tip de rezultat: Produs Produs 1 Produs 2 Produs 3 Cantitate Pre unitar Reducere Pre detaliat Subtotal 4 8 lei 0.00% 32 lei 137 lei 5 9 lei 0.00% 45 lei 137 lei 6 10 lei 0.00% 60 lei 137 lei

Dup cum vedei, un element de rezumare de date aparine unui singur cmp, i este logic s se plaseze acel cmp ntr-un formular principal. Pentru a efectua aceasta, adugai controlul n formularul principal care face referire la controlul din subformular. Urmtoarea ilustraie afieaz cum se efectueaz aceasta:

Numele controlului din subformular n formularul principal Proprietatea Formular , care furnizeaz acces la proprietile i controalele subformularului Numele controlului caset text din subformular Urmtorii pai explic modul n care se creeaz o caset text care face referire la valori din alt control. Crearea controlului 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul principal pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n fila Proiect, n grupul Controale, facei clic pe Caset text. 3. Gsii zona din formular n care dorii s adugai controlul, apoi glisai indicatorul n formular pentru a crea caseta text. 4. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 5. Facei clic pe fila Toate. 6. Setai valorile proprietii dup cum este afiat n urmtorul tabel. Proprietate Setare Nume Subtotal Surs control =[Subformular Comenzi].Form![SubtotalComand] Format Simbol monetar
28

7.

Not Dac adaptai aceti pai pentru a funciona cu propriile date, reinei s modificai identificatorii (numele de control i formular furnizate ntre paranteze drepte) pentru a se potrivi cu numele celor din baza dvs. de date.

8. Salvai modificrile, apoi nchidei foaia de proprieti.

Cutarea unei valori ntr-un tabel


Cnd proiectai un formular, este posibil s dorii s afiai o valoare dintr-un tabel sau interogare, diferit de cea la care este legat formularul. De exemplu, s presupunem c avei un formular Produse, care este legat la un tabel Produse. Dup ce proiectai formularul, decidei c dorii ca formularul s afieze i numele persoanei de contact care reprezint furnizorul pentru fiecare produs date care se afl ntr-un tabel denumit Furnizori. Access ofer dou modaliti pentru a efectua acest tip de activitate. Avei posibilitatea s utilizai expertul Cutare pentru a crea un cmp de cutare (cea mai obinuit tehnic) sau s creai o expresie. Pentru mai multe informaii despre expertul Cutare, a crui descriere depete subiectul curent, consultai Adugare sau modificarea unui cmp pentru a cuta o valoare n alt tabel. Pentru a crea o expresie care caut valori n alt tabel, utilizai funcia DLookup. Furnizai trei argumente funciei DLookup:

Numele cmpului a crui valoare dorii s o cutai Tabelul sau interogarea unde se afl cmpul Opional, criteriile de utilizat pentru gsirea nregistrrii

Pentru a aduga persoana de contact a furnizorului, deschidei formularul Produse n vizualizarea Proiectare i adugai o caset text cu eticheta Nume persoan de contact. Expresia de utilizat pentru aceast caset text este: =DLookup("[NumePersoanDeContact]","[Furnizori]","[IDFurnizor]=" & Forms! Produse!IDFurnizor) Adugarea castei text a persoanei de contact a furnizorilor 1. n Panoul de navigare, facei clic cu butonul din dreapta pe formularul principal pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n fila Proiect, n grupul Controale, facei clic pe Caset text. 3. Gsii zona din formular n care dorii s adugai controlul, apoi glisai indicatorul n formular pentru a crea caseta text. 4. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti.
29

5. Facei clic pe fila Toate. 6. Setai valorile proprietii dup cum este afiat n urmtorul tabel. Proprietate Setare Etichet Nume persoan de contact Surs =DLookup("[NumePersoanDeContact]","[Furnizori]","[IDFurnizor]=" & control Forms!Produse!IDFurnizor) 7. Salvai modificrile, apoi nchidei foaia de proprieti. Aceast expresie caut n tabelul Furnizori i returneaz numele persoanei de contact a furnizorului al crui ID se potrivete cu valoarea din controlul IDFurnizor din formularul Produse. Observai cum este utilizat operatorul & pentru a genera al treilea argument. O eroare obinuit pe care trebuie s o evitai este de a ncadra n ghilimele ntregul argument n loc de a ncadra numai poriunea text dinaintea operatorului &. Not Ca alternativ la utilizarea funciei DLookup, avei posibilitatea s modificai interogarea subiacent pentru a include numai informaiile de care avei nevoie. Utilizarea unei interogri este deseori mai eficient.

Adugarea unei date imprimate la un raport


Utilizatorii de rapoarte doresc deseori s tie cnd s-a imprimat un raport. Acest lucru le poate spune dac datele sunt actuale sau nu. Pentru ca Access s completeze data pentru dvs., utilizai funcia Now sau Date. Funcia Now returneaz data i ora curente, dup cum sunt stocate de ceasul computerului. Funcia Date returneaz numai data curent. Avei posibilitatea s utilizai funcia Format pentru a formata rezultatul oricrei funcii n oricare dintre formatele disponibile de dat i or. Adugarea datei imprimate la un raport 1. n Panoul de navigare, facei clic cu butonul din dreapta pe raportul pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Dac nu vedei seciunea de subsol a formularului n formular, facei clic pe bara Subsol formular, apoi glisai n jos marginea inferioar a barei pentru a extinde raportul. 3. n fila Proiect, n grupul Controale, facei clic pe Caset text. 4. n seciunea subsol a raportului, glisai indicatorul pentru a crea caseta text. 5. Facei clic cu butonul din dreapta pe caseta text, apoi pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti. 6. Facei clic pe fila Toate, apoi setai valorile proprietii dup cum se afieaz n urmtorul tabel. Proprietate Setare
30

Nume Imprimare dat Surs control ="Imprimat la " & Date() Format Dat medie 7. Salvai modificrile, apoi nchidei foaia de proprieti.

Imprimarea numrului de pagin ntr-un raport


Cnd proiectai un raport care completeaz mai mult de o pagin imprimat, se recomand s adugai numere de pagin. Acestea se pot aduga utiliznd proprietateaPagin, care numr paginile automat cnd examinai sau imprimai raportul. Proprietatea Pagin este disponibil numai cnd examinai sau imprimai un raport, astfel c nu apare n foaia de proprieti a raportului. Pentru a utiliza proprietatea Pagin, plasai o caset text n antetul sau subsolul raportului, apoi tastai Pagin n proprietatea Surs control a casetei text. Aceasta este aceeai procedur cu cea pe care o urmai cnd utilizai o funcie precum Now sau Date, cu excepia faptului c nu includei paranteze dup proprietatea Pagin. Aceast ilustraie afieaz cum se poate aduga proprietatea Pagin direct la un control caset text:

n plus, avei posibilitatea s generai o expresie care utilizeaz proprietile Pagin i Pagini. Proprietatea Pagini returneaz numrul total de pagini al raportului. De exemplu, urmtoarea expresie produce numerotarea paginilor n formatul Pagina 1 din 10. ="Pagin " & [Pagin] &" din " & [Pagini] Urmtorii pai explic modul n care se adaug o expresie care utilizeaz ambele proprieti n subsolul unui raport. Paii explic modul n care se adaug numere de pagin utiliznd vizualizarea Proiectare i vizualizarea Aspect. Utilizarea vizualizrii Proiectare pentru a aduga numere de pagin 1. n Panoul de navigare, facei clic cu butonul din dreapta pe raportul pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Dac nu vedei seciunea subsol a formularului n formular, facei clic pe bara Subsol formular, apoi glisai n jos marginea inferioar a barei pentru a extinde raportul. 3. n fila Proiect, n grupul Controale, facei clic pe Caset text. 4. n seciunea subsol a raportului, glisai indicatorul pentru a crea caseta text. 5. Facei clic cu butonul din dreapta pe casta text, apoi facei clic pe Proprieti. -saun fila Proiect, n grupul Afiare/Ascundere, facei clic pe Foaie de proprieti.
31

6. Facei clic pe fila Date, apoi modificai valoarea din caseta de proprieti Surs control n: ="Pagin " & [Pagin] &" din " & [Pagini]. 7. Salvai modificrile, apoi nchidei foaia de proprieti. Utilizarea vizualizrii Aspect pentru a aduga numere de pagin 1. n Panoul de navigare, facei clic cu butonul din dreapta pe raportul pe care dorii s-l modificai, apoi facei clic pe Vizualizare aspect. 2. n fila Formatare, n grupul Controale, facei clic pe Numere de pagin. Se afieaz caseta de dialog Numere de pagin. 3. Sub Format, facei clic pe Pagina N din M. 4. Sub Poziie, selectai o opiune. 5. Sub Aliniere, selectai o opiune in list. 6. Bifai sau de bifai caseta de selectare Afiare numr pe prima pagin, apoi facei clic pe OK. Not Generatorul de expresii include unele expresii obinuite care se pot utiliza pentru creare numerelor de pagin. Pentru mai multe informaii despre utilizarea Generatorului de expresii, consultai articolul Utilizarea Generatorului de expresii pentru crearea expresiilor.

Imprimarea unei pri a unei valori valoare dintr-un raport


Dac primele sau ultimele cteva caractere dintr-un cmp au o semnificaie special, avei posibilitatea s organizai un raport n funcie de ele. De exemplu, dac primele dou caractere dintr-un cod de identificare a unui produs indic tipul produsului, avei posibilitatea s grupai produsele dup primele dou caractere din cod, apoi s identificai fiecare grup imprimnd caracterele din antetul grupului. Pentru a aceasta, se utilizeaz funcia Left pentru a extrage primele n caractere dintr-o valoare dintr-un cmp Text i funcia Right pentru a extrage ultimele n caractere. n ambele cazuri, primul argument este numele cmpului sau expresia text, iar al doilea este numrul de caractere pe care dorii s le extragei. Urmtorul tabel afieaz expresiile care utilizeaz aceste funcii. Se presupune c datele se afl ntr-un tabel denumit IDComponent. Dac valoarea din IDComponent este: Aceast expresie Returneaz AA105 =Left([IdComponent],2) AA AA105 =Right([IDComponent],3) 105 Pentru mai multe informaii despre funciile Left i Right, consultai articolele Funcia Left i Funcia Right.

Utilizarea separatorilor de litere ntr-o list alfabetic

32

Pentru identificarea rapid ntr-o list de produse, avei posibilitatea s grupai produsele dup prima liter din numele lor i s imprimai litera ntr-un antet de grup, dup cum se afieaz n urmtoarea ilustraie.

Pentru a ncepe un grup nou de fiecare dat cnd se modific prima liter a produsului i pentru a sorta apoi produsele din fiecare grup n ordine alfabetic, creai dou grupuri n panoul Grupare, sortare i totaluri, apoi setai fiecare grup dup cum se afieaz n urmtoarele tabele. Grupare dup NumeProdus dup primul cu clic pe titlu fr totaluri caracter pentru adugare fr o seciune se menine grupul cu o seciune antet subsol reunit pe o pagin cu A dup valoarea cu clic pe titlu fr totaluri deasupra ntreag pentru adugare cu o seciune cu o seciune nu se menine grupul antet subsol reunit pe o pagin cu A deasupra

Sortare dup NumeProdus

Afiarea panoului Grupare, sortare i totaluri


1. n Panoul de navigare, facei clic cu butonul din dreapta pe raportul pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n fila Proiectare, n grupul Grupare i totaluri, facei clic pe Grupare i sortare. Pentru a imprima numai prima liter dintr-un nume la nceputul unui grup nou, utilizai expresia din caseta text din antetul NumeProdus: =Left([NumeProdus],1)

Imprimarea echivalentului numeric al unei date calendaristice

33

Avei posibilitatea s organizai nregistrrile utiliznd valori numerice pentru o perioad de timp o perioad cum ar fi un an, un trimestru, o lun sau o sptmn. De exemplu, un an se mparte n 53 de sptmni calendaristice (prima i ultima sptmn sunt deseori pariale). Utiliznd acea valoare numeric, avei posibilitatea s grupai comenzile care au fost expediate n funcie de sptmna anului. Pentru a gsi o parte a unei valori de date numerice, cum ar fi numai luna anului, utilizai funcia DatePart. Funcia utilizeaz urmtoarea sintax: DatePart (interval, dat[, primaziasptmnii] [, primasptmnaanului])

Argumentul interval este prescurtarea prii datei care dorii s se returneze. Exemple de prescurtri valide sunt "yyyy" pentru un an format din patru cifre, , "q" pentru un trimestru calendaristic i "m" pentru o lun. Argumentul dat este un nume de cmp sau de element literal, cum ar fi "1 iulie 2007". Argumentele primaziasptmnii i primasptmnaanului sunt opionale. Argumentul primaziasptmnii returneaz duminic, dac nu specificai alt zi. Pentru a specifica alt zi, introducei o valoare ntre 2 i 7 (valoarea 1 este implicit). Argumentul primasptmnaanului returneaz sptmna n care are loc 1 ianuarie. Pentru a specifica alt sptmn, introducei 2 sau 3. Utilizai 2 pentru a specifica prima sptmn care conine cel puin patru zile n anul nou; utilizai 3 pentru a specifica prima sptmn complet din an. Urmtorul tabel listeaz exemple de rezultate care sunt returnate pentru un cmp denumit "Srbtoare". Cmpul Srbtoare poate stoca srbtorile care au loc n rile sau regiunile unde firma dvs. are filiale. Dac valoarea din Srbtoare este 1 ianuarie 2007 31 decembrie 2007 31 decembrie 2007 Aceast expresie Returneaz

=DatePart("w",[Srbtoare]) 2 (ziua sptmnii) =DatePart("ww",[Srbtoare]) 53 (sptmn din an) 2007 (numr de an format din =DatePart("yyyy",[Srbtoare]) patru cifre)

Pentru mai multe informaii, consultai articolul Funcia DatePart. Pentru mai multe informaii despre crearea rapoartelor grupate, consultai articolul Crearea unui raport rezumat sau grupat.

Compararea rezultatelor pentru mai muli ani


Cnd dorii s analizai rezultatele de vnzri pentru mai mult de un an, este convenabil s grupai rezultatele pentru o perioad de timp, cum ar fi trimestru sau lun. Astfel, avei posibilitatea s vedei rapid cum se compar performana pentru o perioad de timp de un an cu aceeai perioad de timp din alt an. De exemplu, s presupunem c dorii s vedei un raport denumit Rezumat de vnzri dup trimestru, care afieaz numrul de comenzi care au fost expediate i totalurile de vnzri.

34

Pentru a crea anteturile i subsolurile grupului i a specifica ordinea de sortare pentru acest raport, creai dou grupuri, fiecare cu propria ordine de sortare, apoi setai proprietile din panoul Grupare, sortare i totaluri pentru fiecare grup i ordine de sortare dup cum se afieaz n urmtoarele tabele. Reinei c utilizai o expresie pentru a grupa dup trimestru atunci cnd comenzile au fost expediate. Grupare dup expresie Utilizai aceast expresie: =DatePart("q",[DatExpediere]) dup cu titlu ascendent valoarea fr totaluri Trimestru ntreag cu o cu o se menine seciune seciune grupul reunit antet subsol pe o pagin dup an cu o seciune subsol fr totaluri nu se menine grupul reunit pe o pagin cu clic pe titlu pentru adugare

Grupare dup DatExpediere

de la cel mai vechi la cel mai nou fr o seciune antet

Afiarea panoului Grupare, sortare i totaluri 1. Deschidei raportul n vizualizarea Proiectare. 2. n fila Proiectare, n grupul Grupare i totaluri, facei clic pe Grupare i sortare. Pentru a imprima numrul trimestrului la nceputul unui grup nou, plasai caseta text n antetul grupului utiliznd aceeai expresie care ai utilizat-o n caseta Sortare i grupare: =DatePart("q", [DatExpediere])

Calcularea totalurilor de elemente de linie

35

S presupunem c dorii un raport factur, care afieaz informaii despre o comand. Trebuie s calculai preul detaliat (vnzrile totale pentru fiecare produs) pentru elementele linie. Mai nti, creai o interogare care furnizeaz date pentru raport. Includei n acea interogare toate cmpurile necesare pentru din toate tabelele de care avei nevoie, cum ar fi tabelul Comenzi, tabelul Detalii comenzi i tabelul Clieni. Avei posibilitatea s creai un cmp calculat n grila de proiectare a interogrii, care calculeaz preul detaliat pentru fiecare produs din factur. Crearea unui cmp calculat 1. n Panoul de navigare, facei clic cu butonul din dreapta pe interogarea pe care dorii s o modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. Facei clic pe rndul Cmp ntr-o coloan goal din grila de proiectare a interogrii. 3. Tastai un nume, dou puncte (:), apoi o expresie n celula Cmp. Numele i simbolul dou puncte definesc un nume prietenos pentru cmpul calculat. Pentru a calcula un pre detaliat, utilizai o expresie precum urmtoarea: PreDetaliat: CCur([Detalii comenzi].Pre unitar*[Cantitate]*(1-[Reducere])/100)*100 Reinei c, atunci cnd creai un cmp calculat n grila de proiectare a interogrii, nu trebuie s punei operatorul = naintea expresiei.

Identificarea comenzilor care au fost expediate cu ntrziere


n condiii optime, toate comenzile sunt expediate la timp. Ocazional, unele comenzi pot depi data cerut de expediere i vei dori s le identificai ntr-un raport. Pentru a marca toate comenzile care au fost expediate cu ntrziere ntr-un raport care urmrete livrrile, avei posibilitatea s imprimai un semn de bifare ntr-o caset de selectare care este etichetat Expediere ntrziat. Deoarece majoritatea comenzilor se expediaz la timp, semnul este mai uor de remarcat dect un text de genul La timp sau Cu ntrziere. Expresia pentru acest raport compar valoare din cmpul Dat expediere cu valoare din cmpul Dat cerut. Dac valoarea din cmpul Dat expediere este mai mare (adic reprezint o dat mai trzie) dect valoarea din cmpul Dat cerut, expresia returneaz valoarea True, iar raportul afieaz un semn de bifare n caseta de selectare. Dac valoarea este False, raportul las caseta de selectare nebifat. Adugarea casetei de selectare Expedierentrziat la un raport 1. n Panoul de navigare, facei clic cu butonul din dreapta pe raportul pe care dorii s-l modificai i facei clic pe Vizualizare proiect n meniul de comenzi rapide. 2. n fila Proiectare, n grupul Controale, facei clic pe Caset de selectare. 3. Glisai indicatorul n seciunea detaliu a raportului pentru a crea caseta de selectare. 4. Facei clic cu butonul din dreapta pe caseta de selectare, pe Proprieti n meniul de comenzi rapide, apoi pe fila Toate n foaia de proprieti. 5. Setai proprietile pentru caseta de selectare, dup cum se afieaz n urmtorul tabel. Proprietate Setare
36

Nume Expedierentrziat Surs control =[Data expedierii]>[Data cerut] Vizibil Da 6. Not Dac adaptai aceti pai pentru a funciona cu propriile date, nu uitai s modificai numele cmpurilor n identificatori, pentru a se potrivi cu baza dvs. de date. 7. Salvai modificrile, apoi nchidei foaia de proprieti. nceputul paginii

Tabel de operatori
Access accept diveri operatori, inclusiv cei aritmetici, cum ar fi +, -, * (nmulire), i / (mprire), n plus fa de operatorii de comparaie pentru a compara valori, operatori text pentru concatenarea textului, operatori logici pentru a determina valori adevrate sau false i ali operatori specifici pentru Access. Pentru detalii despre utilizarea acestor operatori, consultai seciunea Tabel de operatori. Operatori aritmetici Operatorii aritmetici se utilizeaz pentru a calcula o valoare din dou sau mai multe numere sau pentru modifica semnul unui numr din pozitiv n negativ. Operator Scop + Suma a dou numere. Diferena dintre dou numere sau indicarea valorii negative a unui numr. * nmulirea a dou numere. / mprirea primului numr la al doilea numr. Rotunjirea ambelor numere la numere ntregi, apoi \ mprirea primului numr la al doilea. Apoi, rotunjirea rezultatului la un numr ntreg. mprirea primului numr la a doilea i returnarea Mod restului. ^ Ridicarea unui numr la puterea exponentului. Operatori de comparaie Operatorii de comparaie se utilizeaz pentru a compara valorile i a returna un rezultat care este adevrat, fals sau Null. Operator Scop < Determin dac prima valoare este mai mic ca a doua. <= Determin dac prima valoare este mai mic sau egal ca a doua. > Determin dac prima valoare este mai mare ca a doua valoare. >= Determin dac prima valoare este mai mare sau egal ca a doua valoare. = Determin dac prima valoare este egal cu a doua valoare. <> Determin dac prima valoare nu este egal cu a doua valoare.
37

Exemplu [Subtotal]+[TVA] [Pre]-[Reducere] [Cantitate]*[Pre] [Total]/[NumrtoareElemente] [nregistrri]\[Camere] [nregistrai] Mod [Camere] Numr ^ Exponent

n toate aceste cazuri, dac oricare dintre valori este nul, rezultatul va fi de asemenea nul. Deoarece o valoare nul nseamn o valoare necunoscut, rezultatul oricrei comparaii cu o valoare nul va fi necunoscut. Operatori logici Operatorii logici se utilizeaz pentru a combina dou valori i a returna un rezultat adevrat, fals sau nul. Aceti operatori mai sunt numii i operatori de tip Boolean. Operator And Or Eqv Not Xor Utilizare Expr1 And Expr2 Expr1 Or Expr2 Expr1 Eqv Expr2 Not Expr Expr1 Xor Expr2 Descriere Adevrat cnd Expr1 i Expr2 sunt adevrate. Adevrat cnd Expr1 sau Expr2 este adevrat. Adevrat cnd att Expr1 ct i Expr2 sunt adevrate sau ambele Expr1 i Expr2 sunt false. Adevrat cnd Expr nu este adevrat. Adevrat cnd fie Expr1 este adevrat sau Expr2 este adevrat, dar nu ambele.

Operatori de concatenare Utilizai operatorii de concatenare pentru a combina dou valori text ntr-una. Operator Utilizare Descriere & ir1 & ir2 Combin dou iruri pentru a forma unul singur. + ir1 + ir2 Combin dou iruri pentru a forma un ir i propag valorile nule. Operatori speciali Operatorii speciali se utilizeaz dup cum este descris n urmtorul tabel. Operator Is Null sau Is Not Null Like "model" Descriere Determin dac o valoare este nul sau nu. Operatorul Like Operatorul Between...And Operatorul In Pentru mai multe informaii

Potrivete valori ir utiliznd operatorii de metacaractere ? i *. Between val1 And Determin dac o valoare numeric sau de dat val2 se afl ntr-un interval. Determin dac o valoare ir este coninut ntrIn(ir1,ir2...) un set de valori ir.

Pentru mai multe informaii despre modurile de utilizare a acestor operatori, consultai articolul Ghid pentru sintaxa expresiilor.

38