Tworzenie reguły sprawdzania poprawności dla potrzeb sprawdzania poprawności danych w polu
Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Korzystając z reguł poprawności, można weryfikować lub sprawdzać dane w bazach danych programu Access dla komputerów stacjonarnych podczas ich wprowadzania. Można używać konstruktora wyrażeń, który ułatwia właściwe formatowanie reguły. Reguły poprawności można ustawić w widoku projektu tabeli lub arkusza danych tabeli. Istnieją trzy typy reguł poprawności w programie Access:

1. Reguła poprawności pola   Reguła poprawności pola umożliwia określenie kryterium, które muszą spełnić wszystkie prawidłowe wartości pól. Nie należy określać bieżącego pola jako części reguły, chyba że używasz pola w funkcji.  Ograniczenia dotyczące typów znaków wprowadzanych w polu można łatwiej nałożyć za pomocą maski wprowadzania. Na przykład dla pola daty można określić regułę poprawności, która uniemożliwia wprowadzanie przeszłych dat.

Szybkie przykłady:

Nie zezwalaj na wartości dat z przeszłości: >=Date()

Ogólnie akceptowany format wiadomości e-mail: Is Null OR ((Like "*?@?*.? *") AND (Not Like "*[ ,;] *"))

Liczba mniejsza niż lub nierówna do pięciu: <=5

Pole Waluta nie może być ujemne: >=0

Ogranicz długość znaku w ciągu: Len([StringFieldName])<100

Reguła poprawności pola wyświetlana w Projektancie tabel programu Access

2. Reguła poprawności rekordu   Reguła poprawności rekordu umożliwia określenie warunku, który muszą spełniać wszystkie prawidłowe rekordy. Możesz porównać wartości dla różnych pól przy użyciu reguły poprawności rekordu. Na przykład rekord zawierający dwa pola daty może wymagać, aby wartość wprowadzana w jednym z pól była zawsze datą wcześniejszą niż data wprowadzana w drugim polu (np. Data_rozpoczęcia jest wcześniejsza niż Data_zakończenia).

Szybkie przykłady:

Upewnij się, że data zakończenia nie przypada przed datą rozpoczęcia: [Data zakończenia]>=[Data rozpoczęcia]

Wprowadź wymaganą datę przypadaną nie więcej niż 30 dni po dacie zamówienia: [DataDostawy]<=[DataZamówienia]+30

Reguła poprawności tabeli w projektancie tabel programu Access.

3. Sprawdzanie poprawności w formularzu   Właściwość Reguła poprawności kontrolki w formularzu umożliwia określenie kryterium, które muszą spełnić wszystkie wartości wprowadzane do tej kontrolki. Właściwość kontrolki Reguła poprawności działa podobnie do reguły poprawności pola. Zwykle zamiast reguły poprawności pola jest używana reguła poprawności formularza, jeśli reguła była specyficzna tylko dla tego formularza, a nie dla tabeli, niezależnie od tego, gdzie została użyta.

W tym artykule

Omówienie

W tym artykule opisano sposoby używania reguł poprawności i tekstu reguł poprawności w polach tabel i kontrolkach formularzy. Reguła poprawności jest jednym ze sposobów ograniczenia możliwości wprowadzania danych w polu tabeli lub kontrolce (takiej jak pole tekstowe) w formularzu. Tekst reguły poprawności umożliwia udostępnienie komunikatu pomagającego użytkownikom wprowadzającym nieprawidłowe dane.

Podczas wprowadzania danych program Access sprawdza, czy wprowadzane dane są niezgodne z regułą poprawności — w przypadku wprowadzenia niezgodnych danych są one odrzucane, a w programie Access jest wyświetlany komunikat.

W programie Access dostępnych jest kilka sposobów ograniczenia wprowadzanych danych:

  • Typy danych   Każde pole tabeli ma typ danych, który ogranicza możliwość wprowadzania danych przez użytkowników. Na przykład w polu typu Data/Godzina są akceptowane tylko daty i godziny, w polu typu Waluta są akceptowane tylko dane monetarne itd.

  • Właściwości pola   Niektóre właściwości pól ograniczają możliwość wprowadzania danych. Na przykład właściwość Rozmiar pola ogranicza dopuszczalne dane przez określenie limitu ilości wprowadzanych danych.

    Możesz użyć także właściwości Reguła poprawności, aby wymagać określonych wartości oraz właściwości Tekst reguły spr. poprawności, aby przekazywać użytkownikom alerty w razie wystąpienia błędów. Na przykład wprowadzanie reguły >100 And <1000 we właściwości Reguła poprawności wymusza na użytkownikach wprowadzenie wartości z zakresu od 100 do 1000. Reguła [Data_zakończenia]>=[Data_rozpoczęcia] wymusza na użytkownikach wprowadzenie daty zakończenia, która nie jest wcześniejsza od dacie rozpoczęcia. Wprowadzanie tekstu, takiego jak „Wprowadź wartości z zakresu od 100 do 1000” lub „Wprowadź datę zakończenia taką samą jak data rozpoczęcia lub późniejszą” we właściwości Tekst reguły spr. poprawności ułatwia użytkownikom zrozumienie, jaki błąd popełnili i jak mogą go naprawić.

  • Maski wprowadzania   Maski wprowadzania można użyć w celu sprawdzania poprawności danych przez wymuszenie na użytkownikach określonego sposobu wprowadzania wartości. Maska wprowadzania może na przykład wymuszać wprowadzanie przez użytkowników dat w formacie europejskim, takim jak 2007-04-14.

Te metody sprawdzania poprawności danych można stosować osobno lub w połączeniu z innymi metodami. Typ danych nie jest właściwością opcjonalną i zapewnia najbardziej podstawowy typ sprawdzania poprawności danych.

Aby uzyskać więcej informacji na temat typów danych, rozmiarów pól i masek wprowadzania, zobacz artykuł Wprowadzenie do typów danych i właściwości pól.

Typy reguł poprawności

Można tworzyć reguły poprawności dwóch podstawowych typów:

  • Reguły poprawności pól   Reguła poprawności pola służy do sprawdzania wartości wprowadzonej w polu podczas opuszczania pola. Załóżmy na przykład, że istnieje pole Data i dla jego właściwości Reguła poprawności wprowadzono wartość >=#2010-01-01#. Reguła ta wymaga, aby użytkownicy wprowadzali daty nie wcześniejsze niż 1 stycznia 2010. Jeśli użytkownik wprowadzi datę sprzed 2010 roku i spróbuje umieścić fokus w innym polu, program Access nie pozwoli na opuszczenie bieżącego pola do momentu rozwiązania problemu.

  • Reguły poprawności rekordów   Reguła poprawności rekordu służy do kontrolowania możliwości zapisania całego rekordu (wiersza w tabeli). Reguła poprawności rekordu, w odróżnieniu od reguły poprawności pola, odwołuje się do innych pól w tej samej tabeli. Reguły poprawności rekordów tworzy się, kiedy trzeba sprawdzić wartości w jednym polu na podstawie wartości w innym polu. Załóżmy na przykład, że firma powinna wysyłać produkty w ciągu 30 dni i jeśli wysyłka nie nastąpi w tym czasie, trzeba zwrócić klientowi część ceny zakupu. Można zdefiniować regułę poprawności rekordu w postaci [DataDostawy]<=[DataZamówienia]+30, aby zapewnić, że nikt nie wprowadzi zbyt późnej daty wysyłki (wartości w polu DataDostawy).

Jeśli składnia reguł poprawności jest niezrozumiała, zobacz sekcję Co można umieścić w regule poprawności, w której wyjaśniono składnię i podano kilka przykładów reguł poprawności.

Gdzie można używać reguł poprawności

Reguły poprawności można definiować dla pól tabel i dla kontrolek w formularzach. Reguły zdefiniowane dla tabel są stosowane podczas importowania danych. Aby dodać reguły poprawności do tabeli, należy otworzyć tabelę i użyć poleceń na karcie Pola tabeli na wstążce. Aby dodać reguły poprawności do formularza, należy otworzyć formularz w widoku układu i dodać reguły do właściwości poszczególnych kontrolek.

W sekcji Dodawanie reguły poprawności do tabeli wyjaśniono sposoby dodawania reguł poprawności do pól tabeli. W sekcji Dodawanie reguły poprawności do kontrolki w formularzu w dalszej części tego artykułu wyjaśniono sposoby dodawania reguł do właściwości w pojedynczych kontrolkach.

Co można umieścić w regule poprawności

Reguły poprawności mogą zawierać wyrażenia — funkcje zwracające jedną wartość. Wyrażenia służą do wykonywania obliczeń, operowania znakami i testowania danych. Reguła poprawności jest używana do testowania danych. Wyrażenie może na przykład służyć do sprawdzania, czy wartość jest równa jednej wartości z serii, takiej jak "Tokio" Or "Moskwa" Or "Paryż" Or "Helsinki". Wyrażenia mogą być używane także do wykonywania operacji matematycznych. Na przykład wyrażenie <100 wymusza na użytkownikach wprowadzanie wartości mniejszych niż 100. Wyrażenie ([DataZamówienia] - [DataWysyłki]) służy do obliczania liczby dni upływających od dnia złożenia zamówienia do dnia wysłania zamówionych towarów.

Aby uzyskać więcej informacji na temat wyrażeń, zobacz Tworzenie wyrażenia.

Początek strony

Dodawanie reguły poprawności do tabeli

Można dodać regułę poprawności pola lub regułę poprawności rekordu. Reguła poprawności pola weryfikuje dane wprowadzane w polu i jest stosowana w momencie, gdy fokus opuszcza pole. Reguła poprawności rekordu sprawdza dane wprowadzane w jednym lub wielu polach, gdy fokus opuszcza rekord. Zazwyczaj reguła poprawności rekordu porównuje wartości dwóch lub większej liczby pól.

Uwagi: Następujące typy pól nie obsługują reguł poprawności:

  • Autonumerowanie

  • Obiekt OLE

  • Załącznik

  • Identyfikator replikacji

Tworzenie reguły poprawności pola

  1. Wybierz pole, którego poprawność chcesz sprawdzić.

  2. Na karcie Pola tabeli w grupie Sprawdzanie poprawności pola kliknij pozycję Sprawdzanie poprawności, a następnie kliknij pozycję Reguła poprawności pola.

  3. Utwórz regułę za pomocą Konstruktora wyrażeń. Aby więcej uzyskać informacji na temat używania Konstruktora wyrażeń, zobacz artykuł Korzystanie z Konstruktora wyrażeń.

Tworzenie komunikatu wyświetlanego w przypadku wprowadzenia w polu nieprawidłowych danych

  1. Wybierz pole wymagające utworzenia komunikatu dotyczącego nieprawidłowych danych wejściowych. Dla pola powinna już być utworzona reguła poprawności.

  2. Na karcie Pola tabeli w grupie Sprawdzanie poprawności pola kliknij pozycję Sprawdzanie poprawności, a następnie kliknij pozycję Komunikat sprawdzania poprawności pola.

  3. Wprowadź odpowiedni komunikat. Na przykład jeśli reguła poprawności to >10, przykładowy komunikat to „Wprowadź wartość mniejszą niż 10”.

Aby zapoznać się z przykładowymi regułami poprawności pól i komunikatami, zobacz sekcję Dokumentacja reguł poprawności.

Tworzenie reguły poprawności rekordu

  1. Otwórz tabelę, w której chcesz sprawdzić poprawność rekordów.

  2. Na karcie Pola tabeli w grupie Sprawdzanie poprawności pola kliknij pozycję Sprawdzanie poprawności, a następnie kliknij pozycję Reguła poprawności.

  3. Utwórz regułę za pomocą Konstruktora wyrażeń. Aby więcej uzyskać informacji na temat używania Konstruktora wyrażeń, zobacz artykuł Korzystanie z Konstruktora wyrażeń.

Tworzenie komunikatu wyświetlanego w przypadku wprowadzenia w rekordzie nieprawidłowych danych

  1. Otwórz tabelę wymagającą utworzenia komunikatu dotyczącego nieprawidłowych danych wejściowych. Dla tabeli powinna już być utworzona reguła poprawności rekordu.

  2. Na karcie Pola tabeli w grupie Sprawdzanie poprawności pola kliknij pozycję Sprawdzanie poprawności, a następnie kliknij pozycję Komunikat sprawdzania poprawności.

  3. Wprowadź odpowiedni komunikat. Jeśli na przykład regułą poprawności jest [Data_początkowa]<[Data_końcowa], może to być komunikat "Data_początkowa musi poprzedzać data_końcowa".

Początek strony

Testowanie istniejących danych pod kątem zgodności z nową regułą poprawności

Jeśli trzeba dodać regułę poprawności do istniejącej tabeli, można przetestować tę regułę, aby przekonać się, czy w tabeli istnieją nieprawidłowe dane.

  1. Otwórz w widoku projektu tabelę, którą chcesz przetestować.

    Na karcie Projekt tabeli w grupie Narzędzia kliknij przycisk Testuj reguły poprawności.

  2. Kliknij przycisk Tak, aby zamknąć komunikat alertu i rozpocząć test.

  3. Jeśli zostanie wyświetlony monit o zapisanie tabeli, kliknij przycisk Tak.

  4. W miarę postępu testowania może być wyświetlanych wiele różnych komunikatów alertów. Przeczytaj instrukcje w każdym komunikacie i klikaj odpowiednio przycisk Tak lub Nie, aby dokończyć lub zatrzymać testowanie.

Początek strony

Dodawanie reguły poprawności do kontrolki w formularzu

Za pomocą właściwości Reguła poprawności lub Tekst reguły spr. poprawności kontrolki formularza można sprawdzać poprawność danych wprowadzanych do kontrolki i pomóc użytkownikom wprowadzającym nieprawidłowe dane.

Porada:  W przypadku automatycznego utworzenia formularza z tabeli przy użyciu jednego z poleceń formularza na wstążce, reguły poprawności dodane do tabeli źródłowej są dziedziczone przez odpowiednie kontrolki w formularzu.

Kontrolka może mieć określoną inną regułę poprawności niż pole tabeli, z którym jest powiązana. Jest to przydatne na przykład wtedy, gdy formularz powinien być bardziej restrykcyjny niż tabela. Stosowana jest reguła formularza, a następnie stosowana jest reguła tabeli. Jeśli tabela jest bardziej restrykcyjna niż formularz, reguła zdefiniowana dla pola tabeli ma pierwszeństwo. Jeśli reguły wykluczają się wzajemnie, całkowicie uniemożliwiają wprowadzanie danych.

Załóżmy na przykład, że do pola daty w tabeli zastosowano następującą regułę:

<#2010-01-01#

Następnie w formularzu do kontrolki powiązanej z tym polem daty zastosowano następującą regułę:

>=#2010-01-01#

Teraz dla pola daty są wymagane wartości z lat wcześniejszych niż rok 2010, ale kontrolka formularza wymusza wprowadzanie dat z roku 2010 lub lat późniejszych, nie można więc wprowadzić żadnych danych.

Tworzenie reguły poprawności kontrolki

  1. Kliknij prawym przyciskiem myszy formularz, który chcesz zmienić, a następnie kliknij polecenie Widok układu.

  2. Kliknij prawym przyciskiem myszy kontrolkę, którą chcesz zmienić, a następnie kliknij polecenie Właściwości, aby otworzyć arkusz właściwości kontrolki.

  3. Kliknij kartę Wszystkie, a następnie wprowadź regułę poprawności w polu właściwości Reguła poprawności.

    Porada:  Należy kliknąć przycisk Konstruuj, aby uruchomić Konstruktora wyrażeń.

    Aby więcej uzyskać informacji na temat używania Konstruktora wyrażeń, zobacz artykuł Korzystanie z Konstruktora wyrażeń.

  4. Wprowadź komunikat w polu właściwości Tekst reguły spr. poprawności.

Początek strony

Dokumentacja reguł poprawności

W regułach poprawności jest stosowana składnia wyrażeń programu Access. Aby uzyskać więcej informacji o wyrażeniach, zobacz artykuł Wprowadzenie do wyrażeń.

Przykłady reguł poprawności i tekstu reguł poprawności

Reguła poprawności

Tekst reguły poprawności

<>0

Wprowadź wartość różną od zera.

>=0

Wartość musi być równa lub większa niż zero.

— lub —

Musisz wprowadzić liczbę dodatnią.

0 or >100

Wartość musi być równa 0 lub większa niż 100.

BETWEEN 0 AND 1

Wprowadź wartość ze znakiem procentu. (Do użycia w przypadku pól, w których wartości liczbowe są przechowywane w postaci wartości procentowych).

<#2007-01-01#

Wprowadź datę sprzed 2007 roku.

>=#2007-01-01# AND <#2008-01-01#

Data musi przypadać w 2007 roku.

<Date()

Data urodzenia nie może być datą w przyszłości.

StrComp(UCase([Nazwisko]), [Nazwisko],0) = 0

Dane w polu Nazwisko muszą być wpisane wielkimi literami.

>=Int(Now())

Wprowadź dzisiejszą datę.

M Or K

Wprowadź M w przypadku mężczyzny lub K w przypadku kobiety.

LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org"

Wprowadź prawidłowy adres e-mail w domenie com, net lub org.

[DataDostawy]<=[DataZamówienia]+30

Wprowadź datę dostawy przypadającą najwyżej 30 dni po dacie zamówienia.

[DataKońcowa]>=[DataPoczątkowa]

Wprowadź datę końcową równą dacie początkowej lub późniejszą.

Przykłady składni często stosowanych operatorów reguł poprawności

Operator

Funkcja

Przykład

NOT

Służy do sprawdzania wartości przeciwnych. Można go używać przed dowolnym operatorem porównania, z wyjątkiem operatora IS NOT NULL.

NOT > 10 (to samo co <=10).

IN

Służy do sprawdzania, czy wartości są równe istniejącym elementom listy. Porównywaną wartością musi być lista rozdzielana przecinkami ujęta w nawiasy.

IN ("Tokio","Paryż","Moskwa")

BETWEEN

Służy do sprawdzania, czy wartość należy do zakresu. Należy użyć dwóch wartości do porównania — minimalnej i maksymalnej — i rozdzielić te wartości separatorem AND.

BETWEEN 100 AND 1000 (to samo co >=100 AND <=1000)

LIKE

Służy do porównywania wartości z ciągami wzorcowymi w polach typu Tekst lub Nota.

LIKE "Geo*"

IS NOT NULL

Wymusza na użytkownikach wprowadzenie wartości w danym polu. Jest to równoznaczne z ustawieniem właściwości pola Wartość wymagana na Tak. Jeśli jednak właściwość Wartość wymagana jest włączona, a użytkownik nie wprowadzi wartości, program Access wyświetli mniej przyjazny komunikat o błędzie. Zazwyczaj korzystanie z bazy danych jest łatwiejsze w przypadku użycia wyrażenia IS NOT NULL i wprowadzenia zrozumiałego komunikatu we właściwości Tekst reguły spr. poprawności.

IS NOT NULL

AND

Określa, czy wszystkie części reguły poprawności muszą zostać spełnione.

>= #2007-01-01# AND <=#2008-03-06#

Uwaga: Operatora AND można użyć także w celu połączenia reguł poprawności. Na przykład: NOT "UK" AND LIKE "U*".

OR

Określa, że wystarczy, jeśli tylko część reguły poprawności zostanie spełniona.

styczeń OR luty

<

Mniejsze niż.

<=

Mniejsze lub równe.

>

Większe niż.

>=

Większe lub równe.

=

Równe.

<>

Różne od.

Używanie symboli wieloznacznych w regułach poprawności

W regułach poprawności można używać symboli wieloznacznych. Należy pamiętać, że w programie Access można korzystać z dwóch zestawów symboli wieloznacznych: ANSI-89 i ANSI-92. W tych standardach są używane różne zestawy symboli wieloznacznych.

Domyślnie wszystkie pliki .accdb i .mdb korzystają ze standardu ANSI-89.

Standard ANSI bazy danych można zmienić na standard ANSI-92 przy użyciu następującej procedury:

  1. Na karcie Plik kliknij pozycję Opcje.

  2. W oknie dialogowym Opcje programu Access kliknij kategorię Projektanci obiektu.

  3. W sekcji Projekt kwerendy w obszarze Składnia zgodna z programem SQL Server (ANSI-92) wybierz pozycję Ta baza danych.

Aby uzyskać więcej informacji dotyczących używania symboli wieloznacznych oraz standardów ANSI na potrzeby języka SQL, zobacz Dokumentacja symboli wieloznacznych programu Access.

Początek strony

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.