Pomoću funkcija nizova možete stvarati izraze u programu Access koji manipuliraju tekstom na razne načine. Možda ćete, primjerice, htjeti prikazati samo dio serijskog broja na obrascu. Ili ćete možda morati pridružiti (povezati) nekoliko nizova, kao što su prezime i ime. Ako još niste pametni s izrazima, pročitajte članak Sastavljanje izraza.
Evo popisa nekih uobičajenih operacija niza u programu Access i funkcija koje biste koristili za njihovo izvođenje:
Željena radnja... |
Koristite... |
Na primjer... |
Rezultati |
---|---|---|---|
Vraćanje znakova od početka niza |
=Left([SerialNumber],2) |
Ako je [SerialNumber] "CD234", rezultat je "CD". |
|
Vraćanje znakova s kraja niza |
=Right([SerialNumber],3) |
Ako je [SerialNumber] "CD234", rezultat je "234". |
|
Pronalaženje položaja znaka u nizu |
=InStr(1;[Ime];"i") |
Ako je [Ime] "Colin", rezultat je 4. |
|
Vraćanje znakova iz sredine niza |
=Mid([SerialNumber],2,2) |
Ako je [SerialNumber] "CD234", rezultat je "D2". |
|
Obrezivanje početnih ili završnih razmaka iz niza |
=Trim([Ime]) |
Ako je [Ime] " Colin ", rezultat je "Colin". |
|
Spajanje dvaju nizova |
Operator znaka plusa (+) * |
=[Ime] + [Prezime] |
Ako je [Ime] "Colin", a [Prezime] Wilcox, rezultat je "ColinWilcox" |
Spajanje dvaju nizova zajedno s razmakom između njih |
Operator znaka plusa (+) * |
=[Ime] + " " + [Prezime] |
Ako je [Ime] "Colin", a [Prezime] Wilcox, rezultat je "Colin Wilcox" |
Promjena veličine slova niza u velika ili mala slova |
=UCase([Ime]) |
Ako je [Ime] "Colin", rezultat je "COLIN". |
|
Određivanje duljine niza |
=Len([Ime]) |
Ako je [Ime] "Colin", rezultat je 5. |
* Ok, to nije funkcija, to je operator. No to je najbrži način za spajanje nizova. U bazi podataka za stolna računala možete koristiti i operator ampersand (&) za ujednačavanje.
U programu Access postoji mnogo više funkcija povezanih s tekstom. Da biste saznali više o njima, otvorite sastavljač izraza i pregledajte popise funkcija. Sastavljač izraza dostupan je gotovo na bilo kojem mjestu na kojem želite stvoriti izraz – obično postoji mali gumb Sastavi koji izgleda ovako:
Da biste prikazali sastavljač izraza, otvorite ga iz svojstva Izvor kontrole na obrascu ili prikazu. Upotrijebite jedan od postupaka u nastavku ovisno o tome koristite li bazu podataka za stolna računala ili web-aplikaciju programa Access.
Prikaz sastavljača izraza u bazi podataka za stolna računala
-
Otvorite bazu podataka za stolna računala (.accdb).
-
Pritisnite F11 da biste otvorili navigacijsko okno ako već nije otvoreno.
-
Ako već imate dostupan obrazac, kliknite ga desnom tipkom miša u navigacijskom oknu, a zatim kliknite Prikaz rasporeda. Ako nemate obrazac za rad, kliknite Stvori obrazac > obrazac.
-
Desnom tipkom miša kliknite tekstni okvir na obrascu, a zatim kliknite Svojstva.
-
Na listu svojstava kliknite Sve > i kliknite gumb Sastavi na desnoj strani okvira svojstva Izvor kontrole.
-
U odjeljku Elementi izraza proširite čvor Funkcije i kliknite Ugrađene funkcije.
-
U odjeljku Kategorije izraza kliknite Tekst.
-
U odjeljku Vrijednosti izraza kliknite razne funkcije i pročitajte kratke opise pri dnu sastavljača izraza.
Napomena: Nisu sve te funkcije dostupne u svim kontekstima; Access automatski filtrira popis ovisno o tome koji funkcioniraju u svakom kontekstu.
Kombiniranje tekstnih funkcija radi veće fleksibilnosti
Neke funkcije niza sadrže brojčane argumente koji, u nekim slučajevima, morate izračunati svaki put kada pozovete funkciju. Na primjer, funkcija Left uzima niz i broj, kao u =Left(SerialNumber, 2). To je sjajno ako znate da su vam uvijek potrebna lijeva dva znaka, ali što ako se broj potrebnih znakova razlikuje od stavke do stavke? Umjesto samo "teškog kodiranja" broja znakova, možete unijeti neku drugu funkciju koja će je izračunati.
Evo primjera serijskih brojeva koji sadrže spojnicu negdje u nizu. No položaj spojnice varira:
SerialNumber |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Ako brojeve želite prikazati lijevo od spojnice, svaki put morate napraviti izračun da biste saznali gdje se nalazi spojnica. Jedna je mogućnost učiniti nešto slično ovome:
=Left([SerialNumber],InStr(1;[SerialNumber];"-")-1)
Umjesto da unesete broj kao drugi argument funkcije Left, priključili smo funkciju InStr, koja vraća položaj spojnice u serijskom broju. Oduzmite 1 od te vrijednosti i dobit ćete točan broj znakova za vraćanje funkcije Left. Čini se pomalo komplicirano, ali uz malo eksperimentiranja možete kombinirati dva ili više izraza da biste dobili željene rezultate.