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

02.05.2022

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

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

הוספת שורה "סה"כ".

בחירת סוג כולל

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

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

איך Sum ופונקציות מצטבר אחרות פועלות

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

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

הטבלה שלהלן מתארת ​​את הפונקציות המצטברות של Access הזמינות בשורה Total. זכור שיש פונקציות מצטברות אחרות ב-Access, אך הן משמשות בשאילתות.

פוּנקצִיָה

תיאור

סוגי נתונים נתמכים

זמין בשורת "סה"כ?

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

מספר ערכים

סופר את מספר האלמנטים בעמודה.

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

ערך מקסימלי

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

, "תאריך ושעה"

ערך מינימלי

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

"מספרי", "אמיתי", "מטבע", "תאריך ושעה"

סטיית תקן

"נומרי", "אמיתי", "מטבע"

מסכם את הרכיבים בעמודה. מתאים לנתונים מספריים וכספיים בלבד.

"מספר", "אמיתי", "מטבע"

פְּזִירָה

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

"נומרי", "אמיתי", "מטבע"

למידע נוסף על הפונקציות סטיית תקן ושונות

פונקציות סטיית תקןו פְּזִירָהערכים סטטיסטיים מחושבים. בפרט, הם משמשים לערכים הנמצאים בקרבת ערכם הממוצע ומצייתים לחוק ההתפלגות הנורמלית (נמצאים על עקומה גאוסית).

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

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

תיאור מפורטשונות וסטיית תקן הם מעבר לתחום של מאמר זה. מידע נוסף על שתי התכונות ניתן למצוא באתרי סטטיסטיקה. בעת שימוש בפונקציות פְּזִירָהו סטיית תקןזכור את הכללים הבאים.

דוגמה לחישוב הסכום הכולל בטבלת מסד נתונים של Microsoft Access ללא שימוש בשאילתת SQL

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

במשימה זו, באמצעות טבלת Microsoft Access כדוגמה, הסכום הכולל מחושב ללא שימוש בשאילתת SQL. בנוסף, הממוצע האריתמטי של ערכי התאים של העמודה שצוינה מחושב.

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

המשימה

כתוצאה מכך, ConnectionString נוצר ברכיב ADOConnection1 (איור 2). שורה זו מציינת את סוג ספק הנתונים ואת הנתיב המלא לקובץ מסד הנתונים.

אורז. 2. ConnectionString של רכיב ADOConnection1

  1. הגדרת רכיב ADOConnection1, ADOTable1, DataSource1, DBGrid1.

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

– ברכיב ADOConnection1, המאפיין LoginPrompt = "false" (איור 3) (ביטול הבקשה לשם משתמש וסיסמה לגישה למסד הנתונים);

- ברכיב ADOTable1, המאפיין Connection = "ADOConnection1" (איור 4);

- ברכיב DataSource1, המאפיין DataSet = "ADOTable1" (איור 5);

- ברכיב DBGrid1, המאפיין DataSource = "DataSource1" (איור 6);

– ברכיב ADOTable1, המאפיין TableName = "Worker" (איור 7);

– ברכיב DBGrid1, מהמאפיין Options, הגדר את האפשרות dgEditing = false (איסור על הזנת נתונים לתאי טבלה ישירות מהרשת DBGrid1) (איור 8).

אורז. 3. מאפיין LoginPrompt של רכיב ADOConnection1

אורז. 4. מאפיין חיבור של רכיב ADOTable1

אורז. 5. מאפיין DataSet של רכיב DataSource1

אורז. 6. מאפיין DataSource של רכיב DBGrid1

אורז. 7. מאפיין TableName של רכיב ADOTable1

אורז. 8. אפשרות dgEditing של המאפיין Options של רכיב DBGrid1

  1. הפעלת הטבלה.

כדי להציג נתונים בטבלה עליך להפעיל את הפעולות הבאות(איור 9):

- בחר טבלה ADOTable1;

– מאפיין Active = true.

לאחר מכן, נתוני הטבלה יוצגו ב-DBGrid1.

אורז. 9. מאפיין פעיל של רכיב ADOTable1

  1. הגדרת גדלים וצורות של רכיבים.

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

אורז. 10. טופס בקשה ראשי

  1. הסתרת השדה ID_Worker ב-DBGrid1.

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

ראשית עליך לקרוא לעורך השדות ("עורך השדות...") של רכיב ADOTable1 מתפריט ההקשר (איור 11).

אורז. 11. קריאה לעורך השדה של רכיב ADOTable1

החלון Form1.ADOTable1 ייפתח. בחלון זה, באמצעות העכבר, עליך לקרוא לתפריט ההקשר. IN תפריט הקשרבחר את הפקודה "הוסף את כל השדות".

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

אורז. 12. עורך שטח

עורך השדות Form1.ADOTable1 מציג את כל השדות בטבלת Worker. כדי למחוק את השדה ID_Worker, עליך ללחוץ לחיצה ימנית על שורת ID_Worker ולבחור בפקודה Delete בתפריט ההקשר. לאחר מכן תוכל לסגור את העורך.

כתוצאה מכך, רק שני שדות יוצגו בטבלה DBGrid1 (איור 13).

אורז. 13. הצגת טבלת Worker עם שני שדות

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

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

בחר את הרכיב ADOTable1. קרא לעורך השדות "עורך שדות..." כמתואר בשלב 6. כתוצאה מכך תיפתח רשימה של שני שדות שם ומשכורת. בחר את השורה שנקראת משכורת. אובייקט בשם ADOTable1Salary יופעל ב-Object Inspector.

השלב הבא הוא להגדיר את השדה "פורמט תצוגה" ב-Object Inspector ל-"0.00" (איור 14).

אורז. 14. הגדרת פורמט הפלט בשדה שכר של האובייקט ADOTable1

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

  1. הזנת משתנים פנימיים.

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

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

... סוּג TForm1 = מעמד(TForm) ADOConnection1: TADOConnection; DataSource1: TDataSource; ADOTable1: TADOTable; DBGrid1: TDBGrid; StaticText1: TStaticText; StaticText2: TStaticText; StaticText3: TStaticText; ADOTable1Name: TWideStringField; ADOTable1Salary: TFloatField; תהליך FormActivate(שולח: TObject); תהליך FormClose(שולח: TObject; var Action: TCloseAction); פְּרָטִי( הצהרות פרטיות ) sum:real; // סכום avg:real; // ממוצע פּוּמְבֵּי(הצהרות פומביות) סוֹף; ...
  1. תכנות אירוע הפעלת הטופס.

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

לכן, עליך לתכנת את אירוע OnActivate של Form1. אירוע OnActivate ייקרא כאשר הטופס יופעל לאחר הפעלת התוכנית לביצוע.

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

במקרה שלנו, המטפל באירועים נראה כך:

תהליך TForm1.FormActivate(שולח: TObject); var f:Tfield; // משתנה נוסף מסוג "שדה" התחל // 1. בודקים אם יש רשומות בטבלה אם ADOTable1.RecordCount = 0 לאחר מכן יְצִיאָה; // 2. השבת את ההדמיה ב-DBGrid1 ADOTable1.DisableControls; // 3. חזור על כל הרשומות של טבלת העובד // 3.1. עבור לערך הראשון ADOTable1.First; // 3.2. אפס את הכמות לאפס sum:= 0; // 3.3. קח את ערך השכר מהרשומה הראשונה f:= ADOTable1.FieldByName("שכר"); // 3.4. עיון ברשומות בטבלה // - בדוק אם הגיע לסוף הטבלה בזמן ADOTable1.Eof<>נָכוֹןלַעֲשׂוֹת התחל // 3.4.1. הגדל כמות sum:= sum + f.Value; // 3.4.2. עבור לערך הבא ADOTable1.Next; סוֹף; // 4. חשב את הממוצע האריתמטי avg:= sum / ADOTable1.RecordCount; // 5. מילוי שורות מסוג TStaticText StaticText1.Caption:= "Sum: " + FloatToStr(sum, ffFixed, 8, 2); StaticText2.Caption:= "שכר ממוצע: " + FloatToStr(avg, ffFixed, 8, 2); // 6. אפשר הדמיה ב-DBGrid ADOTable1.EnableControls; סוֹף;

בואו נסביר כמה קטעי קוד.

השיטות DisableControls ו-EnableControls אחראיות על השבתה והפעלה של בקרות חזותיות המחוברות למערך נתונים (מסד נתונים). קריאה לשיטת DisableControls יכולה להאיץ משמעותית את תהליך האיטרציה ברשומות, מכיוון שהיא תמנע מהאפליקציה לבזבז זמן בשרטוט מחדש של התוכן של הפקד DBGrid1 עם כל שינוי רשומה.

תכונה

ADOTable1.RecordCount

מציין את מספר הרשומות בטבלה.

ADOTable1.First

מגדיר את ערך הטבלה הראשון פעיל.

ADOTable1.FieldByName()

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

ו.ערך

תכונה

ADOTable1.Eof

הופך נכון אם מגיעים לסוף הטבלה.

ADOTable1.Next

מיישם מעבר לרשומת הטבלה הבאה.

תוצאת הסכום מוצגת במאפיין Caption של הרכיב StaticText1.

הערך הממוצע האריתמטי מוצג במאפיין Caption של הרכיב StaticText2.

  1. הפעלת האפליקציה לביצוע.

כעת אתה יכול להפעיל את האפליקציה.

אֲנָשִׁים! עזור לי להגיש בקשה פשוטה יש טבלה: פורמט טבלה1: שם הזמנה | כמות | הסכום הכולל של כל ההזמנות הוא 10 רובל הראשונים. שני 20 שפשוף שלישי 30 שפשוף תגיד לי איך להוסיף את השורות בעמודה כמות. כדי להציג את התוצאה "סכום כולל של כל ההזמנות" = 60 רובל והטבלה תתווסף עם הזמן... כלומר. גם הסדר ה-100 יופיע... בהתאם, לצו ה-100 יש כמות משלו. יש צורך ש"הסכום הכולל של כל ההזמנות" יחושב מחדש באופן אוטומטי. תודה מראש על עזרתך.

8 תשובות

בהתבסס על הנתונים שסופקו, זה בלתי אפשרי כיצד נקבע מיון השורות בטבלה?
קל לעשות זאת באקסל. לדוגמה, הפקודה =SUM(A1:A100) - כלומר. אנחנו מקבלים את הסכומים של 100 תאים בטבלה למה אנחנו לא יכולים לעשות את זה במסד הנתונים לכל שם הזמנה (טקסט) יש מספר מתאים. למעשה, המספרים האלה (מספרי הסדר) מסודרים. הָהֵן. דוגמה:1 | תיק | 100 לשפשף. |2 | צמיג | 50 לשפשף. |...100 | ספר | 60 לשפשף. |...איך אני יכול לחשב את הסכום הכולל של כל ההזמנות (1...100...)?

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

אם אתה רוצה שהשאלה תהיה הגיונית, ציין בבירור את הקריטריון שעל בסיסו תוכל לקבוע את סדר הערכים. בדוגמה למעלה, זהו, למשל, מספר השורה. עם זאת, אין שדה כזה במבנה הטבלה המוצגת.
הטבלה מכילה את שדה מספר ההזמנה. הָהֵן. התצוגה הכללית היא משהו כזה: הזמנה מס' שם ההזמנה | סכום הזמנה |1 | תיק | 10rur |2 | קרושקה | 20rur |3 | banka | 30rur |... | ... |***|האם יש כריכה עכשיו? או שוב לא הבנתי משהו... :(איך למצוא את הסכום הכולל של כל ההזמנות?
יש קישור עכשיו?
כן. בחר טבלה1.[מספר הזמנה], טבלה1.[שם הזמנה], טבלה1.[כמות הזמנה], Sum(q1.[כמות הזמנה]) AS [סכום כולל של כל ההזמנות]FROM (SELECT t1.[מספר הזמנה] , t1. [שם הזמנה], t1.[כמות הזמנה], t2.[מספר הזמנה] FROM Table1 AS t1, Table1 AS t2 WHERE (((t1.[הזמנה מס.])>=.[הזמנה] ))) AS q1 INNER JOIN Table1 ON q1.t1.[הזמנה מס'] = טבלה1.[מספר הזמנה]קבוצה לפי טבלה1.[מספר הזמנה], טבלה1.[שם הזמנה], טבלה1.[כמות הזמנה];
בחר טבלה1.[מספר הזמנה], טבלה1.[שם הזמנה], טבלה1.[כמות הזמנה], Sum(q1.[כמות הזמנה]) AS [סכום כולל של כל ההזמנות]FROM [ SELECT t1.[מספר הזמנה] , t1. [שם הזמנה], t1.[כמות הזמנה], t2.[מספר הזמנה] FROM Table1 AS t1, Table1 AS t2 WHERE (((t1.[הזמנה מס.])>=.[הזמנה] ))]. AS q1 INNER JOIN Table1 ON q1.t1.[הזמנה מס'] = טבלה1.[מספר הזמנה]קבוצה לפי טבלה1.[מספר הזמנה], טבלה1.[שם הזמנה], טבלה1.[כמות הזמנה];
מוצגת שגיאה: שימוש לא חוקי בסוגריים בשם "SELECT t1.[הזמנה מס'.":((מה הבעיה? נוסף לאחר 3 דקות ו-33 שניותאֲנָשִׁים! מוכן לשלוח את ה-BDK. אם אתה כן. אני משלם ב-WM. מאוד דחוף (תוך שעה)

נניח שיש לנו את הטבלה הבאה: טבלה: tblOrdersסוג שדה idOrders CounterfldName TextfldSumma Monetary ואז השאילתה תהיה בערך כך: SELECT Sum(tblOrders.fldSumma) AS FROM tblOrders; Sum-fldSummaזהו כינוי ביטוי Sum(tblOrders.fldSumma). כתוצאה מכך, אנו מקבלים טבלה עם תא אחד. לשם הבהרה, כתבתי דוגמה בקוד ב-VS 2005, ללא טיפול יוצא מן הכלל, כדי שיהיה ברור יותר ראשית עליך ליצור פרויקט ולהוסיף שם כפתור GetSumButtonושדה טקסט SumTextBoxכלומר לשנות את שמם. החלף את שם הטופס ב MainFormולהחליף את הקוד שלו בתחתון. אפשרות קפדנית על אפשרות מפורשת בייבוא ​​System.Data.OleDbPublic Class MainForm """

קבל סכוםפונקציה פרטית GetSumma() As Decimal באמצעות cn As New OleDbConnection(My.Settings.dbConnectionString) cn.Open() Dim cmd As OleDbCommand = cn.CreateCommand() cmd.CommandText = "SELECT Sum(tblOrders.fldSumma) AS FROM tblOrders; " החזר CDec(cmd.ExecuteScalar()) סיום שימוש בפונקציית End """ טיפול באירוע קליק של כפתור GetSumButton Private Sub GetSumButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) מטפל ב-GetSumButton.Click " הצג את הסכום במטבע הנוכחי Me.SumTextBox.Text = FormatCurrency(GetSumma()) End SubEnd Class כדי שהדוגמה תעבוד , אתה צריך להיות בפרויקט שלי >>הגדרות הוסף שורה עם השם dbConnectionStringהתכנים הבאים ספק=Microsoft.Jet.OLEDB.4.0;מקור נתונים=|DataDirectory|\orders.mdb. צרף מסד נתונים של MS Access לפרויקט או פשוט העתק אותו לספרייה עם קובץ הרצה, שבתוכה יש ליצור את הטבלה הנדרשת (רצוי עם נתונים).

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

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

משימה 1.בטבלת PRODUCT יש את השדות PRICE ו- RATE_VAT חשב את המחיר כולל מע"מ והשווה אותו למחיר המתקבל בשדה המחושב של טבלת מחיר כולל מע"מ.

  1. צור שאילתת בחירה במצב עיצוב עבור טבלת PRODUCT. גרור את השדות NAME_TOV, PRICE, RATE_VAT ומחיר עם מע"מ לטופס הבקשה (איור 4.6).
  2. כדי לחשב את המחיר כולל מע"מ, צור שדה מחושב על ידי כתיבת הביטוי [PRICE]+[PRICE]*[RATE_VAT] בתא הריק של שורת השדה.
  3. כדי לבחור רשומות עם ערך גדול מ-5000 בשדה המחושב, הזן > 5000 בשורת קריטריונים
  4. לאחר הזנת ביטוי, המערכת מייצרת כברירת מחדל את שם השדה המחושב ביטוי 1, שהופך לכותרת העמודה בטבלה עם תוצאות השאילתה. השם הזה יוכנס לפני הביטוי [PRICE]+[PRICE]*[VAT_RATE]. עבור כל שדה מחושב חדש בשאילתה, מספר הביטוי גדל באחד. שם השדה המחושב מופרד מהביטוי באמצעות נקודתיים. כדי לשנות את השם, מקם את סמן העכבר בשדה המחושב של טופס הבקשה ולחץ על לחצן העכבר הימני. מהתפריט תלוי ההקשר, בחר נכסיםשדה (מאפיינים) ובשורת הכיתוב הזינו שם שדה חדש - המחיר כולל מע"מ 1. כעת בטבלה עם תוצאות השאילתה, שם זה יוצג בכותרת העמודה המחושבת. ניתן גם לתקן את שם השדה ישירות בטופס הבקשה.
  5. להצגת תוצאת השאילתה, לחץ על הכפתור לבצע(רוץ) בקבוצה תוצאות(תוצאות). השדה המחושב של הטבלה ושל השאילתה הם בעלי אותם ערכים.
  6. שנה את מחיר המוצר באחת מרשומות הבקשות. הערכים בשני השדות המחושבים יחושבו מחדש באופן מיידי.
  7. כדי ליצור ביטוי מורכב בשדה מחושב או בתנאי בחירה, רצוי להשתמש בבונה הביטויים. הבונה מאפשר לך לבחור את שמות השדות הדרושים בביטוי מתוך טבלאות, שאילתות, סימני פעולה ופונקציות. הסר את הביטוי בשדה המחושב והשתמש בבונה כדי ליצור אותו.
  8. התקשר ל-Expression Builder על ידי לחיצה על הכפתור בּוֹנֶה(בנאי) בקבוצה הגדרת שאילתה(הגדרת שאילתה) עיצוב סרט, או על ידי בחירה לִבנוֹת(Build) בתפריט תלוי ההקשר. סמן העכבר חייב להיות ממוקם קודם לכן בתא קלט הביטוי.
  9. בצד שמאל של החלון בונה ביטויים(בונה ביטויים) (איור 4.7) בחר את טבלת ה-PRODUCT שעליה מבוססת השאילתה. רשימה של השדות שלו תוצג בצד ימין. בחר ברצף את השדות והאופרטורים הנדרשים על ידי לחיצה כפולה עליהם לתוך הביטוי. הביטוי יווצר בחלק העליון של החלון. שימו לב שהבנאי ציין את שם הטבלה אליה היא שייכת לפני שם השדה והפריד בינה לבין שם השדה בסימן קריאה.
  10. השלם את התהליך של בניית ביטוי בשדה מחושב על ידי לחיצה על אישור.
  11. שמור את הבקשה תחת השם ― מחיר עם מע"מ וסגור אותה.
  12. בצע את הקובץ השמור על-ידי בחירתו באזור הניווט ובחירה באפשרות פתח מתפריט ההקשר.


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

  1. צור שאילתת בחירה במצב עיצוב עבור טבלת INVOICE. גרור את השדות NOM_NAKL ו-CODE_SK לטופס (איור 4.8).
  2. צור שדה מחושב בתא שורה ריק שדה(שדה) על ידי כתיבת אחד הביטויים שם: Format([INVOICE]![DISPOSITION_DATE];"mmmm") - פונקציה זו תחזיר את השם המלא של החודש
    או Format([INBOOK]![DISPOSITION_DATE];"mm") - פונקציה זו תחזיר את מספר החודש.
  3. לבחירת חשבוניות שהונפקו בחודש נתון, בשדה המחושב בשורה תנאי בחירה (קריטריונים), הזינו את שם החודש, למשל מרץ (איור 4.8), או מספר החודש, למשל 3 בהתאם ל- פרמטר בפונקציה Format.
  4. השלם את בקשתך על ידי לחיצה על הכפתור לבצע(רוץ) בקבוצה תוצאות(תוצאות) בלשונית הסרט עבודה עם בקשות | בַּנַאִי(כלי שאילתה | עיצוב).
  5. כתוב את הפונקציה Month(INVOICE!DATE_OTG) בשדה המחושב וודא שפונקציה זו מחזירה את מספר החודש שחולץ מהתאריך.
  6. כדי לבחור את כל השורות הקשורות לרבעון השני, בשורה קריטריונים, הזן את האופרטור בין 4 ל-6, שקובע אם ערך הביטוי נכנס למרווח שצוין.
  7. כתוב את הביטוי MonthName(Month(INVOICE!DATE_OTG)) בשדה המחושב וודא שהפונקציה MonthName ממירה את מספר החודש לשמו המלא.


כדי לחזק זאת, צפה בסרטון הדרכה.