Stringifunktsioonid ja nende kasutamine

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

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 rahul, 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 Funktsioon Left =Left([Järjenumber];2) Kui [SerialNumber] on "CD234", on tulem "CD".
Märkide tagastamine stringi lõpust Funktsioon Right =Right([Järjenumber];3) Kui [SerialNumber] on "CD234", on tulem "234".
Märgi asukoha leidmine stringis Funktsioon InStr =InStr(1;[Eesnimi];"i") Kui [Eesnimi] on "Mati", on tulem 4.
Märkide tagastamine stringi keskelt Funktsioon Mid =Mid([Järjenumber];2;2) Kui [SerialNumber] on "CD234", on tulem "D2".
Stringi eel- või lõputühikute kärpimine Funktsioonid LTrim, RTrim ja Trim =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 Wilcox, on tulem "Mati Salmri"
Kahe stringi ühendamine nii, et nende vahele jääks tühik Plussmärk (+) tehtemärk* =[Eesnimi] + " " + [Perekonnanimi] Kui [Eesnimi] on "Mati" ja [Perekonnanimi] on Wilcox, on tulem "Mati Kall"
Stringi täheregistri muutmine suur- või väiketähtedeks Funktsioon UCase või funktsioon LCase =UCase([Eesnimi]) Kui [Eesnimi] on "Mati", on tulem "COLIN".
Stringi pikkuse nime määratlemine Funktsioon Len =Len([Eesnimi]) Kui [Eesnimi] on "Mati", on tulem 5.

* Olgu, see pole siis funktsioon, vaid tehtemärk. Kuid see on kiireim viis stringide ühendamiseks. 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: Nupu pilt

Avaldisekoosturi demonstreerimiseks avage see 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

  1. Avage töölauaandmebaas (.accdb).

  2. Kui navigeerimispaan pole veel avatud, vajutage navigeerimispaani avamiseks klahvi F11.

  3. Kui teil on juba mõni vorm olemas, paremklõpsake seda navigeerimispaanil ja seejärel klõpsake käsku Küljendivaade. Kui teil pole vormi, millega töötada, klõpsake nuppu Loo>vorm.

  4. Paremklõpsake vormil mõnda tekstivälja ja siis klõpsake käsku Atribuudid.

  5. Klõpsake atribuudilehel nuppu Kogu>juhtelemendi allikas ja seejärel atribuudivälja Juhtelemendi allikas paremas servas nuppu Koosta nupu pilt.

    Nupp Koosta atribuudilehel.

  6. Laiendage jaotises Avaldiseelemendid sõlme Funktsioonid ja klõpsake siis väärtust Sisseehitatud funktsioonid.

  7. Klõpsake jaotises Avaldisekategooriad väärtust Tekst.

  8. 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 "püsikodeerimine" asemel võite sisestada mõne muu funktsiooni, mis seda arvutab.

Siin on näide järjenumbritest, millel igaühel on stringis sidekriips. 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.