Funkcje ciągu umożliwiają tworzenie w programie Access wyrażeń, które manipulują tekstem na różne sposoby. Na przykład może być konieczne wyświetlenie tylko części numeru seryjnego w formularzu. Może być też konieczne połączenie kilku ciągów, takich jak nazwisko i imię. Jeśli nie znasz jeszcze wyrażeń, zobacz Tworzenie wyrażenia.
Poniżej przedstawiono listę niektórych najczęściej wykonywanych operacji na ciągi znaków w programie Access oraz funkcji, za pomocą których można je wykonywać:
Cel |
Użyj... |
Na przykład... |
Wyniki |
---|---|---|---|
Zwracanie znaków od początku ciągu |
=Left([Numer seryjny];2) |
Jeśli [numer seryjny] to "CD234", wynikiem jest "CD". |
|
Zwracanie znaków z końca ciągu |
=Right([Numer seryjny];3) |
Jeśli [numer seryjny] to "CD234", wynikiem jest "234". |
|
Znajdowanie pozycji znaku w ciągu |
=InStr(1;[Imię];"i") |
Jeśli [Imię] to "Colin", wynikiem jest 4. |
|
Zwracanie znaków ze środka ciągu |
=Mid([Liczba_kolejna];2;2) |
Jeśli [numer seryjny] to "CD234", wynikiem jest "D2". |
|
Przycinanie spacji wiodących lub końcowych z ciągu |
=Trim([Imię]) |
Jeśli [Imię] to " Colin ", wynikiem jest "Colin". |
|
Łączenie dwóch ciągów |
Operator znaku plus (+) * |
=[Imię] + [Nazwisko] |
Jeśli [Imię] to "Colin", a [Nazwisko] to Wilcox, wynikiem jest "ColinWilcox" |
Łączenie dwóch ciągów za pomocą spacji między nimi |
Operator znaku plus (+) * |
=[Imię] + " " + [Nazwisko] |
Jeśli [Imię] to "Colin", a [Nazwisko] to Wilcox, wynikiem jest "Colin Wilcox" |
Zmienianie wielkości liter ciągu na wielkie lub małe |
=UCase([Imię]) |
Jeśli [Imię] to "Colin", wynikiem jest "COLIN". |
|
Określanie długości ciągu |
=Len([Imię]) |
Jeśli [Imię] to "Colin", wynikiem jest 5. |
* Dobrze, więc nie jest to funkcja, to operator. Jest to jednak najszybszy sposób łączenia ciągów. W bazie danych dla komputerów stacjonarnych można również używać operatora ampersand (&) do łączenia.
W programie Access jest więcej funkcji związanych z tekstem. Dobrym sposobem na zapoznanie się z nimi jest otwarcie Konstruktora wyrażeń i przeglądanie list funkcji. Konstruktor wyrażeń jest dostępny niemal wszędzie tam, gdzie chcesz utworzyć wyrażenie — zazwyczaj jest dostępny mały przycisk Konstruuj , który wygląda następująco:
Aby pokazać Konstruktora wyrażeń, otwórzmy go z poziomu właściwości Źródło kontrolki w formularzu lub widoku. Wykonaj jedną 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
-
Otwieranie bazy danych dla komputerów stacjonarnych (accdb).
-
Naciśnij klawisz F11, aby otworzyć okienko nawigacji, jeśli jeszcze nie zostało otwarte.
-
Jeśli masz już dostępny formularz, 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.
-
Kliknij prawym przyciskiem myszy pole tekstowe w formularzu, a następnie kliknij polecenie Właściwości.
-
W arkuszu właściwości kliknij pozycję Wszystkie > Źródło kontrolki i kliknij przycisk Konstruuj po prawej stronie pola właściwości Źródło kontrolki .
-
W obszarze Elementy wyrażeń rozwiń węzeł Funkcje i kliknij pozycję Funkcje wbudowane.
-
W obszarze Kategorie wyrażeń kliknij pozycję Tekst.
-
W obszarze Wartości wyrażeń kliknij różne funkcje i przeczytaj krótkie opisy u dołu Konstruktora wyrażeń.
Uwaga: Nie wszystkie te funkcje są dostępne we wszystkich kontekstach. Program Access automatycznie filtruje listę w zależności od tego, które z nich działają w każdym kontekście.
Łączenie funkcji tekstowych w celu zwiększenia elastyczności
Niektóre funkcje ciągów mają argumenty liczbowe, które w niektórych przypadkach trzeba obliczyć za każdym razem, gdy funkcja jest wywoływana. Na przykład funkcja Lewy przyjmuje ciąg i liczbę, jak w =Left(Liczba_kolejna; 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 "twardego kodowania" liczby znaków, możesz wprowadzić inną funkcję, która ją oblicza.
Oto przykład liczb kolejnych, w których każdy z nich ma łącznik w ciągu. Jednak pozycja łącznika jest różna:
Numer seryjny |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Jeśli chcesz wyświetlić tylko liczby z lewej strony łącznika, musisz wykonać obliczenia za każdym razem, aby sprawdzić, gdzie znajduje się łącznik. Jedną z opcji jest zrobienie czegoś takiego:
=Left([Numer seryjny];InStr(1;[Numer Seryjny];"-")-1)
Zamiast wprowadzać liczbę jako drugi argument funkcji Lewy, podłączyliśmy funkcję InStr, która zwraca pozycję łącznika w liczbie kolejnej. Odejmij 1 od tej wartości i zostanie zwrócona prawidłowa liczba znaków dla funkcji Lewy. Na początku wydaje się to nieco skomplikowane, ale przy odrobinie eksperymentów możesz połączyć dwa lub więcej wyrażeń, aby uzyskać żądane wyniki.