Przy użyciu wyrażeń można wykonywać różnorodne operacje na danych. Można na przykład określić liczbę dni, które upłynęły od wysyłki zamówienia lub połączyć pola FirstName (Imię) i LastName (Nazwisko) w jedno pole FullName (Imię i nazwisko). W poniższych sekcjach pokazano, jak utworzyć wyrażenie krok po kroku.
W tym artykule
Obliczanie wartości dla kontrolek w formularzach i raportach
W przypadku używania wyrażenia jako źródła danych dla kontrolki jest tworzona kontrolka obliczeniowa. Załóżmy na przykład, że w raporcie jest wyświetlanych wiele rekordów zapasów i chcesz w stopce raportu utworzyć sumę obejmującą wszystkie pozycje raportu.
Aby obliczyć sumę, umieść w stopce raportu kontrolkę pola tekstowego, a następnie jako właściwość Źródło kontrolki pola tekstowego ustaw następujące wyrażenie:
=Sum([table_field])
W tym przypadku zmienna table_field jest nazwą pola zawierającego wartości sum częściowych. Pole to może pochodzić z tabeli lub zapytania. Funkcja Sum oblicza sumę wszystkich wartości zmiennej table_field.
PROCEDURA
-
W okienku nawigacji kliknij prawym przyciskiem myszy formularz, który chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok układu lub Widok projektu.
-
Wybierz kontrolkę, w której chcesz wprowadzić wyrażenie.
-
Jeśli arkusz właściwości nie jest jeszcze wyświetlony, naciśnij klawisz F4, aby go wyświetlić.
-
Aby ręcznie utworzyć wyrażenie, na karcie Dane arkusza właściwości kliknij właściwość Źródło kontrolki pola tekstowego, a następnie wprowadź znak = i pozostałą część wyrażenia. Aby na przykład obliczyć sumę częściową przedstawioną powyżej, wpisz wyrażenie =Sum([table_field]), zastępując zmienną table_field właściwą nazwą pola.
-
Aby utworzyć wyrażenie za pomocą Konstruktora wyrażeń, kliknij przycisk Konstruuj w polu właściwości.
Po zakończeniu wpisywania wyrażenia arkusz właściwości będzie wyglądać następująco:
Używanie wyrażeń jako kryteriów zapytania
Kryteriów zapytania można używać do zawężania wyników zapytania. Kryteria wprowadza się w formie wyrażenia, a program Access zwraca tylko wiersze pasujące do tego wyrażenia.
Załóżmy na przykład, że chcesz wyświetlić wszystkie zamówienia z datą wysyłki przypadającą w pierwszych trzech miesiącach 2017 roku. W celu wprowadzenia odpowiedniego kryterium wpisujesz poniższe wyrażenie w komórce Kryteria kolumny Data/Godzina zapytania. W tym przykładzie użyto kolumny typu Data/Godzina o nazwie DataWysyłki. Aby zdefiniować zakres dat, wprowadź kryteria w następujący sposób:
Between #1/1/2017# And #3/31/2017#
Kolumna DataWysyłki będzie wyglądać podobnie do pokazanej poniżej.
Jeśli wartość kolumny DataWysyłki znajdzie się w określonym zakresie dat, każdy rekord w tabeli Zamówienia zostanie uwzględniony w wyniku zapytania. Zwróć uwagę, że daty w wyrażeniu są ujęte w znaki numeru (#). Program Access traktuje wartości otoczone znakami numeru jako wartości o typie danych Data/Godzina. Potraktowanie tych wartości jako dane typu Data/Godzina umożliwia wykonanie obliczeń na tych wartościach, takich jak odejmowanie jednej daty od drugiej.
PROCEDURA
-
W okienku nawigacji kliknij prawym przyciskiem myszy zapytanie, które chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok projektu.
-
Kliknij komórkę Kryteria w kolumnie, której mają dotyczyć wprowadzone kryteria.
-
Aby ręcznie utworzyć wyrażenie, wpisz wyrażenie kryterium. Nie poprzedzaj wyrażenia kryterium operatorem =.
-
Aby utworzyć wyrażenie za pomocą Konstruktora wyrażeń, na wstążce kliknij kartę Projektowanie, a następnie w grupie Konfiguracja kwerendy kliknij przycisk Konstruktor .
Jeśli potrzebujesz większego obszaru do edytowania wyrażenia, umieść kursor w komórce Kryteria i naciśnij klawisze SHIFT+F2, aby wyświetlić okno Powiększenie:
Porada Aby tekst był bardziej czytelny, wybierz odpowiednią czcionkę.
Tworzenie pola obliczeniowego w kwerendzie
Załóżmy, że projektujesz kwerendę i chcesz wyświetlić wyniki obliczenia, używając innych pól kwerendy. Aby utworzyć pole obliczeniowe, wprowadź wyrażenie w pustej komórce w wierszu Pole kwerendy. Jeśli na przykład kwerenda zawiera pole Ilość i pole Cena jednostkowa, możesz pomnożyć te pola w celu utworzenia pola obliczeniowego Cena rozszerzona, wprowadzając następujące wyrażenie w wierszu Pole kwerendy:
Extended Price: [Quantity] * [Unit Price]
Umieszczanie przed wyrażeniem tekstu Extended Price: powoduje nadanie nazwy Cena rozszerzona (Extended Price) nowej kolumny. Ta nazwa jest często nazywana aliasem. Jeśli nie podasz żadnego aliasu, program Access utworzy alias sam — może to być przykładowo alias Expr1.
Gdy zostanie uruchomione zapytanie, program Access wykonuje obliczenia w każdym wierszu, jak pokazano na poniższej ilustracji:
PROCEDURA
-
W okienku nawigacji kliknij prawym przyciskiem myszy zapytanie, które chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok projektu.
-
Kliknij komórkę Pole w kolumnie, w której chcesz utworzyć pole obliczeniowe.
-
Aby ręcznie utworzyć wyrażenie, wpisz je.
Nie poprzedzaj wyrażenia kryterium operatorem = . Zamiast tego rozpocznij wyrażenie etykietką opisową i następującym po niej dwukropkiem. Wpisz na przykład Extended Price:, aby oznaczyć etykietą wyrażenie tworzące pole obliczeniowe o nazwie Cena rozszerzona. Następnie wprowadź kryteria wyrażenia po dwukropku.
-
Aby utworzyć wyrażenie za pomocą Konstruktora wyrażeń, na wstążce kliknij kartę Projektowanie, a następnie w grupie Konfiguracja kwerendy kliknij przycisk Konstruktor.
Tworzenie pola obliczeniowego w tabeli
W programie Access można utworzyć pole obliczeniowe w tabeli. Eliminuje to konieczność tworzenia oddzielnej kwerendy wykonującej obliczenia. Przykładowo jeśli masz tabelę z liczbą sztuk, ceną i stawką podatku każdej pozycji w zamówieniu, możesz dodać pole obliczeniowe pokazujące cenę całkowitą:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Obliczenie nie może obejmować pól z innych tabel ani zapytań, a wyniki obliczeń są tylko do odczytu.
PROCEDURA
-
Otwórz tabelę, klikając ją dwukrotnie w okienku nawigacji.
-
Przewiń tabelę w poziomie do pierwszej kolumny z prawej strony i kliknij nagłówek kolumny Kliknij, aby dodać.
-
Na wyświetlonej liście kliknij pozycję Pole obliczeniowe, a następnie kliknij żądany typ danych wyniku. W programie Access zostanie wyświetlony Konstruktor wyrażeń.
-
Wpisz obliczenia dla tego pola, na przykład:
[Quantity] * [Unit Price]
W przypadku pola obliczeniowego wyrażenia nie rozpoczyna się od znaku (=).
-
Kliknij przycisk OK.
Program Access doda pole obliczeniowe, a następnie wyróżni nagłówek pola, umożliwiając wpisanie jego nazwy.
-
Wpisz nazwę pola obliczeniowego i naciśnij klawisz ENTER.
Ustawianie wartości domyślnych dla pola tabeli
Za pomocą wyrażenia można określić wartość domyślną pola w tabeli — wartość, której program Access używa dla nowych rekordów, gdy nie jest podana inna wartość. Załóżmy przykładowo że chcesz, aby podczas dodawania nowego rekordu w polu DataZamówienia była automatycznie wstawiana data i godzina. W tym celu możesz wprowadzić następujące wyrażenie:
Now()
PROCEDURA
-
W okienku nawigacji kliknij dwukrotnie tabelę, którą chcesz zmienić.
W programie Access zostanie otwarta tabela w widoku arkusza danych.
-
Wybierz pole, które chcesz zmienić.
-
Na wstążce kliknij pozycję Pola tabeli i w grupie Właściwości kliknij pozycję Wartość domyślna. W programie Access zostanie wyświetlony Konstruktor wyrażeń.
-
Wpisz wyrażenie w polu, pamiętając, aby rozpocząć je znakiem równości (=).
Uwaga Jeżeli powiążesz kontrolkę z polem tabeli i zarówno kontrolka, jak i pole, będą miały wartość domyślną, wartość domyślna kontrolki będzie miała pierwszeństwo przed polem tabeli.
Ustawianie wartości domyślnych dla kontrolek
Innym typowym miejscem stosowania wyrażeń jest właściwość Wartość domyślna kontrolki. Właściwość Wartość domyślna kontrolki działa podobnie do właściwości Wartość domyślna pola w tabeli. Aby na przykład wprowadzić bieżącą datę jako wartość domyślną pola tekstowego, można użyć następującego wyrażenia:
Date()
Za pomocą funkcji Date wyrażenie zwraca bieżącą datę, ale nie godzinę. Jeżeli powiążesz pole tekstowe z polem tabeli, które ma wartość domyślną, wartość domyślna kontrolki będzie miała pierwszeństwo przed polem tabeli. Często bardziej sensowne jest ustawienie właściwości Wartość domyślna pola tabeli. Dzięki temu jeśli kilka kontrolek w różnych formularzach będzie się opierać na tym samym polu tabeli, w przypadku każdej kontrolki zostanie zastosowana ta sama wartość domyślna. Pomaga to zachować spójność wprowadzanych danych we wszystkich formularzach.
PROCEDURA
-
W okienku nawigacji kliknij prawym przyciskiem myszy formularz lub raport, który chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok układu lub Widok projektu.
-
Zaznacz kontrolkę, którą chcesz zmienić.
-
Jeśli arkusz właściwości nie jest jeszcze wyświetlony, naciśnij klawisz F4, aby go wyświetlić.
-
Kliknij kartę Wszystkie w arkuszu właściwości, a następnie kliknij pole właściwości Wartość domyślna.
-
Wpisz wyrażenie lub kliknij przycisk Konstruuj w polu właściwości, aby utworzyć wyrażenie za pomocą Konstruktora wyrażeń.
Dodawanie reguły poprawności do pola lub rekordu w tabeli
Wyrażenia są również pomocne przy sprawdzaniu poprawności danych wprowadzanych do bazy danych, nie zezwalając na wprowadzanie nieprawidłowych danych. W przypadku tabel dostępne są dwa rodzaje reguł poprawności: reguły poprawności pola (uniemożliwiające użytkownikom wprowadzanie nieprawidłowych danych w jednym polu) oraz reguły sprawdzania poprawności rekordu (uniemożliwiające użytkownikom tworzenie rekordów niespełniających reguły poprawności). W obu rodzajach reguł poprawności używane są wyrażenia.
Załóżmy na przykład, że w tabeli Zapasy z polem W magazynie chcemy ustawić regułę wymuszającą na użytkownikach wprowadzanie wartości większej niż lub równej zero. Innymi słowy, stan zapasów nie może być liczbą ujemną. W tym celu jako regułę poprawności pola W magazynie można zastosować następujące wyrażenie:
>=0
PROCEDURA: wprowadzanie reguły poprawności pola lub rekordu
-
W okienku nawigacji kliknij dwukrotnie tabelę, którą chcesz zmienić. W programie Access zostanie otwarta tabela w widoku arkusza danych.
-
W przypadku reguły poprawności pola kliknij pole, które chcesz zmienić.
-
Na wstążce kliknij pozycję Pola tabeli, w grupie Sprawdzanie poprawności pola kliknij pozycję Sprawdzanie poprawności, a następnie kliknij pozycję Reguła poprawności pola lub Reguła poprawności. W programie Access zostanie wyświetlony Konstruktor wyrażeń.
-
Rozpocznij wpisywanie wymaganych kryteriów. Na przykład w przypadku reguły poprawności pola wymagającej, aby wszystkie wartości były większe niż lub równe zero, wpisz następujące wyrażenie:
>=0
Wyrażenia nie poprzedzaj znakiem równości (=).
Wyrażenia reguł poprawności dają wynik logiczny, to znaczy dla każdej wartości wejściowej zwracają wartość True lub False. Reguła poprawności dla danej wartości musi mieć wartość True albo program Access nie zapisze wartości wejściowej i wyświetli komunikat dotyczący sprawdzania poprawności z informacją o błędzie. W tym przykładzie jeśli w polu W magazynie zostanie wprowadzona wartość mniejsza niż zero, wyrażenie zwróci wartość False, a program Access nie zaakceptuje wartości. Jeśli nie zostanie wprowadzony komunikat dotyczący sprawdzania poprawności zgodnie z opisem w następnej sekcji, program Access wyświetli własny komunikat z informacją, że wprowadzona wartość jest zabroniona przez regułę poprawności pola.
PROCEDURA: wprowadzanie komunikatu sprawdzania poprawności
Aby ułatwić korzystanie z bazy danych, można wprowadzić własne komunikaty sprawdzania poprawności. Zastępują one ogólne komunikaty wyświetlane przez program Access, gdy dane nie spełniają wymogów reguły poprawności. Własny komunikat sprawdzania poprawności może służyć do przekazywania określonych informacji, które pomagają użytkownikowi wprowadzać prawidłowe dane, na przykład, „Wartość pola W magazynie nie może być ujemna”.
-
W okienku nawigacji kliknij dwukrotnie tabelę, którą chcesz zmienić.
W programie Access zostanie otwarta tabela w widoku arkusza danych.
-
W przypadku komunikatu sprawdzania poprawności pola wybierz pole, do którego dodano regułę poprawności.
-
Na wstążce kliknij pozycję Pola tabeli, w grupie Sprawdzanie poprawności pola kliknij pozycję Sprawdzanie poprawności, a następnie kliknij pozycję Komunikat sprawdzania poprawności pola lub Komunikat sprawdzania poprawności.
-
W oknie dialogowym Wprowadzanie komunikatu sprawdzania poprawności wpisz treść komunikatu, który ma być wyświetlany, gdy dane nie będą zgodne z regułą poprawności, a następnie kliknij przycisk OK.
Dodawanie reguły poprawności dla kontrolki
Oprócz pól tabeli i rekordów także kontrolki mają właściwość Reguła poprawności, w której można wpisać wyrażenie. Załóżmy na przykład, że używasz formularza do wprowadzenia zakresu dat dla potrzeb raportu i chcesz mieć pewność, że data początkowa nie będzie wcześniejsza niż 1/1/2017. Dla pola tekstowego, w którym wprowadzasz datę początkową, można ustawić właściwości Reguła poprawności i Tekst reguły poprawności :
Właściwość |
Ustawienie |
---|---|
Reguła poprawności |
>=#1/1/2017# |
Tekst reguły poprawności |
Nie można wprowadzić daty wcześniejszej niż 1/1/2017. |
Jeśli spróbujesz wprowadzić datę wcześniejszą niż 2017-01-01, zostanie wyświetlony komunikat z tekstem we właściwości Tekst reguły poprawności . Jeśli w polu właściwości Tekst sprawdzania poprawności nie wprowadzono żadnego tekstu, program Access wyświetli ogólny komunikat. Gdy zostanie kliknięty przycisk OK, program Access powróci do pola tekstowego.
Ustawienie reguły poprawności pola tabeli wymusza tę regułę w całej bazie danych podczas każdej modyfikacji danego pola. Ewentualnie ustawienie reguły poprawności kontrolki w formularzu wymusza tę regułę tylko podczas używania danego formularza. Ustawienie oddzielnych reguł poprawności pól tabel i kontrolek w formularzach może się przydać, jeśli dla różnych użytkowników mają być ustanowione różne reguły.
PROCEDURA
-
W okienku nawigacji kliknij prawym przyciskiem myszy formularz lub raport, który chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok układu lub Widok projektu.
-
Kliknij prawym przyciskiem myszy kontrolkę, którą chcesz zmienić, a następnie w menu skrótów kliknij polecenie Właściwości. Program Access wyświetli arkusz właściwości kontrolki.
-
Kliknij kartę Wszystkie, a następnie kliknij pole właściwości Reguła poprawności.
-
Wpisz wyrażenie lub kliknij przycisk Konstruuj w polu właściwości, aby utworzyć wyrażenie za pomocą Konstruktora wyrażeń.
Nie poprzedzaj wyrażenia operatorem =.
-
Aby dostosować tekst wyświetlany po wprowadzeniu przez użytkownika danych niezgodnych z regułą poprawności, wpisz odpowiedni tekst we właściwości Tekst reguły spr. poprawności.
Grupowanie i sortowanie danych w raportach
Do definiowania poziomów grupowania i kolejności sortowania danych w raporcie służy okienko Grupowanie, sortowanie i sumowanie. Zazwyczaj grupowanie lub sortowanie odbywa się według pola wybranego z listy. Jeżeli jednak grupowanie lub sortowanie ma zostać wykonane według wartości obliczonej, można wprowadzić wyrażenie.
Grupowanie jest procesem łączenia kolumn zawierających zduplikowane wartości. Załóżmy na przykład, że baza danych zawiera informacje dotyczące sprzedaży biur z różnych miast, a jednym z raportów w bazie danych jest „Sprzedaż według miast”. Zapytanie udostępniające dane dla potrzeb tego raportu grupuje dane według nazwy miasta. Tego typu grupowanie sprawia, że informacje są bardziej czytelne i zrozumiałe.
Sortowanie natomiast jest procesem określania kolejności wierszy (rekordów) w wynikach zapytania. Na przykład można posortować rekordy według wartości klucza podstawowego (lub innego zestawu wartości w innym polu) w kolejności rosnącej lub malejącej. Można również posortować je według jednego bądź większej liczby znaków w określonej kolejności, na przykład alfabetycznej.
PROCEDURA: dodawanie opcji grupowania i sortowania do raportu
-
W okienku nawigacji kliknij prawym przyciskiem myszy raport, który chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok układu lub Widok projektu.
-
Na wstążce kliknij pozycję Projekt raportu i w grupie Grupowanie & sum kliknij pozycję Grupuj & Sortuj. Pod raportem zostanie wyświetlone okienko Grupowanie, sortowanie i sumowanie.
-
Aby dodać do raportu poziom grupowania, kliknij pozycję Dodaj grupę.
-
Aby dodać do raportu kolejność sortowania, kliknij pozycję Dodaj sortowanie.
W okienku zostanie wyświetlony nowy poziom grupowania lub kolejność sortowania oraz dodatkowo lista pól udostępniających dane do raportu. Poniższa ilustracja przedstawia typowy nowy poziom grupowania (grupowanie według kategorii) i kolejność sortowania (sortowanie według producenta) oraz listę zawierającą dostępne pola do grupowania i sortowania:
-
Pod listą dostępnych pól kliknij pozycję wyrażenie, aby uruchomić Konstruktora wyrażeń.
-
W polu wyrażenia (górne pole) Konstruktora wyrażeń wprowadź wyrażenie, którego chcesz użyć. Upewnij się, że wyrażenie rozpoczyna się od operatora znak równości (=).
PROCEDURA: dodawanie wyrażenia do istniejącej grupy lub kolejności sortowania
-
W okienku nawigacji kliknij prawym przyciskiem myszy raport, który chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok układu lub Widok projektu.
-
Kliknij poziom grupowania lub kolejność sortowania, którą chcesz zmienić.
-
Kliknij strzałkę w dół obok listy rozwijanej Grupuj według (w przypadku poziomów grupowania) lub Sortuj według (w przypadku kolejności sortowania). Zostanie wyświetlona lista z dostępnymi polami.
-
U dołu listy zawierającej dostępne pola kliknij pozycję wyrażenie, aby uruchomić Konstruktora wyrażeń.
-
Wprowadź wyrażenie w polu wyrażenia (górne pole) Konstruktora wyrażeń. Upewnij się, że wyrażenie rozpoczyna się od operatora znak równości (=).
Decydowanie, które akcje makra są uruchamiane
W niektórych przypadkach może być konieczne wykonanie akcji lub serii akcji w makrze tylko w przypadku spełnienia określonego warunku. Załóżmy na przykład, że pewna akcja ma być wykonywana tylko wtedy, gdy wartość pola tekstowego jest większa lub równa 10. Aby ustawić tę regułę, można użyć wyrażenia w bloku Jeżeli makra w celu zdefiniowania warunku makra.
W tym przykładzie załóżmy, że pole tekstowe ma nazwę „Artykuły”. Wyrażenie ustanawiające warunek to:
[Items]>=10
PROCEDURA
-
W okienku nawigacji kliknij prawym przyciskiem myszy makro, które chcesz zmienić, a następnie w menu skrótów kliknij polecenie Widok projektu.
-
Kliknij blok Jeżeli, który chcesz zmodyfikować, lub dodaj blok Jeżeli z okienka Wykaz akcji.
-
Kliknij górny wiersz bloku Jeżeli.
-
Wpisz wyrażenie warunkowe w polu lub kliknij przycisk Konstruuj obok pola wyrażenia, aby rozpocząć korzystanie z Konstruktora wyrażeń.
Wpisywane wyrażenie musi być wyrażeniem logicznym, to znaczy zwracać wartość True lub False. Akcje makr w bloku Jeżeli są uruchamiane tylko wtedy, gdy warunek ma wartość True.