expresii access

7
De ce se utilizează expresiile? În Access, puteți utiliza expresii pentru a efectua oricare dintre următoarele activități: Calculați valori care nu există direct în datele dvs. Puteți calcula valori din câmpuri din tabele și interogări și, de asemenea, puteți calculați valori din controale din formulare și rapoarte. Setați o valoare implicită pentru un câmp de tabel sau pentru un control dintr-un formular sau dintr-un raport. Aceste valori implicite apar oricând deschideți un tabel, un formular sau un raport. Creați o regulă de validare. Regulile de validare controlează ce valori pot fi introduse de utilizatori într-un câmp sau control. Specificați criteriile pentru o interogare. Una dintre modalitățile cele mai obișnuite de a utiliza expresii în Access este calculul valorilor care nu există direct în datele dvs. De exemplu, puteți să creați o coloană într-un tabel sau într-o interogare care să calculeze un total al elementelor de linie, apoi să utilizați valoarea într-un formular sau raport. O coloană dintr-un tabel sau dintr-o interogare care rezultă dintr-un astfel de calcul este denumită câmp calculat. De exemplu, următoarea expresie dintr-o interogare calculează totalurile elementelor de linie cu o reducere aplicată: PrețDetaliat: CCur([Detalii comandă].[Preț Unitar]*[Cantitate]*(1- [Reducere])/100)*100 Această expresie atribuie coloanei rezultate sau câmpului calculat numele PrețDetaliat. Puteți crea un câmp calculat oricând aveți nevoie să calculați sau să efectuați operațiuni cu datele din două sau mai multe câmpuri de tabel. De exemplu, multe tabele stochează prenumele și numele de familie în câmpuri separate. Dacă doriți să combinați numele și prenumele și să le afișați într-un singur câmp, puteți crea un câmp calculat în tabel sau într-o interogare. Un câmp calculat care combină prenumele și numele de familie arată astfel: [Prenume] & " " & [NumeDeFamilie]. În acest caz, semnele ampersand (&) combină valoarea din câmpul Prenume, un caracter spațiu (un spațiu încadrat între ghilimele) și valoarea din câmpul NumeDeFamilie.

Upload: malaicristian

Post on 16-Dec-2015

34 views

Category:

Documents


1 download

DESCRIPTION

proiecte access 2007

TRANSCRIPT

De ce se utilizeaz expresiile?n Access, putei utiliza expresii pentru a efectua oricare dintre urmtoarele activiti: Calculai valori care nu exist direct n datele dvs. Putei calcula valori din cmpuri din tabele i interogri i, de asemenea, putei calculai valori din controale din formulare i rapoarte. Setai o valoare implicit pentru un cmp de tabel sau pentru un control dintr-un formular sau dintr-un raport. Aceste valori implicite apar oricnd deschidei un tabel, un formular sau un raport. Creai o regul de validare. Regulile de validare controleaz ce valori pot fi introduse de utilizatori ntr-un cmp sau control. Specificai criteriile pentru o interogare.Una dintre modalitile cele mai obinuite de a utiliza expresii n Access este calculul valorilor care nu exist direct n datele dvs. De exemplu, putei s creai o coloan ntr-un tabel sau ntr-o interogare care s calculeze un total al elementelor de linie, apoi s utilizai valoarea ntr-un formular sau raport. O coloan dintr-un tabel sau dintr-o interogare care rezult dintr-un astfel de calcul este denumit cmp calculat. De exemplu, urmtoarea expresie dintr-o interogare calculeaz totalurile elementelor de linie cu o reducere aplicat:PreDetaliat: CCur([Detalii comand].[Pre Unitar]*[Cantitate]*(1-[Reducere])/100)*100Aceast expresie atribuie coloanei rezultate sau cmpului calculat numelePreDetaliat.Putei crea 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 combinai numele i prenumele i s le afiai ntr-un singur cmp, putei crea un cmp calculat n tabel sau ntr-o interogare.Un cmp calculat care combin prenumele i numele de familie arat astfel:[Prenume] & " " & [NumeDeFamilie]. n acest caz, semnele ampersand (&) combin valoarea din cmpulPrenume, un caracter spaiu (un spaiu ncadrat ntre ghilimele) i valoarea din cmpulNumeDeFamilie.De asemenea, putei utiliza expresii n Access pentru a furniza o valoare implicit pentru un cmp dintr-un tabel sau pentru un control. De exemplu, pentru a stabili valoarea implicit pentru un cmp de date la data curent, tastaiDate()n caseta proprietiiValoare implicitpentru acel cmp.n plus, putei utiliza o expresie pentru a seta o regul de validare. De exemplu, putei utiliza o regul de validare ntr-un cmp de control sau de tabel pentru a impune ca data care este introdus s fie mai mare sau egal cu data curent. n acest caz, setai valoarea din caseta proprietiiRegul de validarela>= Date().n final, putei utiliza 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 ntr-o anumit perioad de timp. Putei introduce criteriile pentru a defini un interval de date, apoi Access returneaz numai rndurile care se potrivesc criteriilor. De exemplu, expresia dvs. poate arta astfel:Between #1/1/2011# And #31/12/2011#Cnd adugai criterii la interogare i rulai apoi interogarea, aceasta returneaz numai valorile care se potrivesc datelor specificate..Comparaia expresiilor Access cu formulele ExcelExpresiile Access se aseamn cu formulele Excel, n sensul c ambele utilizeaz elemente similare pentru a genera un rezultat. Att formulele Excel, ct i expresiile Access conin una sau mai multe dintre urmtoarele: Identificatori n Excel, identificatorii reprezint numele celulelor individuale sau ale zonelor de celule dintr-un registru de lucru, cum ar fiA1,B3:C6sauFoaie2!C32. n Access, identificatorii reprezint numele cmpurilor de tabel (cum ar fi[Persoane de contact]![Prenume]), controalele din formulare sau rapoarte (cum ar fiForms![List de activiti]![Descriere]) sau proprietile acestor cmpuri sau controale (cum ar fiForms![List de activiti]![Descriere].ColumnWidth). Operatori Att n Access, ct i n Excel, operatorii sunt utilizai pentru a compara valori sau pentru a efectua calcule simple cu datele. Exemple de operatori:+(plus) sau-(minus). Funcii i argumente Att n Access, ct i n Excel, funciile i argumentele sunt utilizate pentru a ndeplini activiti ce nu pot fi realizate doar prin utilizarea operatorilor;de exemplu, nu putei gsi media valorilor dintr-un cmp sau converti rezultatul unui calcul ntr-un format monetar. Exemple de funcii:SUMiSTDEV. Argumentele sunt valori ce furnizeaz informaii funciilor. Access i Excel au numeroase funcii din care s alegei, dar numele unor funcii similare din programe sunt uneori diferite. De exemplu, funciaAVERAGEdin Excel corespunde funcieiAVGdin Access. Constante Att n Access, ct i n Excel, constantele sunt valori care nu se modific, de exemplu iruri de text sau numere care nu sunt calculate prin utilizarea unei expresii.Expresiile Access utilizeaz operatori i constante asemntoare cu cele utilizate n formulele Excel, dar expresiile Access utilizeaz identificatori i funcii diferite. Dac formulele Excel sunt utilizate n general doar n celulele din foaia de lucru, expresiile Access sunt utilizate n numeroase locuri din Access pentru o serie larg de activiti, ntre care se numr urmtoarele: Crearea de controale calculate n formulare i rapoarte Crearea de cmpuri calculate n tabele i interogri Crearea de criterii n interogri Validarea datelor introduse ntr-un cmp sau ntr-un control dintr-un formular Gruparea datelor din rapoartePutei utiliza o expresie Access sau o formul Excel pentru a calcula valori numerice sau de tip dat/or, utiliznd operatori matematici. De exemplu, pentru a calcula un pre redus pentru un client, utilizai formula Excel=C2*(1-D2)sau expresia Access= [Pre unitar]*(1-[Reducere]).De asemenea, o expresie Access sau o formul Excel poate fi utilizat pentru a combina, a scinda sau a manipula n alt mod iruri, utiliznd operatori de ir. De exemplu, pentru a combina un nume de familie i un prenume ntr-un ir, putei utiliza formula Excel=D3 & " " & D4sau expresia Access= [Prenume] & " " & [Nume de familie]..Componentele unei expresiiExpresiile pot fi formate din identificatori, operatori, funcii i argumente, constante i valori. Seciunile urmtoare descriu mai n detaliu aceste componente. Exemplele din aceste seciuni furnizeaz i descrieri pe scurt ale sintaxei utilizate de expresii.IdentificatoriUn identificator este numele unui cmp, al unei proprieti sau al unui 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 controluluiDatExpedieredin valoarea cmpului sau controluluiDatCerut. n aceast expresie, attDatCerutct iDatExpediereau rol de identificatori.OperatoriAccess accept diveri operatori, inclusiv pe cei aritmetici obinuii, cum ar fi+,-,*(nmulire) i/(mprire). De asemenea, putei utiliza operatori de comparaie, cum ar fi(mai mare dect) pentru a compara valori, operatori text, cum ar fi&i+pentru concatenarea (combinarea) textului, operatori logici, precumNotiAndpentru a determina valori adevrate sau false i ali operatori specifici pentru Access.Funcii i argumenteFunciile 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 esteDate, care returneaz data curent. Avei posibilitatea s utilizai funciaDaten mai multe moduri, cum ar fi ntr-o expresie care seteaz valoarea implicit pentru un cmp dintr-un tabel. n acest exemplu, oricnd se adaug o nou nregistrare, valoarea pentru cmp este setat implicit la data curent.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, funciaDatedin urmtorul exemplu:=Format(Date(),"d mmmm yyyy")Acest exemplu utilizeaz dou argumente. Primul argument este funciaDate(), care returneaz data curent. Al doilea argument ("mmmm d, yyyy"), care este separat de primul argument printr-o virgul, specific un ir de text pentru a instrui funciaFormatcum s formateze valoarea returnat a datei. Reinei c irul de text trebuie ncadrat ntre ghilimele. De asemenea, aceast expresie ilustreaz c este posibil adesea s utilizai valoarea returnat de o funcie ca argument pentru alt funcie. n acest caz,Date()se comport ca argument.Gsii linkuri la mai multe informaii despre funcii i despre sintaxa expresiilor n seciuneaConsultai i.ConstanteO constant este un element a crui valoare nu se modific n timp ce ruleaz Access. ConstanteleTrue,FalseiNullsunt utilizate deseori n expresii. De asemenea, putei defini propriile constante n cod VBA, care se pot utiliza n procedurile VBA. VBA este limbajul de programare utilizat de Access.NOT Nu se pot utiliza constante VBA n funcii personalizate pe care le utilizai n expresii. De exemplu, VBA are constante pentru zilele sptmnii: vbSunday reprezint duminic, vbMonday reprezint luni i aa mai departe. Fiecare dintre aceste constante are o valoare numeric corespunztoare. De exemplu, valoarea numeric pentru vbSunday este 1, iar vbMonday este 2. Nu putei utiliza aceste constante ntr-o funcie particularizat care este apelat dintr-o expresie. Trebuie s utilizai n schimb valorile numerice.ValoriPutei utiliza valori literale n expresiile dvs., cum ar fi numrul 1.254 sau irul Introducei un numr ntre 1 i 10. Putei s utilizai i valori numerice, care pot fi o serie de cifre, inclusiv un semn i o virgul zecimal, dac este necesar. n absena unui semn, Access presupune c este vorba de o valoare pozitiv. Pentru a face valoarea negativ, includei semnul minus (-). De asemenea, putei utiliza notaia tiinific. Pentru a face aceasta, includei E sau e i semnul exponentului (de exemplu, 1,0E-6).Cnd utilizai iruri text drept constante, ncadrai-le ntre ghilimele, pentru a v asigura c Access le interpreteaz corect. Uneori, Access furnizeaz automat ghilimelele. De exemplu, cnd tastai text ntr-o expresie pentru o regul de validare sau pentru criterii de interogare, Access ncadreaz automat irurile text n ghilimele.De exemplu, dac tastai textulBucureti, 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]![Localitate].DefaultValue= ' "Bucureti" 'Forms![Persoane de contact]![Localitate].DefaultValue= " " "Bucureti" " "Pentru a utiliza valori de tip dat/or, ncadrai-le n simboluri diez (#). De exemplu, #7-3-11#, #7-Mar-11# i #Mar-7-2011# sunt toate valori valide de tip dat/or. Cnd Access ntlnete o valoare valid de dat/or ncadrat ntre caractere #, acesta trateaz automat valoarea ca tip de date Dat/Or..Exemple de expresiiUrmtorul tabel listeaz cteva exemple de expresii Access i cum se utilizeaz acestea de obicei:ExpresieScop

=[DatCerut]-[DatExpediere]Calculeaz diferena dintre valorile de date din dou controale caset text (denumite DatCerut i DatExpediere) ntr-un raport.

Date()Seteaz valoarea implicit pentru un cmp Dat/Or de tabel la data curent.

PreDetaliat: CCur([Detalii comand].[Pre Unitar]*[Cantitate]*(1-[Reducere])/100)*100Creeaz ntr-o interogare un cmp calculat denumit PreDetaliat.

Between #1/1/2011# And #31/12/2011#Specific criterii pentru un cmp Dat/Or dintr-o interogare.

=[Subformular Comenzi].Form!SubtotalComandReturneaz valoarea din controlul SubtotalComand din subformularul Comenzi care se afl n formularul Comenzi.

>0Seteaz o regul de validare pentru un cmp numeric ntr-untabel; utilizatorii trebuie s introduc valori mai mari dect zero.

Unele expresii ncep cu operatorul egal (=), iar altele nu. Cnd calculai o valoare pentru un control dintr-un formular sau raport, utilizai operatorul=pentru a ncepe expresia. n alte situaii, cum ar fi atunci cnd tastai o expresie ntr-o interogare sau n proprietateaValoare implicitsauRegul de validarea unui cmp sau control, nu utilizai operatorul=dect dac adugai expresia la un cmp Text dintr-un tabel. n unele cazuri, cum ar fi atunci cnd adugai expresii n interogri, Access elimin automat operatorul=.