מאמר זה מספק דוגמאות רבות לביטויים ב- Access. ביטוי הוא שילוב של אופרטורים מתמטיים או לוגיים, קבועים, פונקציות, שדות טבלה, פקדים ומאפיינים המוערך לערך בודד. באפשרותך להשתמש בביטויים ב- Access כדי לחשב ערכים, לאמת נתונים ולהגדיר ערך ברירת מחדל.
במאמר זה
טפסים ודוחות
הטבלאות בסעיף זה מספקות דוגמאות של ביטויים המחשבים ערך בפקד הממוקם בטופס או בדוח. כדי ליצור פקד מחושב, עליך להזין ביטוי במאפיין ControlSource של הפקד, ולא בשדה טבלה או בשאילתה.
הערה ניתן להשתמש בביטויים גם בטופס או בדוח בעת הדגשת הנתונים באמצעות עיצוב מותנה.
פעולות טקסט
הביטויים בטבלה הבאה משתמשים באופרטורים & (אמפרסנד) ו- + (סימן חיבור) כדי לשלב מחרוזות טקסט, משתמשים בפונקציות מוכללות כדי לטפל במחרוזת טקסט, או פועלים עם טקסט באופן אחר כדי ליצור פקד מחושב.
ביטוי |
תוצאה |
---|---|
="N/A" |
הצגת N/A. |
=[FirstName] & " " & [LastName] |
הצגת הערכים הנמצאים בשדות טבלה שנקראים FirstName ו- LastName. בדוגמה זו, האופרטור & משמש לשילוב השדה FirstName, תו רווח (המוקף במרכאות) והשדה LastName. |
=Left([ProductName], 1) |
שימוש בפונקציה Left כדי להציג את התו הראשון של הערך של שדה או פקד בשם ProductName. |
=Right([AssetCode], 2) |
שימוש בפונקציה Right כדי להציג את שני התווים האחרונים של הערך בשדה או פקד בשם AssetCode. |
=Trim([Address]) |
שימוש בפונקציה Trim כדי להציג את הערך של הפקד Address, תוך הסרת רווחים מובילים או נגררים. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
שימוש בפונקציה IIf כדי להציג את הערכים של הפקדים City ו- PostalCode אם הערך בפקד Region הוא Null; אחרת, מוצגים הערכים של הפקדים City, Region ו- PostalCode, כשהם מופרדים באמצעות רווחים. |
=[City] & (" " + [Region]) & " " & [PostalCode] |
שימוש באופרטור + ובהפצת Null כדי להציג את הערכים של הפקדים City ו- PostalCode אם הערך בשדה או בפקד Region הוא Null; אחרת, מוצגים הערכים של השדות או הפקדים City, Region ו- PostalCode, כשהם מופרדים באמצעות רווחים. הפצת Null פירושה שאם רכיב כלשהו של ביטוי הוא Null, הביטוי כולו גם הוא Null. האופרטור + תומך בהפצת Null; האופרטור & אינו תומך בכך. |
כותרות עליונות ותחתונות
באפשרותך להשתמש במאפיינים Page ו- Pages כדי להציג או להדפיס מספרי עמודים בטפסים או בדוחות. המאפיינים Page ו- Pages זמינים רק במהלך הדפסה או הצגה לפני הדפסה, ולכן הם אינם מופיעים בגליון המאפיינים עבור הטופס או הדוח. בדרך כלל, תשתמש במאפיינים אלה על-ידי הצבת תיבת טקסט במקטע הכותרת העליונה או הכותרת התחתונה של הטופס או הדוח ולאחר מכן שימוש בביטוי, כגון הביטויים המוצגים בטבלה הבאה.
לקבלת מידע נוסף אודות שימוש בכותרות עליונות וכותרות תחתונות בטפסים ובדוחות, עיין במאמר הוספת מספרי עמודים לטופס או לדוח.
ביטוי |
תוצאה |
---|---|
=[Page] |
1 |
="Page " & [Page] |
עמוד 1 |
="Page " & [Page] & " of " & [Pages] |
עמוד 1 מתוך 3 |
=[Page] & " of " & [Pages] & " Pages" |
1 מתוך 3 עמודים |
=[Page] & "/" & [Pages] & " Pages" |
1/3 עמודים |
=[Country/region] & " - " & [Page] |
UK - 1 |
=Format([Page], "000") |
001 |
="Printed on: " & Date() |
הודפס ב: 31/12/17 |
אופרטורים אריתמטיים
באפשרותך להשתמש בביטויים כדי לחבר, לחסר, להכפיל ולחלק את הערכים בשני שדות או פקדים או יותר. באפשרותך גם להשתמש בביטויים לביצוע פעולות אריתמטיות בתאריכים. לדוגמה, נניח שיש לך שדה טבלה מסוג 'תאריך/שעה' ששמו RequiredDate. בשדה, או בפקד המאוגד לשדה, הביטוי =[RequiredDate] - 2 מחזיר ערך תאריך/שעה השווה ליומיים לפני הערכים הנוכחיים בשדה RequiredDate.
ביטוי |
תוצאה |
---|---|
=[Subtotal]+[Freight] |
סכום הערכים של השדות או הפקדים Subtotal ו- Freight. |
=[RequiredDate]-[ShippedDate] |
מרווח הזמן בין ערכי התאריך של השדות או הפקדים RequiredDate ו- ShippedDate. |
=[Price]*1.06 |
המכפלה של ערך השדה או הפקד Price ו- 1.06 (הוספת 6 אחוזים לערך Price). |
=[Quantity]*[Price] |
המכפלה של ערכי השדות או הפקדים Quantity ו- Price. |
=[EmployeeTotal]/[CountryRegionTotal] |
המנה של ערכי השדות או הפקדים EmployeeTotal ו- CountryRegionTota. |
הערה בעת שימוש באופרטור אריתמטי (+, -, * ו- /) בביטוי, כאשר הערך של אחד מהפקדים בביטוי הוא Null, תוצאת הביטוי כולו תהיה Null – הדבר מכונה הפצת Null. אם לרשומות כלשהן באחד מהפקדים שבהם אתה משתמש בביטוי עשוי להיות ערך Null, תוכל להימנע מהפצת Null על-ידי המרת ערך ה- Null לאפס באמצעות הפונקציה Nz – לדוגמה, =Nz([Subtotal])+Nz([Freight]).
ערכים בפקדים אחרים
לפעמים דרוש לך ערך הקיים במקום אחר, למשל בשדה או בפקד שנמצאים בטופס או בדוח אחר. באפשרותך להשתמש בביטוי כדי להחזיר ערך משדה או מפקד אחר.
הטבלה הבאה מפרטת דוגמאות של ביטויים שבהם באפשרותך להשתמש בפקדים מחושבים בטפסים.
ביטוי |
תוצאה |
---|---|
=Forms![Orders]![OrderID] |
הערך של הפקד OrderID בטופס Orders. |
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] |
הערך של הפקד OrderSubtotal בטופס המשנה ששמו Orders Subform בטופס Orders. |
=Forms![Orders]![Orders Subform]![ProductID].Column(2) |
הערך של העמודה השלישית ב- ProductID, תיבת רשימה מרובת עמודות בטופס המשנה ששמו Orders Subform בטופס Orders. (שים לב ש- 0 מתייחס לעמודה הראשונה, 1 מתייחס לעמודה השניה וכן הלאה). |
=Forms![Orders]![Orders Subform]![Price] * 1.06 |
המכפלה של ערך הפקד Price בטופס המשנה ששמו Orders Subform בטופס Orders ו- 1.06 (הוספת שישה אחוזים לערך של הפקד Price). |
=Parent![OrderID] |
הערך של הפקד OrderID בטופס הראשי או בטופס האב של טופס המשנה הנוכחי. |
הביטויים בטבלה הבאה מציגים כמה דרכים לשימוש בפקדים מחושבים בדוחות. הביטויים מבצעים הפניה למאפיין Report.
ביטוי |
תוצאה |
---|---|
=Report![Invoice]![OrderID] |
הערך של פקד הנקרא "OrderID" בדוח הנקרא "Invoice". |
=Report![Summary]![Summary Subreport]![SalesTotal] |
הערך של הפקד SalesTotal בטופס המשנה ששמו Summary Subreport בדוח Summary. |
=Parent![OrderID] |
הערך של הפקד OrderID בדוח הראשי או בדוח האב של דוח המשנה הנוכחי. |
ספירה, סכום וממוצע של ערכים
באפשרותך להשתמש בסוג פונקציה הקרוי "פונקציית צבירה" כדי לחשב ערכים עבור שדה או פקד אחד או יותר. לדוגמה, באפשרותך לחשב סכום של קבוצה עבור הכותרת התחתונה של הקבוצה בדוח, או סכום ביניים של הזמנה עבור פריטי שורה בטופס. באפשרותך גם לספור את הפריטים בשדה אחד או יותר או לחשב ערך ממוצע.
הביטויים בטבלה הבאה מציגים כמה מהדרכים להשתמש בפונקציות כגון Avg, Count ו- Sum.
ביטוי |
תיאור |
---|---|
=Avg([Freight]) |
שימוש בפונקציה Avg כדי להציג את ממוצע הערכים של שדה טבלה או פקד בשם Freight. |
=Count([OrderID]) |
שימוש בפונקציה Count כדי להציג את מספר הרשומות בפקד OrderID. |
=Sum([Sales]) |
שימוש בפונקציה Sum כדי להציג את סכום הערכים של הפקד Sales. |
=Sum([Quantity]*[Price]) |
שימוש בפונקציה Sum כדי להציג את סכום מכפלת הערכים של הפקדים Quantity ו- Price. |
=[Sales]/Sum([Sales])*100 |
הצגת אחוזי המכירות, שנקבעים על-ידי חילוק הערך של הפקד Sales בסכום כל הערכים של הפקד Sales. אם אתה מגדיר את המאפיין 'עיצוב' של הפקד לאחוז, אל תכלול *100 בביטוי. |
לקבלת מידע נוסף אודות שימוש בפונקציות צבירה וסיכום הערכים בשדה ובעמודות, עיין במאמרים סיכום נתונים באמצעות שאילתה, ספירת נתונים באמצעות שאילתה, הצגת סכומי עמודות בגליון נתונים באמצעות שורת סכומים והצגת סכומי עמודות בגליון נתונים.
פונקציות צבירה של SQL
השתמש בסוג פונקציה הקרוי "פונקציית צבירה של SQL" או "פונקציית צבירה המופעלת על תחום" כאשר עליך לסכם או לספור ערכים באופן סלקטיבי. "תחום" מורכב משדה אחד או יותר בטבלה אחת או יותר, או מפקד אחד או יותר בטופס או דוח אחד או יותר. לדוגמה, באפשרותך להתאים את הערכים בשדה טבלה לערכים בפקד בטופס.
ביטוי |
תיאור |
---|---|
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) |
שימוש בפונקציה DLookup כדי להחזיר את הערך של השדה ContactName בטבלה Suppliers כאשר הערך של השדה SupplierID בטבלה תואם לערך של הפקד SupplierID בטופס Suppliers. |
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) |
שימוש בפונקציה DLookup כדי להחזיר את הערך של השדה ContactName בטבלה Suppliers כאשר הערך של השדה SupplierID בטבלה תואם לערך של הפקד SupplierID בטופס New Suppliers. |
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") |
שימוש בפונקציה DSum כדי להחזיר את הסכום הכולל של הערכים בשדה OrderAmount שבטבלה Orders כאשר CustomerID הוא RATTC. |
=DCount("[Retired]","[Assets]","[Retired]=Yes") |
שימוש בפונקציה DCount כדי להחזיר את מספר ערכי Yes בשדה Retired (שדה 'כן/לא') בטבלה Assets. |
פעולות תאריך
מעקב אחר תאריכים ושעות הוא פעילות בסיסית במסדי נתונים. לדוגמה, באפשרותך לחשב כמה ימים חלפו מאז תאריך החשבונית כדי לגייל את החשבונות החייבים שלך. באפשרותך לעצב תאריכים ושעות בדרכים רבות, כמוצג בטבלה הבאה.
ביטוי |
תיאור |
---|---|
=Date() |
שימוש בפונקציה Date כדי להציג את התאריך הנוכחי בתבנית mm-dd-yy, כאשר dd הוא היום (1 עד 31), mm הוא החודש (1 עד 12) ו- yy הוא שתי הספרות האחרונות של השנה (1980 עד 2099). |
=Format(Now(), "ww") |
שימוש בפונקציה Format כדי להציג את מספר השבוע בשנה עבור התאריך הנוכחי, כאשר ww מייצג את שבועות 1 עד 53. |
=DatePart("yyyy", [OrderDate]) |
שימוש בפונקציה DatePart כדי להציג את השנה בת ארבע הספרות של הערך של הפקד OrderDate. |
=DateAdd("y", -10, [PromisedDate]) |
שימוש בפונקציה DateAdd כדי להציג תאריך שחל 10 ימים לפני הערך של הפקד PromisedDate. |
=DateDiff("d", [OrderDate], [ShippedDate]) |
שימוש בפונקציה DateDiff כדי להציג את הפרש מספר הימים בין הערכים של הפקדים OrderDate ו- ShippedDate. |
=[InvoiceDate] + 30 |
שימוש בפעולות אריתמטיות בתאריכים כדי לחשב את התאריך שחל 30 ימים לאחר התאריך בשדה או בפקד InvoiceDate. |
תנאים של שני ערכים בלבד
הביטויים לדוגמה בטבלה הבאה משתמשים בפונקציה IIf כדי להחזיר אחד מתוך שני ערכים אפשריים. יש להעביר לפונקציה IIf שלושה ארגומנטים: הארגומנט הראשון הוא ביטוי שחייב להחזיר ערך True או False. הארגומנט השני הוא הערך שיש להחזיר אם הביטוי הוא True, והארגומנט השלישי הוא הערך שיש להחזיר אם הביטוי הוא False.
ביטוי |
תיאור |
---|---|
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") |
שימוש בפונקציה IIf (Immediate If) כדי להציג את ההודעה "ההזמנה מאושרת" אם הערך של הפקד Confirmed הוא Yes; אחרת, מוצגת ההודעה "Order Not Confirmed.". |
=IIf(IsNull([Country/region]), " ", [Country]) |
שימוש בפונקציות IIf ו- IsNull כדי להציג מחרוזת ריקה אם הערך של הפקד Country/region הוא Null; אחרת, מוצג הערך של הפקד Country/region. |
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) |
שימוש בפונקציות IIf ו- IsNull כדי להציג את הערכים של הפקדים City ו- PostalCode אם הערך בפקד Region הוא Null; אחרת, מוצגים הערכים של השדות או הפקדים City, Region ו- PostalCode. |
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
שימוש בפונקציות IIf ו- IsNull כדי להציג את ההודעה "בדוק אם חסר תאריך" אם התוצאה של החסרת ShippedDate מ- RequiredDate היא Null; אחרת, מוצג מרווח הזמן בין ערכי התאריך של הפקדים RequiredDate ו- ShippedDate. |
שאילתות ומסננים
מקטע זה מכיל דוגמאות של ביטויים שבהם ניתן להשתמש כדי ליצור שדה מחושב בשאילתה או כדי לספק קריטריונים לשאילתה. שדה מחושב הוא עמודה בשאילתה שמתקבלת מביטוי. לדוגמה, באפשרותך לחשב ערך, לשלב ערכי טקסט כגון שם פרטי ושם משפחה, או לעצב חלק של תאריך.
קריטריונים בשאילתה משמשים להגבלת הרשומות שאתה עובד עמן. לדוגמה, באפשרותך להשתמש באופרטור Between כדי לספק תאריך התחלה ותאריך סיום ולהגביל את התוצאות של השאילתה שלך להזמנות שנשלחו בין תאריכים אלה.
להלן דוגמאות של ביטויים לשימוש בשאילתות.
פעולות טקסט
הביטויים בטבלה הבאה משתמשים באופרטורים & ו- + כדי לשלב מחרוזות טקסט, משתמשים בפונקציות מוכללות כדי לפעול עם מחרוזת טקסט, או פועלים עם טקסט באופן אחר כדי ליצור שדה מחושב.
ביטוי |
תיאור |
---|---|
FullName: [FirstName] & " " & [LastName] |
יצירת שדה בשם FullName המציג את הערכים בשדות FirstName ו- LastName, המופרדים באמצעות רווח. |
Address2: [City] & " " & [Region] & " " & [PostalCode] |
יצירת שדה שנקרא Address2 המציג את הערכים בשדות City, Region ו- PostalCode, כשהם מופרדים באמצעות רווחים. |
ProductInitial: Left([ProductName], 1) |
יצירת שדה שנקרא ProductInitial ולאחר מכן שימוש בפונקציה Left כדי להציג, בשדה ProductInitial, את התו הראשון של הערך בשדה ProductName. |
TypeCode: Right([AssetCode], 2) |
יצירת שדה שנקרא TypeCode ולאחר מכן שימוש בפונקציה Right כדי להציג את שני התווים האחרונים של הערכים בשדה AssetCode. |
AreaCode: Mid([Phone],2,3) |
יצירת שדה שנקרא AreaCode ולאחר מכן שימוש בפונקציה Mid כדי להציג את שלושת התווים החל מהתו השני של הערך בשדה Phone. |
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 |
מתן השם ExtendedPrice לשדה המחושב ושימוש בפונקציה CCur לחישוב סכומי פריטי השורה עם ההנחה המוחלת עליהם. |
אופרטורים אריתמטיים
באפשרותך להשתמש בביטויים כדי לחבר, לחסר, להכפיל ולחלק את הערכים בשני שדות או פקדים או יותר. באפשרותך גם לבצע פעולות אריתמטיות בתאריכים. לדוגמה, נניח שיש לך שדה 'תאריך/שעה' שנקרא RequiredDate. הביטוי =[RequiredDate] - 2 מחזיר ערך תאריך/שעה השווה ליומיים לפני הערך בשדה RequiredDate.
ביטוי |
תיאור |
---|---|
PrimeFreight: [Freight] * 1.1 |
יצירת שדה שנקרא PrimeFreight ולאחר מכן הצגת דמי הובלה בתוספת 10 אחוזים בשדה. |
OrderAmount: [Quantity] * [UnitPrice] |
יצירת שדה שנקרא OrderAmount ולאחר מכן הצגת המכפלה של הערכים בשדות Quantity ו- UnitPrice. |
LeadTime: [RequiredDate] - [ShippedDate] |
יצירת שדה שנקרא LeadTime ולאחר מכן הצגת ההפרש בין הערכים בשדות RequiredDate ו- ShippedDate. |
TotalStock: [UnitsInStock]+[UnitsOnOrder] |
יצירת שדה שנקרא TotalStock ולאחר מכן הצגת סכום הערכים בשדות UnitsInStock ו- UnitsOnOrder. |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
יצירת שדה שנקרא FreightPercentage ולאחר מכן הצגת אחוז דמי ההובלה בכל סכום ביניים. ביטוי זה משתמש בפונקציה Sum כדי לסכם את הערכים בשדה Freight ולאחר מכן מחלק סכומים כוללים אלה בסכום הערכים שבשדה Subtotal. כדי להשתמש בביטוי זה, עליך להמיר את השאילתה שבחרת לשאילתת סכומים מאחר שעליך להשתמש בשורה סך הכל ברשת העיצוב, ועליך להגדיר את התא סך הכל עבור שדה זה ל- Expression. לקבלת מידע נוסף אודות יצירת שאילתת סכומים, עיין במאמר סיכום נתונים באמצעות שאילתה. אם אתה מגדיר את המאפיין עיצוב של השדה לאחוז, אל תכלול *100. |
לקבלת מידע נוסף אודות שימוש בפונקציות צבירה וסיכום הערכים בשדה ובעמודות, עיין במאמרים סיכום נתונים באמצעות שאילתה, ספירת נתונים באמצעות שאילתה, הצגת סכומי עמודות בגליון נתונים באמצעות שורת סכומים והצגת סכומי עמודות בגליון נתונים.
פעולות תאריך
כמעט כל מסדי הנתונים מכילים תאריכים ושעות ועוקבים אחריהם. ניתן לעבוד עם תאריכים ושעות ב- Access על-ידי הגדרת שדות התאריך והשעה בטבלאות לסוג הנתונים 'תאריך/שעה'. Access יכול לבצע חישובים אריתמטיים בתאריכים; לדוגמה, באפשרותך לחשב כמה ימים חלפו מאז תאריך החשבונית כדי לגייל את החשבונות החייבים שלך.
ביטוי |
תיאור |
---|---|
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) |
יצירת שדה שנקרא LagTime ולאחר מכן שימוש בפונקציה DateDiff כדי להציג את מספר הימים בין תאריך ההזמנה לתאריך המשלוח. |
YearHired: DatePart("yyyy",[HireDate]) |
יצירת שדה שנקרא YearHired ולאחר מכן שימוש בפונקציה DatePart כדי להציג את השנה שבה כל עובד התקבל לעבודה. |
MinusThirty: Date( )- 30 |
יצירת שדה שנקרא MinusThirty ולאחר מכן שימוש בפונקציה Date כדי להציג את התאריך 30 ימים לפני התאריך הנוכחי. |
פונקציות צבירה של SQL
הביטויים בטבלה הבאה משתמשים בפונקציות SQL (שפת שאילתות מובנית) שצוברות או מסכמות נתונים. לעתים קרובות, פונקציות אלה (לדוגמה, Sum, Count ו- Avg) מכונות פונקציות צבירה.
בנוסף לפונקציות צבירה, Access מספק פונקציות צבירה המופעלות על "תחום" אשר משמשות לסיכום או לספירה של ערכים באופן סלקטיבי. לדוגמה, באפשרותך לספור את הערכים בטווח מסוים בלבד או לבדוק ערך מטבלה אחרת. קבוצת פונקציות הצבירה המופעלות על תחום כוללת את הפונקציה DSum, הפונקציה DCount והפונקציה DAvg.
כדי לחשב סכומים, תצטרך לעתים קרובות ליצור שאילתת סכומים. לדוגמה, כדי לסכם לפי קבוצה, עליך להשתמש בשאילתת סכומים. כדי להפוך שאילתת סכומים לזמינה מרשת עיצוב השאילתה, לחץ על סכומים בתפריט תצוגה.
ביטוי |
תיאור |
---|---|
RowCount: Count(*) |
יצירת שדה שנקרא RowCount ולאחר מכן שימוש בפונקציה Count כדי לספור את הרשומות בשאילתה, כולל רשומות עם שדות Null (ריקים). |
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 |
יצירת שדה שנקרא FreightPercentage ולאחר מכן חישוב אחוז דמי ההובלה בכל סכום ביניים על-ידי חלוקת סכום הערכים שבשדה Freight בסכום הערכים שבשדה Subtotal (דוגמה זו משתמשת בפונקציה Sum). עליך להשתמש בביטוי זה עם שאילתת סכומים. אם אתה מגדיר את המאפיין עיצוב של השדה לאחוז, אל תכלול *100. לקבלת מידע נוסף אודות יצירת שאילתת סכומים, עיין במאמר סיכום נתונים באמצעות שאילתה. |
AverageFreight: DAvg("[Freight]", "[Orders]") |
יצירת שדה שנקרא AverageFreight ולאחר מכן שימוש בפונקציה DAvg כדי לחשב את דמי ההובלה הממוצעים בכל ההזמנות המשולבות בשאילתת סכומים. |
שדות עם נתונים חסרים
הביטויים שמופיעים כאן פועלים עם שדות שייתכן כי חסר בהם מידע, כגון שדות המכילים ערכי Null (לא ידועים או לא מוגדרים). ערכי Null מופיעים לעתים תכופות. מדובר למשל במחיר לא ידוע של מוצר חדש או בערך שעמית לעבודה שכח להוסיף להזמנה. היכולת למצוא ולעבד ערכי Null יכולה להוות חלק קריטי בפעולות מסד נתונים, והביטויים בטבלה הבאה ממחישים כמה דרכים נפוצות להתמודד עם ערכי Null.
ביטוי |
תיאור |
---|---|
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) |
יצירת שדה שנקרא CurrentCountryRegion ולאחר מכן שימוש בפונקציות IIf ו- IsNull כדי להציג מחרוזת ריקה בשדה זה כאשר השדה CountryRegion מכיל ערך Null; אחרת, מוצג התוכן של השדה CountryRegion. |
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
יצירת שדה שנקרא LeadTime ולאחר מכן שימוש בפונקציות IIf ו- IsNull כדי להציג את ההודעה "בדוק אם חסר תאריך" אם הערך בשדה RequiredDate או בשדה ShippedDate הוא Null; אחרת, מוצג ההפרש בין התאריכים. |
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) |
יצירת שדה שנקרא SixMonthSales והצגת סכום הערכים בשדות Qtr1Sales ו- Qtr2Sales על-ידי שימוש בפונקציה Nz תחילה כדי להמיר ערכי Null לאפס. |
שדות מחושבים באמצעות שאילתות משנה
באפשרותך להשתמש בשאילתה מקוננת, הנקראת גם שאילתת משנה, כדי ליצור שדה מחושב. הביטוי בטבלה הבאה הוא דוגמה אחת של שדה מחושב שנוצר כתוצאה משאילתת משנה.
ביטוי |
תיאור |
---|---|
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) |
יצירת שדה שנקרא Cat ולאחר מכן הצגת ה- CategoryName, אם ה- CategoryID מהטבלה Categories זהה ל- CategoryID מהטבלה Products. |
התאמת ערכי טקסט
הביטויים לדוגמה בטבלה זו מדגימים קריטריונים התואמים לערכי טקסט מלאים או חלקיים.
שדה |
ביטוי |
תיאור |
---|---|---|
ShipCity |
"London" |
הצגת הזמנות שנשלחו לתל אביב. |
ShipCity |
"London" Or "Hedge End" |
שימוש באופרטור Or להצגת הזמנות שנשלחו לתל אביב או לחיפה. |
ShipCountryRegion |
In("Canada", "UK") |
שימוש באופרטור In להצגת הזמנות שנשלחו לישראל או לבריטניה. |
ShipCountryRegion |
Not "USA" |
שימוש באופרטור Not להצגת הזמנות שנשלחו למדינות/אזורים שאינם ארה"ב. |
ProductName |
Not Like "C*" |
שימוש באופרטור Not ובתו הכללי * להצגת מוצרים ששמותיהם אינם מתחילים ב- C. |
CompanyName |
>="N" |
הצגת הזמנות שנשלחו לחברות ששמותיהן מתחילים באותיות N עד Z. |
ProductCode |
Right([ProductCode], 2)="99" |
שימוש בפונקציה Right כדי להציג הזמנות עם ערכי ProductCode המסתיימים ב- 99. |
ShipName |
Like "S*" |
הצגת הזמנות שנשלחו ללקוחות ששמותיהם מתחילים באות S. |
התאמת קריטריונים של תאריך
הביטויים בטבלה הבאה מדגימים את השימוש בתאריכים ובפונקציות קשורות בביטויי קריטריונים. לקבלת מידע נוסף אודות הזנת ערכי תאריך ושימוש בהם, עיין במאמר עיצוב שדה תאריך ושעה.
שדה |
ביטוי |
תיאור |
---|---|---|
ShippedDate |
#2/2/2017# |
הצגת הזמנות שנשלחו ב- 2 בפברואר 2017. |
ShippedDate |
Date() |
הצגת הזמנות שנשלחו היום. |
RequiredDate |
Between Date( ) And DateAdd("m", 3, Date( )) |
שימוש באופרטור Between...And ובפונקציות DateAdd ו- Date כדי להציג הזמנות נדרשות בין התאריך של היום ושלושה חודשים מהתאריך של היום. |
OrderDate |
< Date( ) - 30 |
שימוש בפונקציה Date כדי להציג הזמנות בנות יותר מ- 30 ימים. |
OrderDate |
Year([OrderDate])=2017 |
שימוש בפונקציה Year כדי להציג הזמנות עם תאריכי הזמנה ב- 2017. |
OrderDate |
DatePart("q", [OrderDate])=4 |
שימוש בפונקציה DatePart כדי להציג הזמנות עבור הרבעון הקלנדרי הרביעי. |
OrderDate |
DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 |
שימוש בפונקציות DateSerial, Year ו- Month כדי להציג הזמנות ליום האחרון בכל חודש. |
OrderDate |
Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) |
שימוש בפונקציות Year ו- Month ובאופרטור And כדי להציג הזמנות עבור השנה והחודש הנוכחיים. |
ShippedDate |
Between #1/5/2017# And #1/10/2017# |
שימוש באופרטור Between...And כדי להציג הזמנות שנשלחו בין 5 בינואר 2017 ל- 10 בינואר 2017. |
RequiredDate |
Between Date( ) And DateAdd("M", 3, Date( )) |
שימוש באופרטור Between...And כדי להציג הזמנות נדרשות בין התאריך של היום ושלושה חודשים מהתאריך של היום. |
BirthDate |
Month([BirthDate])=Month(Date()) |
שימוש בפונקציות Month ו- Date כדי להציג עובדים שיש להם יום הולדת בחודש זה. |
חיפוש נתונים חסרים
הביטויים בטבלה הבאה פועלים עם שדות שייתכן כי חסר בהם מידע – שדות העשויים להכיל ערך Null או מחרוזת באורך אפס. ערך Null מייצג היעדר מידע; הוא אינו מייצג אפס או ערך שלא קיים כלל. Access תומך ברעיון זה של מידע חסר מאחר שהמושג חיוני לשלמותו של מסד נתונים. בעולם האמיתי, מידע חסר לעתים קרובות, גם אם באופן זמני בלבד (לדוגמה, מחיר שעדיין לא נקבע עבור מוצר חדש). לכן, למסד נתונים שיוצר מודל של ישות מהעולם האמיתי, כגון עסק, חייבת להיות היכולת לתעד מידע כחסר. באפשרותך להשתמש בפונקציה IsNull כדי לקבוע אם שדה או פקד מכיל ערך Null, ובאפשרותך להשתמש בפונקציה Nz כדי להמיר ערך Null לאפס.
שדה |
ביטוי |
תיאור |
---|---|---|
ShipRegion |
Is Null |
הצגת הזמנות עבור לקוחות ששדה ShipRegion שלהם הוא Null (חסר). |
ShipRegion |
Is Not Null |
הצגת הזמנות עבור לקוחות ששדה ShipRegion שלהם מכיל ערך. |
Fax |
"" |
הצגת הזמנות עבור לקוחות שאין להם מכשיר פקס, דבר המצוין על-ידי ערך מחרוזת באורך אפס בשדה Fax במקום ערך Null (חסר). |
התאמת תבניות של רשומות באמצעות Like
האופרטור Like מספק מידה רבה של גמישות בעת ניסיון למצוא שורות המתאימות לתבנית, מאחר שבאפשרותך להשתמש ב- Like עם תווים כלליים ולהגדיר תבניות ש- Access יוכל למצוא התאמות עבורן. לדוגמה, התו הכללי * (כוכבית) תואם לרצף של תווים מכל סוג, ומקל עליך למצוא את כל השמות המתחילים באות מסוימת. לדוגמה, השתמש בביטוי Like "S*" כדי למצוא את כל השמות המתחילים באות S. לקבלת מידע נוסף, עיין במאמר האופרטור Like.
שדה |
ביטוי |
תיאור |
---|---|---|
ShipName |
Like "S*" |
איתור כל הרשומות בשדה ShipName המתחילות באות S. |
ShipName |
Like "*Imports" |
איתור כל הרשומות בשדה ShipName המסתיימות במילה "Imports". |
ShipName |
Like "[A-D]*" |
איתור כל הרשומות בשדה ShipName המתחילות באותיות A, B, C או D. |
ShipName |
Like "*ar*" |
איתור כל הרשומות בשדה ShipName הכוללות את רצף האותיות "ar". |
ShipName |
Like "Maison Dewe?" |
איתור כל הרשומות בשדה ShipName הכוללות "Maison" בחלק הראשון של הערך ומחרוזת בת חמש אותיות שבה ארבע האותיות הראשונות הן "Dewe" והאות האחרונה אינה ידועה. |
ShipName |
Not Like "A*" |
איתור כל הרשומות בשדה ShipName שאינן מתחילות באות A. |
התאמת שורות באמצעות צבירה של SQL
השתמש בפונקציית צבירה של SQL בפונקציית צבירה המופעלת על תחום כאשר עליך לסכם או לספור ערכים או לחשב את הממוצע שלהם באופן סלקטיבי. לדוגמה, ייתכן שתרצה לספור רק את הערכים שנמצאים בטווח מסוים, או שמוערכים כ'כן'. במקרים אחרים, ייתכן שתצטרך לבדוק ערך מטבלה אחרת, כך שתוכל להציג אותו. הביטויים לדוגמה בטבלה הבאה משתמשים בפונקציות הצבירה המופעלות על תחום כדי לבצע חישוב בקבוצת ערכים, ומשתמשים בתוצאה כקריטריוני השאילתה.
שדה |
ביטוי |
תיאור |
---|---|---|
Freight |
> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) |
שימוש בפונקציות DStDev ו- DAvg כדי להציג את כל ההזמנות שעבורן דמי ההובלה הם מעל לממוצע בתוספת סטיית התקן עבור עלות ההובלה. |
Quantity |
> DAvg("[Quantity]", "[Order Details]") |
שימוש בפונקציה DAvg כדי להציג מוצרים שהוזמנו בכמויות העולות על כמות ההזמנה הממוצעת. |
התאמת שדות באמצעות שאילתות משנה
שאילתת משנה, המכונה גם שאילתה מקוננת, מיועדת לחשב ערך לשימוש כקריטריון. הביטויים לדוגמה בטבלה הבאה מוצאים התאמות לשורות בהתבסס על התוצאות שהוחזרו על-ידי שאילתת משנה.
שדה |
ביטוי |
מציג |
---|---|---|
UnitPrice |
(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") |
מוצרים שהמחיר שלהם זהה למחיר של סירופ אניס. |
UnitPrice |
>(SELECT AVG([UnitPrice]) FROM [Products]) |
מוצרים בעלי מחיר יחידה מעל הממוצע. |
Salary |
> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) |
השכר של כל נציג מכירות שהשכר שלו גבוה מזה של כל העובדים שתפקידיהם כוללים את המילים "מנהל" או "סמנכ"ל". |
OrderTotal: [UnitPrice] * [Quantity] |
> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) |
הזמנות עם סכומים גבוהים יותר מערך ההזמנה הממוצע. |
שאילתות עדכון
ניתן להשתמש בשאילתת עדכון כדי לשנות את הנתונים בשדה קיים אחד או יותר במסד נתונים. לדוגמה, באפשרותך להחליף ערכים או למחוק אותם לחלוטין. טבלה זו מדגימה כמה דרכים שבהן תוכל להשתמש בביטויים בשאילתות עדכון. השתמש בביטויים אלה בשורה עדכן ל ברשת עיצוב השאילתה עבור השדה שברצונך לעדכן.
לקבלת מידע נוסף על יצירת שאילתות עדכון, עיין במאמר יצירה והפעלה של שאילתת עדכון.
שדה |
ביטוי |
תוצאה |
---|---|---|
Title |
"Salesperson" |
שינוי ערך טקסט ל"איש מכירות". |
ProjectStart |
#8/10/17# |
שינוי ערך תאריך ל- 10 באוגוסט 2017. |
Retired |
Yes |
שינוי ערך 'לא' בשדה כן/לא ל'כן'. |
PartNumber |
"PN" & [PartNumber] |
הוספת PN להתחלה של כל מספר חלק שצוין. |
LineItemTotal |
[UnitPrice] * [Quantity] |
חישוב המכפלה של UnitPrice ו- Quantity. |
Freight |
[Freight] * 1.5 |
הגדלת דמי ההובלה ב- 50 אחוז. |
Sales |
DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) |
כשערכי ProductID בטבלה הנוכחית תואמים לערכי ProductID בטבלה Order Details, עדכון סכומי מכירות כוללים בהתבסס על המכפלה של Quantity ו- UnitPrice. |
ShipPostalCode |
Right([ShipPostalCode], 5) |
חיתוך התווים השמאליים ביותר, תוך השארת חמשת התווים הימניים ביותר. |
UnitPrice |
Nz([UnitPrice]) |
שינוי ערך Null (לא מוגדר או לא ידוע) לאפס (0) בשדה UnitPrice. |
משפטי SQL
שפת שאילתות מובנית, או SQL, היא שפת השאילתות שבה Access משתמש. ניתן לבטא את כל השאילתות שאתה יוצר בתצוגת עיצוב שאילתה גם באמצעות SQL. כדי לראות את משפט ה- SQL עבור שאילתה כלשהי, לחץ על תצוגת SQL בתפריט תצוגה. הטבלה הבאה מציגה משפטי SQL לדוגמה המשתמשים בביטוי.
משפט SQL המשתמש בביטוי |
תוצאה |
---|---|
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; |
הצגת הערכים בשדות FirstName ו- LastName עבור עובדים ששם המשפחה שלהם הוא Danseglio. |
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; |
הצגת הערכים בשדות ProductID ו- ProductName בטבלה Products עבור רשומות שבהן הערך CategoryID תואם לערך CategoryID שצוין בטופס New Products פתוח. |
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; |
חישוב המחיר המורחב הממוצע של הזמנות שעבורן הערך בשדה ExtendedPrice הוא יותר מ- 1000, והצגתו בשדה ששמו Average Extended Price. |
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; |
בשדה ששמו CountOfProductID, הצגת המספר הכולל של המוצרים עבור קטגוריות הכוללות יותר מ- 10 מוצרים. |
ביטויי טבלה
שתי הדרכים הנפוצות ביותר לשימוש בביטויים בטבלאות הן להקצות ערך ברירת מחדל וליצור כלל אימות.
ערכי ברירת מחדל של שדות
בעת עיצוב מסד נתונים, ייתכן שתרצה להקצות ערך ברירת מחדל לשדה או לפקד. Access מספק לאחר מכן את ערך ברירת המחדל בעת יצירת רשומה חדשה המכילה את השדה או בעת יצירת אובייקט המכיל את הפקד. הביטויים בטבלה הבאה מייצגים את ערכי ברירת המחדל לדוגמה עבור שדה או פקד. אם פקד מאוגד לשדה בטבלה, ולשדה יש ערך ברירת מחדל, ערך ברירת המחדל של הפקד מקבל קדימות.
שדה |
ביטוי |
ערך ברירת המחדל של השדה |
---|---|---|
Quantity |
1 |
1 |
אזור |
"MT" |
מרכז |
Region |
"New York, N.Y." |
ניו יורק, N.Y. (שים לב שעליך להקיף את הערך במרכאות אם הוא כולל סימני פיסוק.) |
Fax |
"" |
מחרוזת באורך אפס כדי לציין שכברירת מחדל, שדה זה צריך להיות ריק במקום להכיל ערך Null |
תאריך הזמנה |
Date( ) |
התאריך של היום |
DueDate |
Date() + 60 |
התאריך שחל 60 יום מהיום |
כללי אימות שדה
באפשרותך ליצור כלל אימות עבור שדה או פקד באמצעות ביטוי. לאחר מכן Access אוכף את הכלל בעת הזנת נתונים בשדה או בפקד. כדי ליצור כלל אימות, שנה את המאפיין ValidationRule של השדה או הפקד. עליך גם לשקול להגדיר את המאפיין ValidationText, אשר מכיל את הטקסט ש- Access מציג כשכלל האימות מופר. אם לא תגדיר את המאפיין ValidationText, Access יציג הודעת שגיאה המהווה ברירת מחדל.
הדוגמאות בטבלה הבאה ממחישות את ביטויי כלל האימות עבור המאפיין ValidationRule ואת הטקסט המשויך למאפיין ValidationText.
המאפיין ValidationRule |
המאפיין ValidationText |
---|---|
<> 0 |
הזן ערך שאינו אפס. |
0 Or > 100 |
הערך חייב להיות 0 או יותר מ- 100. |
Like "K???" |
הערך חייב לכלול ארבעה תווים. התו הראשון חייב להיות האות K. |
< #1/1/2017# |
הזן תאריך שחל לפני 1/1/2017. |
>= #1/1/2017# And < #1/1/2008# |
התאריך חייב להיות בשנת 2017. |
לקבלת מידע נוסף אודות אימות נתונים, עיין במאמר יצירת כלל אימות כדי לוודא את החוקיות של נתונים בשדה.
ביטויי מאקרו
ייתכן שבמקרים מסוימים תרצה לבצע פעולה או סדרת פעולות במאקרו, רק אם תנאי מסוים מתקיים. לדוגמה, נניח שברצונך שהפעולה תתבצע רק כאשר הערך של תיבת הטקסט Counter הוא 10. השתמש בביטוי כדי להגדיר את התנאי בבלוק If:
[Counter]=10
בדומה למאפיין ValidationRule , הביטוי בבלוק If הוא ביטוי מותנה. הפתרון שלו חייב להיות ערך True או False. הפעולה מתבצעת רק כאשר התנאי מתקיים.
השתמש בביטוי זה כדי לבצע את הפעולה |
אם |
---|---|
[City]="Paris" |
"פריז" הוא ערך City בשדה בטופס שממנו המאקרו הופעל. |
DCount("[OrderID]", "Orders") > 35 |
קיימים יותר מ- 35 ערכים בשדה OrderID שבטבלה Orders. |
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 |
קיימים יותר משלושה ערכים בטבלה Order Details שעבורם השדה OrderID בטבלה תואם לשדה OrderID בטופס Orders. |
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# |
הערך של השדה ShippedDate בטופס שממנו מופעל המאקרו אינו מוקדם יותר מ- 2 בפברואר 2017 ואינו מאוחר יותר מ- 2 במרץ 2017. |
Forms![Products]![UnitsInStock] < 5 |
הערך של השדה UnitsInStock בטופס Products קטן מ- 5. |
IsNull([FirstName]) |
ערך FirstName בטופס שממנו מופעל המאקרו הוא Null (ללא ערך). ביטוי זה שווה ערך ל- [FirstName] Is Null. |
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 |
הערך בשדה CountryRegion בטופס שממנו מופעל המאקרו הוא "בריטניה" והערך של השדה TotalOrds בטופס SalesTotals גדול מ- 100. |
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 |
הערך בשדה CountryRegion בטופס שממנו מופעל המאקרו הוא "צרפת", "איטליה" או "ספרד", והמיקוד אינו באורך של חמישה תווים. |
MsgBox("Confirm changes?",1)=1 |
אתה לוחץ על אישור בתיבת דו-שיח שהפונקציה MsgBox מציגה. אם תלחץ על ביטול בתיבת הדו-שיח, Access יתעלם מהפעולה. |