Tworzenie reguły sprawdzania poprawności dla potrzeb sprawdzania poprawności danych w polu

Tworzenie reguły sprawdzania poprawności dla potrzeb sprawdzania poprawności danych w polu

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ły poprawności pola można użyć w celu określenia kryterium, które muszą spełnić wszystkie prawidłowe wartości pola. 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:

Uniemożliwianie wprowadzania przeszłych dat: >=Date()

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

Liczby mniejsze niż lub równe pięć: <=5

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

Ograniczanie liczby znaków w ciągu: Len([Nazwa_pola_ciągu])<100

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

2. Reguła poprawności rekordu    Reguły poprawności rekordu można użyć w celu określenia warunku, który muszą spełniać wszystkie prawidłowe rekordy. Używając reguły poprawności rekordu, można porównać wartości z różnych pól. 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. DataPoczątkowa jest wcześniejsza niż DataKońcowa).

Szybkie przykłady:

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

Wprowadź datę dostawy przypadającą najwyżej 30 dni po dacie zamówienia: [DataDostawy]<=[DataZamówienia]+30

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

3. Sprawdzanie poprawności formularza    Właściwości Reguła poprawności kontrolki znajdującej się w formularzu można użyć w celu określenia 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żna także użyć 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 wprowadzenie reguły >100 And <1000 we właściwości Reguła poprawności wymusza na użytkownikach wprowadzanie wartości z zakresu od 100 do 1000. Reguła [DataKońcowa]>=[DataPoczątkowa] wymusza na użytkownikach wprowadzanie daty końcowej, która nie jest wcześniejsza od daty początkowej. Wprowadzenie tekstu, takiego jak „Wprowadź wartości z zakresu od 100 do 1000” lub „Wprowadź datę końcową taką samą jak data początkowa 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 skorzystać z poleceń dostępnych na karcie Pola 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 w grupie Sprawdzanie poprawności pola kliknij przycisk Sprawdzanie poprawności, a następnie 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 w grupie Sprawdzanie poprawności pola kliknij przycisk Sprawdzanie poprawności, a następnie 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 w grupie Sprawdzanie poprawności pola kliknij przycisk Sprawdzanie poprawności, a następnie pozycję Reguła sprawdzania poprawności rekordu.

  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 w grupie Sprawdzanie poprawności pola kliknij przycisk Sprawdzanie poprawności, a następnie pozycję Komunikat sprawdzania poprawności rekordu.

  3. Wprowadź odpowiedni komunikat. Na przykład komunikatem dla reguły poprawności [DataPoczątkowa]<[DataKońcowa]może być tekst „DataPoczątkowa musi być wcześniejsza niż DataKoń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 Projektowanie 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 wprowadzanie wartości w danym polu. Działa tak samo jak ustawienie właściwości pola Wymagane na Tak. Jeśli jednak właściwość Wymagane jest włączona, a użytkownik nie wprowadzi wartości, program Access wyświetli mniej przyjazny komunikat o błędzie. Zwykle 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

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×