הגבלת קלט נתונים באמצעות כללי אימות

הגבלת קלט נתונים באמצעות כללי אימות

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

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

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

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

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

במאמר זה

מבט כולל

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

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

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

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

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

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

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

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

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

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

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

הפניה לכלל אימות

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

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

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

מבט כולל

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

בעת הזנת נתונים, 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.

לראש הדף

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×