Cu funcțiile de șir, puteți crea expresii în Access care manipulează textul în diverse moduri. De exemplu, poate doriți să afișați doar o parte a unui număr serial într-un formular. Sau poate fi necesar să uniți (concatenați) mai multe șiruri, cum ar fi un nume de familie și un prenume. Dacă nu sunteți încă expert în expresii, consultați Construirea unei expresii.
Iată o listă cu unele dintre operațiunile șirurilor mai comune din Access și funcțiile pe care le-ați utiliza pentru a le efectua:
Pentru... |
Utilizați... |
De exemplu... |
Rezultatele |
---|---|---|---|
Returnarea caracterelor de la începutul unui șir |
=Left([Număr Serial],2) |
Dacă [Număr Serial] este "CD234", rezultatul este "CD". |
|
Returnarea caracterelor de la sfârșitul unui șir |
=Right([Număr Serial],3) |
Dacă [Număr Serial] este "CD234", rezultatul este "234". |
|
Găsirea poziției unui caracter într-un șir |
=InStr(1,[Prenume],"i") |
Dacă [Prenume] este "Colin", rezultatul este 4. |
|
Returnează caracterele din mijlocul unui șir |
=Mid([Număr Serial],2,2) |
Dacă [Număr Serial] este "CD234", rezultatul este "D2". |
|
Ascunderea parțială a spațiilor inițiale sau finale dintr-un șir |
=Trim([Prenume]) |
Dacă [Prenume] este " Colin ", rezultatul este "Colin". |
|
Uniți două șiruri |
Operator semnul plus (+) * |
=[Prenume] + [Nume] |
Dacă [Prenume] este "Colin" și [Nume] este Wilcox, rezultatul este "ColinWilcox" |
Uniți două șiruri cu un spațiu între ele |
Operator semnul plus (+) * |
=[Prenume] + " " + [Nume] |
Dacă [Prenume] este "Colin" și [Nume] este Wilcox, rezultatul este "Colin Wilcox" |
Modificarea literelor mari sau mici ale unui șir |
=UCase([Prenume]) |
Dacă [Prenume] este "Colin", rezultatul este "COLIN". |
|
Determinarea lungimii unui șir |
=Len([Prenume]) |
Dacă [Prenume] este "Colin", rezultatul este 5. |
* Bine, deci nu este o funcție, este un operator. Totuși, este cea mai rapidă modalitate de a uni șiruri. Într-o bază de date desktop, puteți utiliza și operatorul ampersand (&) pentru concatentare.
Există mult mai multe funcții legate de text în Access. O modalitate bună de a afla mai multe despre acestea este să deschideți Generatorul de expresii și să navigați prin listele de funcții. Generatorul de expresii este disponibil aproape oriunde doriți să construiți o expresie; de obicei, există un mic buton Generare care arată astfel:
Pentru a demonstra Generatorul de expresii, să-l deschidem din proprietatea Sursă control dintr-un formular sau dintr-o vizualizare. Utilizați una dintre procedurile de mai jos, în funcție de utilizarea unei baze de date desktop sau a unei aplicații web Access.
Afișarea Generatorului de expresii într-o bază de date desktop
-
Deschideți o bază de date desktop (.accdb).
-
Apăsați F11 pentru a deschide Panoul de navigare, dacă nu este deja deschis.
-
Dacă aveți deja un formular disponibil, faceți clic dreapta pe acesta în Panoul de navigare și faceți clic pe Vizualizare aspect. Dacă nu aveți un formular cu care să lucrați, faceți clic pe Creare > formular.
-
Faceți clic dreapta pe o casetă text din formular și faceți clic pe Proprietăți.
-
În Foaia de proprietăți, faceți clic pe Toate > Sursă control și faceți clic pe butonul Generare în partea dreaptă a casetei de proprietăți Sursă control .
-
Sub Elemente expresie, extindeți nodul Funcții și faceți clic pe Funcții predefinite.
-
Sub Categorii expresie, faceți clic pe Text.
-
Sub Valori expresie, faceți clic pe diverse funcții și citiți descrierile scurte din partea de jos a Generatorului de expresii.
Notă: Nu toate aceste funcții sunt disponibile în toate contextele; Access filtrează automat lista, în funcție de cele care funcționează în fiecare context.
Combinarea funcțiilor de text pentru mai multă flexibilitate
Unele funcții șir au argumente numerice pe care, în unele cazuri, trebuie să le calculați de fiecare dată când apelați funcția. De exemplu, funcția Left preia un șir și un număr, ca în =Left(Număr Serial, 2). Acest lucru este grozav dacă știți că aveți nevoie întotdeauna de cele două caractere la stânga, dar ce se întâmplă dacă numărul de caractere de care aveți nevoie variază de la un element la un element? În loc să "codificați" doar numărul de caractere, puteți introduce o altă funcție care îl calculează.
Iată un exemplu de numere seriale care au fiecare o cratimă undeva în șir. Cu toate acestea, poziția cratimei variază:
Număr serial |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Dacă doriți doar să afișați numerele din partea stângă a cratimei, trebuie să efectuați un calcul de fiecare dată pentru a afla unde se află cratima. O opțiune este să faceți ceva de genul acesta:
=Left([Număr Serial],InStr(1,[Număr Serial],"-")-1)
În loc să introducem un număr ca al doilea argument al funcției Left, am conectat funcția InStr, care returnează poziția cratimei în numărul serial. Scădeți 1 din acea valoare și obțineți numărul corect de caractere de returnat de funcția Left. Pare puțin complicat la început, dar cu puțin experimentare puteți combina două sau mai multe expresii pentru a obține rezultatele dorite.