Funkcje tekstowe i ich zastosowanie

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Za pomocą funkcji tekstowych można tworzyć w programie Access wyrażenia umożliwiające manipulowanie tekstem na wiele sposobów. Na przykład możesz zechcieć wyświetlić w formularzu tylko część numeru seryjnego. Może też być konieczne połączenie (połączenie) kilku ciągów, na przykład nazwiska i imienia. Jeśli nie znasz jeszcze wyrażeń, zobacz Tworzenie wyrażenia.

Poniżej przedstawiono listę najbardziej typowych operacji na ciągach w programie Access oraz funkcji, których można użyć do ich wykonania:

Cel Użyj... Na przykład... Wyniki
Zwracanie znaków od początku ciągu Funkcja Left =Left([LiczbaKolejna];2) Jeśli [SerialNumber] to "CD234", wynikiem jest "CD".
Zwracanie znaków z końca ciągu Funkcja Right =Right([LiczbaKolejna];3) Jeśli parametrem [SerialNumber] jest "CD234", wynikiem jest "234".
Znajdowanie pozycji znaku w ciągu Funkcja InStr =InStr(1;[Imię];"i") Jeśli [Imię] to "Tomasz", wynikiem jest 4.
Zwracanie znaków ze środka ciągu Funkcja Mid =FRAGMENT.TEKSTU([LiczbaKolejna];2;2) Jeśli argument [SerialNumber] to "CD234", wynikiem jest "D2".
Przycinanie spacji wiodących lub końcowych z ciągu Funkcje LTrim, RTrim i Trim =Trim([FirstName]) Jeśli [Imię] to " Tomasz ", wynikiem jest "Tomasz".
Łączenie dwóch ciągów Operator znaku plus (+)* =[Imię] + [Nazwisko] Jeśli [Imię] to "Tomasz", a [Nazwisko] to Wilkowski, wynikiem będzie "Kowalczyk"
Łączenie dwóch ciągów znaków ze spacją między nimi Operator znaku plus (+)* =[Imię] + " " + [Nazwisko] Jeśli [Imię] to "Tomasz", a [Nazwisko] to Wilkowski, wynikiem będzie "Tomasz Kowalski"
Zmienianie wielkości liter ciągu na wielkie lub małe lub wielkie Funkcja UCase lub funkcja LCase =UCase([FirstName]) Jeśli [Imię] to "Tomasz", wynikiem będzie "COLIN".
Określanie długości ciągu Funkcja Len =Len([Imię]) Jeśli [Imię] to "Tomasz", wynik wynosi 5.

* Okej, więc to nie jest funkcja, to jest operator. Jest to jednak najszybszy sposób łączenia ciągów. W bazie danych dla komputerów stacjonarnych do łączenia można również użyć operatora handlowego "i" (&).

W programie Access jest o wiele więcej funkcji związanych z tekstem. Dobrym sposobem na ich poznanie jest otwarcie Konstruktora wyrażeń i przejrzenie list funkcji. Konstruktor wyrażeń jest dostępny niemal wszędzie tam, gdzie chcesz utworzyć wyrażenie — zazwyczaj jest tam mały przycisk Konstruuj , który wygląda następująco: Obraz przycisku

Aby zademonstrować Konstruktora wyrażeń, otwórzmy go z poziomu właściwości Źródło kontrolki w formularzu lub widoku. Użyj jednej z poniższych procedur w zależności od tego, czy korzystasz z bazy danych dla komputerów stacjonarnych, czy z aplikacji sieci Web programu Access.

Wyświetlanie Konstruktora wyrażeń w bazie danych dla komputerów stacjonarnych

  1. Otwórz bazę danych dla komputerów stacjonarnych (accdb).

  2. Naciśnij klawisz F11, aby otworzyć okienko nawigacji, jeśli nie jest jeszcze otwarte.

  3. Jeśli formularz jest już dostępny, kliknij go prawym przyciskiem myszy w okienku nawigacji, a następnie kliknij polecenie Widok układu. Jeśli nie masz formularza do pracy, kliknij pozycję Utwórz>formularz.

  4. Kliknij prawym przyciskiem myszy pole tekstowe w formularzu, a następnie kliknij polecenie Właściwości.

  5. W arkuszu właściwości kliknij pozycję Wszystkie >źródła kontrolki, a następnie kliknij przycisk KonstruujObraz przycisku po prawej stronie pola właściwości Źródło formantu.

    Przycisk Konstruuj w arkuszu właściwości.

  6. W obszarze Elementy wyrażeń rozwiń węzeł Funkcje , a następnie kliknij pozycję Funkcje wbudowane.

  7. W obszarze Kategorie wyrażeń kliknij pozycję Tekst.

  8. W obszarze Wartości wyrażeń klikaj poszczególne funkcje i czytaj krótkie opisy w dolnej części Konstruktora wyrażeń.

    Uwaga

    Nie wszystkie z tych funkcji są dostępne we wszystkich kontekstach; Program Access automatycznie filtruje listę w zależności od tego, które z nich działają w danym kontekście.

Łączenie funkcji tekstowych w celu uzyskania większej elastyczności

Niektóre funkcje tekstowe mają argumenty numeryczne, które w niektórych przypadkach trzeba obliczać przy każdym wywołaniu funkcji. Na przykład funkcja Left przyjmuje ciąg i liczbę, na przykład =Left(SerialNumber, 2). Jest to doskonałe rozwiązanie, jeśli wiesz, że zawsze potrzebujesz dwóch lewych znaków, ale co zrobić, jeśli liczba potrzebnych znaków różni się w zależności od elementu? Zamiast po prostu "kodować" liczbę znaków, możesz wprowadzić inną funkcję, która ją obliczy.

Oto przykład liczb seryjnych, z których każda ma łącznik gdzieś w ciągu. Jednak pozycja łącznika może być różna:

Numer seryjny
3928-29993
23-9923
333-53234
3399940-444

Aby wyświetlić liczby tylko z lewej strony łącznika, musisz za każdym razem wykonać obliczenie, aby dowiedzieć się, gdzie znajduje się łącznik. Jedną z opcji jest zrobienie czegoś takiego:

=Left([LiczbaKolejna],InStr(1,[NumerKolejny],"-")-1)

Zamiast wprowadzać liczbę jako drugi argument funkcji Left, dołączyliśmy funkcję InStr, która zwraca pozycję łącznika w numerze seryjnym. Odejmij 1 od tej wartości, a otrzymasz prawidłową liczbę znaków, którą ma zwrócić funkcja LEWY. Na pierwszy rzut oka wydaje się to trochę skomplikowane, ale przy odrobinie eksperymentów można połączyć dwa lub więcej wyrażeń w celu uzyskania pożądanych wyników.