הגבלת קלט נתונים באמצעות כללי אימות
Applies ToAccess של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

באפשרותך לבדוק או לאמת נתונים במסדי נתונים שולחניים של Access בזמן הזנתם באמצעות כללי אימות. באפשרותך להשתמש בבונה הביטויים כדי לעצב את הכלל כראוי. ניתן להגדיר כללי אימות בתצוגת עיצוב טבלה או בתצוגת גליון נתונים של טבלה. קיימים שלושה סוגים של כללי אימות ב- Access:

1. כלל אימות שדה   באפשרותך להשתמש בכלל אימות שדה כדי לציין קריטריון שכל ערכי השדה החוקיים חייבים לעמוד בו. אין צורך לציין את השדה הנוכחי כחלק הכלל, אלא אם אתה משתמש בשדה בפונקציה.  ייתכן שיהיה קל יותר לקבוע הגבלות על סוגי התווים שניתן להזין בשדה באמצעות מסיכת קלט. לדוגמה, שדה תאריך עשוי לכלול כלל אימות שאינו מאפשר ערכים בעבר.

דוגמאות מהירות:

אל תאפשר ערכי תאריכים בעבר: >=Date()

תבנית דואר אלקטרוני מקובלת בדרך כלל: Is Null OR ((Like "*?@?*.? *") AND (Not Like "*[ ,;] *"))

מספר קטן או שווה לחמישה: <=5

השדה 'מטבע' אינו יכול להיות שלילי: >=0

הגבלת אורך התווים במחרוזת: Len([StringFieldName])<100

כלל אימות שדה מוצג במעצב הטבלאות של Access

2. כלל אימות רשומה   באפשרותך להשתמש בכלל אימות רשומה כדי לציין תנאי שכל הרשומות החוקית חייבות למלא. ניתן להשוות בין ערכים בשדות שונים באמצעות כלל אימות רשומה. לדוגמה, ייתכן שרשומה עם שני שדות תאריך תדרוש שערכים משדה אחד תמיד יופיעו לפני ערכים מהשדה האחר (לדוגמה, StartDate הוא לפני EndDate).

דוגמאות מהירות:

ודא שתאריך הסיום אינו מגיע לפני תאריך ההתחלה: [תאריך סיום]>=[תאריך התחלה]

הזן תאריך נדרש המתרחש לא יותר מ- 30 יום לאחר תאריך ההזמנה: [RequiredDate]<=[OrderDate]+30

כלל אימות טבלה במעצב הטבלאות של Access.

3. אימות בטופס באפשרותך   להשתמש במאפיין כלל אימות של פקד בטופס כדי לציין קריטריון שכל הערכים קלט לפקד זה חייבים לעמוד בו. מאפיין הפקד כלל אימות פועל כמו כלל אימות שדה. בדרך כלל, יש להשתמש בכלל אימות טופס במקום בכלל אימות שדה אם הכלל היה ספציפי רק לטופס זה, ולא לטבלה, ללא קשר למקום שבו נעשה בו שימוש.

במאמר זה

מבט כולל

מאמר זה מסביר את אופן השימוש בכללי אימות ובטקסט אימות בשדות טבלה ובפקדי טופס. כלל אימות הוא דרך להגביל קלט בשדה טבלה או בפקד (כגון תיבת טקסט) בטופס. טקסט אימות מאפשר לך לספק הודעה כדי לעזור למשתמשים שמזינים נתונים שאינם חוקיים.

בעת הזנת נתונים, Access בודק אם הקלט מפר כלל אימות - אם כן, הקלט אינו מתקבל, ו- Access מציג הודעה.

Access מספק כמה דרכים להגביל קלט:

  • סוגי נתונים   לכל שדה בטבלה יש סוג נתונים שמגביל את הנתונים שהמשתמשים יכולים להזין. לדוגמה, שדה 'תאריך/שעה' מקבל רק תאריכים ושעות, שדה 'מטבע' מקבל רק נתונים כספיים וכן הלאה.

  • מאפייני שדה   מאפייני שדה מסוימים מגבילים קלט נתונים. לדוגמה, המאפיין גודל שדהשל שדה מגביל את הקלט על-ידי הגבלת כמות הנתונים.

    באפשרותך להשתמש גם במאפיין כלל אימות כדי לדרוש ערכים ספציפיים, ובמאפיין טקסט אימות כדי להתריע בפני המשתמשים על טעויות. לדוגמה, הזנת כלל כגון >100 And <1000 במאפיין כלל אימות מאלצת משתמשים להזין ערכים בין 100 ל- 1,000. כלל כגון [EndDate]>=[StartDate] מאלץ משתמשים להזין תאריך סיום שמתרחש בתאריך ההתחלה או אחריו. הזנת טקסט כגון "הזן ערכים בין 100 ל- 1,000" או "הזן תאריך סיום שמתרחש בתאריך ההתחלה או אחריו" במאפיין טקסט אימות מודיעה למשתמשים שהם עשו טעות ומדריכה אותם על אופן תיקון השגיאה.

  • מסיכות קלט   ניתן להשתמש במסיכת קלט כדי לאמת נתונים על-ידי אילוץ של המשתמשים להזין ערכים בדרך מסוימת. לדוגמה, מסיכת קלט יכולה לכפות על משתמשים להזין תאריכים בתבנית אירופאית, כגון 2007.04.14.

באפשרותך להשתמש בשיטות אלה של אימות נתונים באופן נפרד או בשילוב של זו עם זו. סוגי הנתונים אינם אופציונליים, והם מספקים את הסוג הבסיסי ביותר של אימות נתונים.

לקבלת מידע נוסף אודות סוגי נתונים, גדלים של שדות ומסיכות קלט, עיין במאמר מבוא לסוגי נתונים ולמאפייני שדה.

סוגים של כללי אימות

באפשרותך ליצור שני סוגים בסיסיים של כללי אימות:

  • כללי אימות שדה   השתמש בכלל אימות שדה כדי לבדוק את הערך שאתה מזין בשדה כאשר אתה יוצא מן השדה. לדוגמה, נניח שיש לך שדה 'תאריך' ואתה מזין את הערך ‎> = #01/01/2010 #‎ במאפיין כלל אימות של שדה זה. כעת, הכלל שלך מאפשר למשתמשים להזין תאריכים ב- 1 בינואר 2010, ואילך. אם תזין תאריך שקודם ל- 2010 ולאחר מכן תנסה להציב את המוקד בשדה אחר, Access מונע ממך לצאת מהשדה הנוכחי עד לפתרון הבעיה.

  • כללי אימות רשומה   השתמש בכלל אימות רשומה כדי לשלוט בתנאים שבהם תוכל לשמור רשומה (שורה בטבלה). שלא כמו כלל אימות שדה, כלל אימות רשומה מתייחס לשדות אחרים באותה טבלה. ניתן ליצור כללי אימות רשומה כאשר עליך לבדוק את הערכים בשדה אחד מול הערכים בשדה אחר. לדוגמה, נניח שהעסק שלך דורש ממך לשלוח מוצרים בתוך 30 יום, ואם אינך שולח אותם תוך פרק זמן זה, עליך להחזיר ללקוח חלק ממחיר הרכישה. באפשרותך להגדיר כלל אימות רשומה, כגון ‎[RequiredDate] < = [OrderDate] +30 כדי להבטיח שאף אחד אינו מזין תאריך משלוח (הערך בשדה RequiredDate) רחוק מדי, המתקיים בעתיד.

אם התחביר של כללי אימות נראה לא מובן, עיין בסעיף מה ניתן למקם בכלל אימות לקבלת הסבר על התחביר וכמה כללי אימות לדוגמה.

היכן ניתן להשתמש בכללי אימות

ניתן להגדיר כללי אימות עבור שדות טבלה ועבור פקדים בטפסים. בעת הגדרת כללים עבור טבלאות, כללים אלה חלים כאשר אתה מייבא נתונים. כדי להוסיף כללי אימות לטבלה, עליך לפתוח את הטבלה ולהשתמש בפקודות בכרטיסיה שדות טבלה של רצועת הכלים. כדי להוסיף כללי אימות לטופס, יש לפתוח את הטופס בתצוגת פריסה ולהוסיף כללים למאפיינים של פקדים בודדים.

השלבים במקטע הוספת כלל אימות לטבלה מסבירים כיצד להוסיף כללי אימות לשדות טבלה. השלבים במקטע הוספת כלל אימות לפקד בטופס, בהמשך מאמר זה, מסבירים כיצד להוסיף כללים למאפיינים בפקדים בודדים.

מה ניתן למקם בכלל אימות

כללי האימות שלך יכולים להכיל ביטויים - פונקציות המחזירות ערך יחיד. ניתן להשתמש בביטוי כדי לבצע חישובים, לטפל בתווים או לבדוק נתונים. ביטוי כלל אימות בודק נתונים. לדוגמה, ביטוי יכול לבדוק אחד מתוך סידרת ערכים, כמו "טוקיו" Or "מוסקבה" Or "פריס" Or "הלסינקי". ביטויים יכולים גם לבצע פעולות מתמטיות. לדוגמה, הביטוי <100 כופה על משתמשים להזין ערכים קטנים מ- 100. הביטוי ([OrderDate] - [ShipDate]) מחשב את מספר הימים שחלפו בין זמן ביצוע ההזמנה לזמן המשלוח.

לקבלת מידע נוסף על ביטויים, עיין במאמר בניית ביטוי.

לראש הדף

הוספת כלל אימות לטבלה

באפשרותך להוסיף כלל אימות שדה ו/או כלל אימות רשומה. כלל אימות שדה בודק קלט בשדה, והוא מוחל כאשר המוקד נמצא מחוץ לשדה. כלל אימות רשומה בודק קלט בשדה אחד או יותר, והוא מוחל כאשר המוקד נמצא מחוץ לרשומה. בדרך כלל, כלל אימות רשומה משווה בין הערכים של שני שדות או יותר.

הערות: סוגי השדות הבאים אינם תומכים בכללי אימות:

  • מספור אוטומטי

  • אובייקט OLE

  • קובץ מצורף

  • מזהה שכפול

יצירת כלל אימות שדה

  1. בחר את השדה שברצונך לאמת.

  2. בכרטיסיה שדות טבלה , בקבוצה אימות שדה , לחץ על אימות ולאחר מכן לחץ על כלל אימות שדה.

  3. השתמש בבונה הביטויים כדי ליצור את הכלל. לקבלת מידע נוסף אודות השימוש בבונה הביטויים, עיין במאמר שימוש בבונה הביטויים.

יצירת הודעה שתוצג עבור קלט שדה שאינו חוקי

  1. בחר את השדה שזקוק להודעה עבור קלט שאינו חוקי. השדה אמור לכלול כבר כלל אימות.

  2. בכרטיסיה שדות טבלה , בקבוצה אימות שדה , לחץ על אימות ולאחר מכן לחץ על הודעת אימות שדה.

  3. הזן הודעה מתאימה. לדוגמה, אם כלל האימות הוא ‎>10, ההודעה עשויה להיות "הזן ערך נמוך מ- 10".

לקבלת כמה דוגמאות לכללי אימות שדה ולהודעות אימות שדה, עיין בסעיף חומר עזר בנושא כללי אימות.

יצירת כלל אימות רשומה

  1. פתח את הטבלה שעבורה ברצונך לאמת רשומות.

  2. בכרטיסיה שדות טבלה , בקבוצה אימות שדה , לחץ על אימות ולאחר מכן לחץ על כלל אימות.

  3. השתמש בבונה הביטויים כדי ליצור את הכלל. לקבלת מידע נוסף אודות השימוש בבונה הביטויים, עיין במאמר שימוש בבונה הביטויים.

יצירת הודעה שתוצג עבור קלט רשומה שאינו חוקי

  1. פתח את הטבלה שזקוקה להודעה עבור קלט שאינו חוקי. הטבלה אמורה לכלול כבר כלל אימות רשומה.

  2. בכרטיסיה שדות טבלה , בקבוצה אימות שדה , לחץ על אימות ולאחר מכן לחץ על הודעת אימות.

  3. הזן הודעה מתאימה. לדוגמה, אם כלל האימות הוא [StartDate]<[EndDate], ההודעה עשויה להיות "StartDate חייב להופיע לפני EndDate".

לראש הדף

בדיקת נתונים קיימים מול כלל אימות חדש

אם אתה מוסיף כלל אימות לטבלה קיימת, מומלץ לבדוק את הכלל כדי לוודא שלא קיימים נתונים שאינם חוקיים.

  1. פתח את הטבלה שברצונך לבדוק בתצוגת עיצוב.

    בכרטיסיה עיצוב טבלה , בקבוצה כלים, לחץ על בדוק כללי אימות.

  2. לחץ על כן כדי לסגור את הודעת ההתראה ולהתחיל את הבדיקה.

  3. אם תתבקש לשמור את הטבלה, לחץ על כן.

  4. ייתכן שתראה מגוון של הודעות התראה אחרות בהמשך. קרא את ההוראות בכל הודעה ולאחר מכן לחץ על כן או לא, כנדרש, כדי להשלים או כדי לעצור את הבדיקה.

לראש הדף

הוספת כלל אימות לפקד בטופס

באפשרותך להשתמש במאפיין כלל אימות ובמאפיין טקסט אימות של פקד טופס כדי לאמת נתונים המהווים קלט של פקד זה ולעזור למשתמשים המזינים נתונים שאינם חוקיים.

עצה:  אם אתה יוצר טופס באופן אוטומטי מטבלה באמצעות אחת מפקודות הטופס ברצועת הכלים, כל אימות עבור שדות בטבלה המשמשת כבסיס יתקבל בירושה מהפקדים המתאימים בטופס.

לפקד יכול להיות כלל אימות שונה משדה הטבלה שאליו הפקד מאוגד. אפשרות זו שימושית אם אתה מעוניין שהטופס יהיה מגביל יותר מהטבלה. כלל הטופס מוחל, ולאחר מכן כלל הטבלה מוחל. אם הטבלה מגבילה יותר מהטופס, הכלל שהוגדר עבור שדה הטבלה מקבל קדימות. אם הכללים אינם יכולים להתקיים בו-זמנית, הם כלל לא מאפשרים לך להזין נתונים.

לדוגמה, נניח שאתה מחיל את הכלל הבא על שדה תאריך בטבלה:

<#01/01/2010#

אך לאחר מכן אתה מחיל כלל זה על פקד הטופס המאוגד לשדה התאריך:

>=#01/01/2010#

שדה התאריך דורש כעת ערכים מוקדמים יותר משנת 2010, אך פקד הטופס דורש תאריכים עם שנה זו ואילך, ובכך לא מאפשר לך כלל להזין נתונים.

יצירת כלל אימות עבור פקד

  1. לחץ באמצעות לחצן העכבר הימני על הטופס שברצונך לשנות, ולאחר מכן לחץ על תצוגת פריסה.

  2. לחץ באמצעות לחצן העכבר הימני על הפקד שברצונך לשנות, ולאחר מכן לחץ על מאפיינים כדי לפתוח את גליון המאפיינים של הפקד.

  3. לחץ על הכרטיסיה הכל ולאחר מכן הזן את כלל האימות בתיבת המאפיין כלל אימות.

    עצה:  לחץ על לחצן בנה כדי להפעיל את בונה הביטויים.

    לקבלת מידע נוסף אודות השימוש בבונה הביטויים, עיין במאמר שימוש בבונה הביטויים.

  4. הזן הודעה בתיבת המאפיין טקסט אימות.

לראש הדף

חומר עזר בנושא כללי אימות

כללי אימות משתמשים בתחביר של ביטוי של Access. לקבלת מידע נוסף אודות ביטויים, עיין במאמר מבוא לביטויים.

דוגמאות לכלל אימות ולטקסט אימות

כלל אימות

טקסט אימות

<>0

הזן ערך שאינו אפס.

>=0

על הערך להיות אפס או גדול יותר.

-לחלופין-

עליך להזין מספר חיובי.

‎0 או > 100‎

על הערך להיות 0 או גדול מ- 100.

בין 0 ל- 1

הזן ערך עם סימן אחוז. (לשימוש עם שדה המאחסן ערכי מספרים כאחוזים).

<#01/01/2007#

הזן תאריך לפני 2007.

>=#01/01/07# וגם <#01/01/2008#

התאריך חייב להיות בשנת 2007.

<Date()

תאריך הלידה לא יכול להיות בעתיד.

StrComp(UCase([LastName]),‎ ‎[LastName],0) = 0‎

הנתונים בשדה שנקרא LastName חייבים להיות באותיות רישיות.

‎>=Int(Now())‎

הזן את התאריך של היום.

ז או נ

הזן ז עבור זכר או נ עבור נקבה.

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

הזן כתובת דואר אלקטרוני חוקית עם הסיומת ‎.com,‏ ‎.net או ‎.org

‎[RequiredDate]<=[OrderDate]+30

הזן תאריך נדרש המתרחש לא יותר מ- 30 יום לאחר תאריך ההזמנה.

[EndDate]>=[StartDate]

הזן תאריך סיום בתאריך ההתחלה או אחריו.

דוגמאות לתחביר של אופרטורים נפוצים של כללי אימות

אופרטור

פונקציה

דוגמה

NOT

מבצע בדיקה לאיתור ערכים הפוכים. השתמש לפני אופרטורים של השוואה למעט IS NOT NULL.

NOT > 10 (זהה ל- <=10).

IN

מבצע בדיקה לאיתור ערכים השווים לחברים קיימים ברשימה. על ערך השוואה להיות רשימה מופרדת באמצעות פסיקים ותחומה בסוגריים.

IN ("טוקיו","פריס","מוסקבה")

BETWEEN

מבצע בדיקה לאיתור טווח של ערכים. יש להשתמש בשני ערכים להשוואה  - נמוך וגבוה - ויש להפריד ביניהם על-ידי המפריד AND.

בין 100 ל- 1000 (זהה ל- >=100 AND <=1000)

LIKE

מבצע התאמה בין מחרוזות תבנית בשדות מסוג Text ו- Memo.

LIKE "Geo*"‎

IS NOT NULL

מאלץ משתמשים להזין ערכים בשדה. זהה להגדרה של מאפיין השדה נדרש לכן. יחד עם זאת, כאשר המאפיין נדרש זמין ומשתמש לא מצליח להזין ערך, Access מציג הודעת שגיאה לא ידידותית. בדרך כלל, קל יותר להשתמש במסד הנתונים כשאתה משתמש ב- IS NOT NULL ומזין הודעה ידידותית במאפיין טקסט אימות.

IS NOT NULL

AND

מציין שכל חלקי כלל האימות חייבים להיות True.

‎>= #01/01/2007# AND <=#03/06/2008#

הערה: באפשרותך להשתמש גם ב- AND כדי לשלב כללי אימות. לדוגמה: NOT "UK" AND LIKE "U*".

OR

מציין שחלקים מסוימים מכלל האימות חייבים להיות True, אך לא כל החלקים.

ינואר OR פברואר

‎<

קטן מ-.

<=

קטן או שווה ל-.

‎>‎

גדול מ-.

>=

גדול או שווה ל-.

=

שווה ל-.

<>

שונה מ-.

שימוש בתווים כלליים בכללי אימות

ניתן להשתמש בתווים כלליים בכללי האימות. זכור ש- Access תומך בשני מערכים של תווים כלליים: ANSI-89 ו- ANSI-92. כל אחד מתקנים אלה משתמש במערך אחר של תווים כלליים.

כברירת מחדל, כל קבצי ‎.accdb ו- ‎.mdb משתמשים בתקן ANSI-89.

ניתן לשנות את תקן ה- ANSI עבור מסד נתונים ל- ANSI-92 באמצעות ההליך הבא:

  1. בכרטיסיה קובץ, לחץ על אפשרויות.

  2. בתיבת הדו-שיח אפשרויות Access, לחץ על מעצבי אובייקטים.

  3. במקטע עיצוב שאילתה, תחת תחביר התואם ל- SQL Server ‏(ANSI 92), בחר מסד נתונים זה.

לקבלת מידע נוסף אודות שימוש בתווים כלליים ובתקני ANSI עבור SQL, עיין במאמר חומר עזר בנושא תווים כלליים ב- Access.

לראש הדף

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.