שימוש בפרמטרים בשאילתות ובדוחות

חשוב: מאמר זה תורגם בתרגום מכונה, ראה כתב ויתור. תוכל למצוא את הגרסה באנגלית של המאמר כאן לעיונך.

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

באפשרותך גם ליצור טופס שיאסוף ערכי פרמטר. באמצעות טופס, באפשרותך:

  • לעשות שימוש בפקדים ספציפיים לסוג נתונים

  • להפוך את ההתמדה של ערכי פרמטר לזמינה

  • לספק פקדי תיבה משולבת (כדי שתוכל לבחור ערך מרשימה, במקום להקליד אותו)

  • להשתמש בפקדים אחרים הזמינים בטפסים

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

במאמר זה

סקירה

שימוש בפרמטרים בשאילתות

ציון סוגי נתונים של פרמטר

יצירת טופס שאוסף פרמטרים

מבט כולל

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

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

לכן ברצונך ליצור רשימת דיוור המכילה את השמות ואת הכתובות של הלקוחות שהזמנתם האחרונה נשלחה לפני שהפקת את הקטלוג החדש. לשם כך, תוכל להחיל קריטריון על שדה תאריך המשלוח של השאילתה Last Order. הקריטריון מציין כי התאריך בשדה תאריך המשלוח קודם לתאריך שבו התחלת להפיץ את הקטלוג החדש, לדוגמה 31/3/2006. בעת הפעלת השאילתה, תקבל רשימת דיוור המכילה רק את הלקוחות שלא קיבלו קטלוג חדש.

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

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

מאמר זה יוצא מתוך הנחה שאתה מכיר את התהליך של יצירת שאילתות. כתנאי מינימלי, עליך להכיר את התהליך של יצירת שאילתת בחירה לפני שתמשיך.

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

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

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

לראש הדף

שימוש בפרמטרים בשאילתות

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

הוספת פרמטר לשאילתה

  1. צור שאילתת בחירה ולאחר מכן פתח את השאילתה בתצוגת עיצוב.

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

    [תאריך התחלה]

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

    באפשרותך גם להשתמש בביטוי עם בקשות פרמטר משלך, לדוגמה:

    בין [Start Date] ו- [End Date]

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

  3. חזור על שלב 2 עבור כל שדה שאליו ברצונך להוסיף פרמטרים.

באפשרותך להשתמש בשלבים הקודמים כדי להוסיף פרמטר לכל אחד מסוגי השאילתות הבאים:

  • בחירה

  • הצלבה

  • הוספה

  • יצירת טבלה

  • עדכון

באפשרותך להוסיף פרמטר גם לשאילתת איחוד.

  1. פתח את שאילתת האיחוד בתצוגת SQL.

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

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

  3. במקום להשתמש בקריטריון במשפט WHERE, השתמש בבקשת פרמטר.

התאמת חלק של ערך שדה למחרוזת פרמטר

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

  1. צור שאילתת בחירה ולאחר מכן פתח את השאילתה בתצוגת עיצוב.

  2. בשורה קריטריונים של השדה שעבורו ברצונך להחיל את הפרמטר, הקלד Like "*" & [, הקלד את הטקסט שבו ברצונך להשתמש כבקשה ולאחר מכן הקלד ] & "*".

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

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

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

התאמה המתבססת על ערכים לא שווים

ייתכן שתרצה לאסוף פרמטר, אך במקום שהשאילתה תחזיר שורות עם ערך תואם, תרצה שהשאילתה תחזיר שורות שעבורו השוואה אחרת מוערך כ- true. לדוגמה, ייתכן שתרצה להציג בקשה לשנה ולאחר מכן להחזיר שורות שבו ערך השנה גדול מ- מחרוזת הפרמטר. כדי לעשות זאת, הקלד אופרטור השוואה משמאל המרובע הראשון המקיף את בקשת הפרמטר, לדוגמה,> [Year:].

לראש הדף

ציון סוגי נתונים של פרמטרים

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

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

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

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

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

  3. בעמודה סוג נתונים, בחר את סוג הנתונים עבור כל פרמטר.

לראש הדף

יצירת טופס שאוסף פרמטרים

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

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

  • התמדה של הפרמטרים שנאספו, כך שתוכל להשתמש בהם ביותר משאילתה אחת.

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

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

בצע שלבים אלה כדי ליצור טופס שאוסף פרמטרים.

שלב 1: יצירת טופס המקבל קלט

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

שלב 3: יצירת קבוצה של פקודות מאקרו השולטות בטופס

שלב 4: הוספת לחצני הפקודות אישור וביטול לטופס

שלב 5: שימוש בנתוני הטופס כקריטריוני שאילתה

שלב 1: יצירת טופס המקבל קלט

  1. בכרטיסיה יצירה, בקבוצה טפסים, לחץ על עיצוב טופס.

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

מאפיין

הגדרה

כיתוב

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

תצוגת ברירת מחדל

טופס יחיד

אפשר תצוגת טופס

כן

אפשר תצוגת גליון נתונים

לא

אפשר תצוגת PivotTable

לא

אפשר תצוגת PivotChart

לא

פסי גלילה

ללא

בוררי רשומות

לא

לחצני ניווט

לא

סגנון גבול

דו-שיח

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

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

מאפיין

הגדרה

שם

הזן שם המתאר את הפרמטר, לדוגמה StartDate.

עיצוב

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

  1. שמור את הטופס ותן לו שם, כגון Date Range.

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

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

    מודול חדש נפתח בעורך Visual Basic.

  2. הקלד או הדבק את הקוד הבא בעורך Visual Basic:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
    If oAccessObject.CurrentView <> acCurViewDesign Then
    IsLoaded = True
    End If
    End If
    End Function
  3. שמור את המודול ולאחר מכן סגור את עורך Visual Basic.

שלב 3: יצירת קבוצה של פקודות מאקרו השולטות בטופס

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

  2. בכרטיסיה עיצוב, בקבוצה הצגה/הסתרה, לחץ על הצג את כל הפעולות.

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

  4. הקלד שם מאקרו, כגון Open Dialog בעמודה שם המאקרו.

  5. לחץ על התא בעמודה פעולה לצד שם המאקרו החדש, לחץ על החץ הנפתח ולאחר מכן לחץ על OpenForm.

  6. ברשת ארגומנטים של פעולה (הממוקמת מתחת לרשת עיצוב המאקרו), הגדר את הארגומנטים של הפעולה, כמוצג בטבלה הבאה.

ארגומנט

הגדרה

שם טופס

הזן את השם שנתת לטופס הפרמטרים של הדוח.

תצוגה

טופס

מצב הנתונים

עריכה

מצב החלון

תיבת דו-שיח

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

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

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

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

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

ארגומנט

הגדרה

סוג אובייקט

טופס

שם אובייקט

הזן את השם שנתת לטופס הפרמטרים של הדוח.

שמור

לא

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

ארגומנט

הגדרה

פריט

[גלוי]

ביטוי

לא

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

ארגומנט

הגדרה

סוג אובייקט

טופס

שם אובייקט

הזן את השם שנתת לטופס הפרמטרים של הדוח.

שמור

לא

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

שלב 4: הוספת לחצני הפקודות אישור וביטול לטופס

  1. פתח מחדש את טווח התאריכים הטופס בתצוגת עיצוב.

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

  3. בכרטיסיה עיצוב, בקבוצה פקדים, לחץ על לחצן.

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

  5. אם גליון המאפיינים אינו גלוי, הקש F4 כדי להציגו.

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

מאפיין

הגדרה

שם

אישור

כיתוב

אישור

ברירת מחדל

כן

OnClick

הזן את השם של המאקרו, לדוגמה, תאריך Range.OK.

  1. צור את לחצן הפקודה ביטול והגדר את מאפייניו, כמוצג בטבלה הבאה.

מאפיין

הגדרה

שם

ביטול

כיתוב

ביטול

OnClick

הזן את השם של המאקרו, לדוגמה, תאריך Range.Cancel.

  1. שמור וסגור את הטופס.

שלב 5: שימוש בנתוני הטופס כקריטריוני שאילתה.

  1. פתח את השאילתה בתצוגת עיצוב.

  2. הזן את הקריטריונים עבור הנתונים. שימוש באובייקט טפסים , את שם הטופס ושם פקד:

    • לדוגמה, במסד נתונים של Access‏ (‎.accdb או ‎.mdb), עבור טופס ששמו Date Range, השתמש בביטוי הבא כדי להפנות לפקדים בשם Start Date ו- End Date בשאילתה:

      בין [Forms] ! [טווח תאריכים]! [StartDate] ו- [Forms]! [טווח תאריכים]! [EndDate]

לראש הדף

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

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

מצוין! יש לך משוב אחר?

כיצד נוכל לשפר זאת?

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

×