S funkcijami nizov lahko v Accessu ustvarite izraze, ki na različne načine uporabljajo besedilo. Morda boste na primer želeli prikazati le del serijske številke v obrazcu. Lahko pa združite (združite) več nizov, na primer priimek in ime. Če še niste izudljivi z izrazi, glejte Ustvarjanje izraza.
Tukaj je seznam nekaterih bolj pogostih postopkov nizov v Accessu in funkcij, ki jih lahko uporabite za njihovo izvajanje:
Če želite ... |
Uporabite ... |
Na primer ... |
Rezultati |
---|---|---|---|
Vrnitev znakov od začetka niza |
=Left([SerialNumber],2) |
Če je [SerialNumber] "CD234", je rezultat "CD". |
|
Vrnitev znakov s konca niza |
=Right([SerialNumber],3) |
Če je [SerialNumber] "CD234", je rezultat "234". |
|
Iskanje položaja znaka v nizu |
=InStr(1; [Ime],"i") |
Če je [Ime] "Colin", je rezultat 4. |
|
Vrnitev znakov s sredine niza |
=Mid([SerialNumber],2,2) |
Če je [SerialNumber] "CD234", je rezultat "D2". |
|
Obrezovanje vodilnih ali končnih presledkov iz niza |
=Trim([Ime]) |
Če je [Ime] " Colin ", je rezultat "Colin". |
|
Združite dva niza skupaj |
Znak plus (+) operator* |
=[Ime] + [Priimek] |
Če je [Ime] "Colin" in [Priimek] Wilcox, je rezultat "ColinWilcox" |
Združite dva niza skupaj s presledkom med njima |
Znak plus (+) operator* |
=[Ime] + " " + [Priimek] |
Če je [Ime] "Colin" in [Priimek] Wilcox, je rezultat "Colin Wilcox" |
Spreminjanje velikih in malih črk niza |
=UCase([Ime]) |
Če je [Ime] "Colin", je rezultat "COLIN". |
|
Določanje dolžine niza |
=Len([Ime]) |
Če je [Ime] "Colin", je rezultat 5. |
V redu, torej to ni funkcija, ampak operater. Vendar pa je to najhitrejši način združevanja nizov. V namizni zbirki podatkov lahko za spajanje uporabite tudi operator »in« (&).
V Accessu je na voljo še veliko več funkcij, povezanih z besedilom. Več o njih lahko izveste tako, da odprete graditelja izrazov in brskate po seznamih funkcij. Graditelj izrazov je na voljo skoraj povsod, kjer želite ustvariti izraz – običajno je na voljo gumb graditev, ki je videti tako:
Če želite prikazati graditelja izrazov, ga odprite iz lastnosti Vir kontrolnika v obrazcu ali pogledu. Uporabite enega od spodnjih postopkov, odvisno od tega, ali uporabljate namizno zbirko podatkov ali program Access Web App.
Prikaz graditelja izrazov v namizni zbirki podatkov
-
Odprite namizno zbirko podatkov (.accdb).
-
Če podokno za krmarjenje še ni odprto, pritisnite F11, da ga odprete.
-
Če je obrazec že na voljo, ga kliknite z desno tipko miške v podoknu za krmarjenje in nato kliknite Pogled postavitve. Če nimate obrazca za delo, kliknite Ustvari >obrazec.
-
Z desno tipko miške kliknite polje z besedilom v obrazcu in nato kliknite Lastnosti.
-
Na listu z lastnostmi kliknite > vir kontrolnika in kliknite gumb Graditev na desni strani polja z lastnostmi Vir kontrolnika.
-
V razdelku Elementi izraza razširite vozlišče Funkcije in kliknite Vgrajene funkcije.
-
V razdelku Kategorije izraza kliknite Besedilo.
-
V razdelku Vrednosti izraza kliknite različne funkcije in preberite kratke opise na dnu graditelja izrazov.
Opomba: Vse te funkcije niso na voljo v vseh kontekstih; Access samodejno filtrira seznam, odvisno od tega, kateri delujejo v posameznem kontekstu.
Združevanje besedilnih funkcij za večjo prilagodljivost
Nekatere funkcije nizov imajo številske argumente, ki jih morate v nekaterih primerih izračunati vsakič, ko priklicate funkcijo. Funkcija Left na primer vzame niz in številko, kot je na primer =Left(SerialNumber, 2). To je super, če veste, da vedno potrebujete levi dva znaka, kaj pa, če se število znakov, ki jih potrebujete, razlikuje od elementa do elementa? Namesto »zakodiranje« števila znakov lahko vnesete drugo funkcijo, ki jo izračuna.
Tukaj je primer serijskih številk, ki imajo vsak vezaj nekje v nizu. Vendar pa se položaj vezaja spreminja:
SerialNumber |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Če želite prikazati le števila levo od vezaja, morate vsakič izvesti izračun, da ugotovite, kje je vezaj. Ena od možnosti je, da naredite nekaj takega:
=Left([SerialNumber],InStr(1,[SerialNumber],"-")-1)
Namesto da vnesete število kot drugi argument funkcije Left, smo priključevali funkcijo InStr, ki vrne položaj vezaja v serijski številki. Od te vrednosti odštejete 1 in dobite pravilno število znakov, ki naj jih funkcija Left vrne. Najprej se zdi nekoliko zapleteno, vendar lahko z malo eksperimentiranja združite dva ali več izrazov, da dobite želene rezultate.