Stringifunktsioonide abil saate Accessis luua avaldisi, mis manipuleerivad teksti mitmel viisil. Oletagem näiteks, et soovite kuvada üksnes osa vormil leiduvast järjenumbrist. Samuti võib juhtuda, et soovite mitu stringi (nt perekonna- ja eesnime) ühte liita ehk ühendada. Kui te pole veel avaldiste kasutamisega kursis, lugege teemat Avaldise koostamine.
Siin on loend levinumatest Accessi stringitoimingutest ja funktsioonidest, mille abil neid sooritate.
Soovitud tegevus |
Kasutatav funktsioon |
Näide |
Tulemid |
---|---|---|---|
Märkide tagastamine stringi algusest |
=Left([Järjenumber];2) |
Kui [Järjenumber] on "CD234", on tulem "CD". |
|
Märkide tagastamine stringi lõpust |
=Right([Järjenumber];3) |
Kui [Järjenumber] on "CD234", on tulem "234". |
|
Märgi asukoha leidmine stringis |
=InStr(1;[Eesnimi];"i") |
Kui [Eesnimi] on "Mati", on tulem 4. |
|
Märkide tagastamine stringi keskelt |
=Mid([Järjenumber];2;2) |
Kui [Järjenumber] on "CD234", on tulem "D2". |
|
Stringi eel- või lõputühikute kärpimine |
=Trim([Eesnimi]) |
Kui [Eesnimi] on “ Mati ”, on tulem “Mati”. |
|
Kahe stringi ühendamine |
Plussmärk (+) tehtemärk* |
=[Eesnimi] + [Perekonnanimi] |
Kui [Eesnimi] on "Mati" ja [Perekonnanimi] on Kask, on tulem "MatiKask". |
Kahe stringi ühendamine nii, et nende vahele jääks tühik |
Plussmärk (+) tehtemärk* |
=[Eesnimi] + " " + [Perekonnanimi] |
Kui [Eesnimi] on "Mati" ja [Perekonnanimi] on Kask, on tulem "Mati Kask". |
Stringi täheregistri muutmine suur- või väiketähtedeks |
=UCase([Eesnimi]) |
Kui [Eesnimi] on "Mati", on tulem "MATI". |
|
Stringi pikkuse nime määratlemine |
=Len([Eesnimi]) |
Kui [Eesnimi] on "Mati", on tulem 5. |
* Nojah, õigupoolest pole tegemist mitte funktsiooni, vaid tehtemärgiga. See on aga stringide ühendamiseks kõige kiirem viis. Töölauaandmebaasis võite ühendamiseks kasutada ka ampersandi tehtemärki (&).
Accessis on veel palju muidki tekstiga seotud funktsioone. Kui soovite nende kohta rohkem teada saada, võite avada avaldisekoosturi ja funktsiooniloendeid sirvida. Avaldisekoostur on saadaval peaaegu kõikjal, kus soovite avaldist koostada – tavaliselt on olemas väike nupp Koosta , mis näeb välja selline:
Avaldisekoosturi demonstreerimiseks avame selle vormi või vaate atribuudi Juhtelemendi allikas kaudu. Tehke üks järgmistest toimingutest olenevalt sellest, kas kasutate töölauaandmebaasi või Accessi veebirakendust.
Avaldisekoosturi kuvamine töölauaandmebaasis
-
Avage töölauaandmebaas (.accdb).
-
Kui navigeerimispaan pole avatud, vajutage selle avamiseks klahvi F11.
-
Kui teil on juba mõni vorm olemas, paremklõpsake seda navigeerimispaanil ja seejärel klõpsake käsku Küljendivaade. Kui teil pole veel vormi, millega töötada, valige Loo > Vorm.
-
Paremklõpsake vormil mõnda tekstivälja ja siis klõpsake käsku Atribuudid.
-
Klõpsake atribuudilehel nuppu Kõik > Juhtelemendi allikas ja seejärel klõpsake atribuudivälja Juhtelemendi allikas paremas servas nuppu Koosta .
-
Laiendage jaotises Avaldiseelemendid sõlme Funktsioonid ja klõpsake siis väärtust Sisseehitatud funktsioonid.
-
Klõpsake jaotises Avaldisekategooriad väärtust Tekst.
-
Klõpsake jaotises Avaldiseväärtused erinevaid funktsioone; avaldisekoosturi allosas saate lugeda nende lühikirjeldusi.
Märkus.: Kõik funktsioonid pole igas kontekstis saadaval. Access filtreerib loendi automaatselt vastavalt sellele, millised funktsioonid vastavas kontekstis töötavad.
Tekstifunktsioonide kombineerima suurema paindlikkuse huvides
Mõni stringifunktsioon sisaldab ka arvulisi argumente, mida vahel tuleb arvutada iga kord, kui funktsiooni kasutada. Funktsioon Left näiteks kasutab stringi ja arvu, näiteks avaldises =Left(Järjenumber; 2). See on väga mugav, kui teate, et teil läheb alati vaja kahte vasakpoolseimat märki, ent mida teha siis, kui vajalike märkide arv sõltuvalt üksusest varieerub? Märkide arvu fikseerimise asemel võite sisestada mõne muu funktsiooni, mis vajaliku arvu arvutab.
Siin näete näidet järjenumbritest, mis kõik sisaldavad sidekriipsu. Sidekriipsu asukoht aga varieerub.
Järjenumber |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Kui soovite kuvada üksnes sidekriipsust vasakul asuvad numbrid, peate sidekriipsu asukoha leidmiseks iga kord uue arvutuse tegema. Selleks võite teha näiteks järgmist:
=Left([Järjenumber];InStr(1;[Järjenumber];"-")-1)
Selle asemel, et sisestada arv funktsiooni Left teise argumendina, oleme ühendanud funktsiooni InStr, mis tagastab sidekriipsu asukoha seerianumbris. Kui sellest väärtusest lahutada 1, saategi õige märkide arvu, mille funktsioon Left peaks tagastama. Algul tundub see kindlasti veidi keeruline, kuid mõningase katsetamise järel saate kindlasti selgeks, kuidas kahte või enamat avaldist soovitud tulemite saamiseks kombineerida.