הערה
גישה לעמוד זה דורשת אישור. אתה יכול לנסות להיכנס או לשנות תיקיות.
גישה לעמוד זה דורשת אישור. אתה יכול לנסות לשנות מדריכים.
חל על: אפליקציות Canvas
המבוססות על מודלים
מעדכנת רשומות במקור נתונים.
Description
Update פונקציה
השתמש בפונקציה Update כדי להחליף רשומה שלמה במקור נתונים. לעומת זאת, הפונקציות UpdateIf ו - Patch משנה ערך אחד או יותר ברשומה, וערכים אחרים יישארו ללא שינוי.
עבור אוסף, הרשומה השלמה מוכרחה להתאים. אוספים מאפשרים רשומות כפולות, כך שרשומות מרובות עשויות להתאים. באפשרותך להשתמש בארגומנט RemoveFlags.All כדי לעדכן את כל העותקים של רשומה; אחרת, רק עותק אחד של הרשומה יתעדכן.
אם מקור נתונים יוצר ערך של עמודה באופן אוטומטי, הערך של עמודה זו מוכרח לעבור אישור מחדש.
UpdateIf פונקציה
השתמש בפונקציה UpdateIf כדי לשנות ערך אחד או יותר לרשומה אחת או יותר התואמים תנאים אחד או יותר. התנאי יכול להיות נוסחה כלשהי שהתוצאה שלה היא true או false ויכול להפנות אל עמודות של מקור הנתונים לפי שם. הפונקציה מעריכה את התנאי עבור כל רשומה ומשנה את כל הרשומות שעבורן התוצאה היא true.
כדי לציין שינוי, השתמש ברשומת שינוי הכוללת ערכי מאפיין חדש. אם תספק רשומת שינוי זו באופן מוטבע עם סוגריים מסולסלים, נוסחאות המאפיין יוכלו להפנות אל מאפיינים של הרשומה שמתבצע בה שינוי. באפשרותך להשתמש באופן פעולה זה כדי לשנות רשומות בהתבסס על נוסחה.
בדומה ל UpdateIf- , באפשרותך גם להשתמש בפונקציה Patch כדי לשנות עמודות ספציפיות של רשומה מבלי להשפיע על עמודות אחרות.
הן Update והן UpdateIf החזר את מקור הנתונים שהשתנה כטבלה. עליך להשתמש בכל אחת מהפונקציות בנוסחה של אופן פעולה.
הקצאה
פונקציות אלה אינן מנציגות למקור נתונים. עם זאת, UpdateIfו- RemoveIf פועלים באופן מקומי כדי לדמות הקצאה עד למגבלה של 500/2000 רשומות. הן מביאות באופן התקדם רשומות מעבר למגבלת אי-ההקצאה של 500/2000 רשומות. רשומות שעומדות בתנאי If נאספות. בדרך כלל, עד 500/2000 רשומות נאספות בנפרד ולאחר מכן משתנות לכל ביצוע. עם זאת, רשומות נוספות עשויות להתעדכן אם מטמון הנתונים המקומיים הקיים גדול, כי ייתכן שלפונקציה תהיה גישה לרשומות נוספות להערכה. רק החלק ההתחלתי של מקור הנתונים יאוחזרו ולאחר מכן הפונקציה תוחל. ייתכן שתמונה זו לא תייצג את התמונה המלאה. אזהרה עשויה להופיע במהלך עריכה כדי להזכיר לך מגבלה זו.
תחביר
Update(DataSource_, OldRecord, NewRecord [, RemoveFlags.All ] )
- DataSource – נדרש. מקור הנתונים שמכיל את הרשומה שברצונך להחליף.
- OldRecord – נדרש. הרשומה שיש להחליף.
- NewRecord – נדרש. הרשומה החלופית. זו אינה רשומת שינוי. הרשומה כולה מוחלפת, ומאפיינים חסרים מכילים ריקים.
- RemoveFlags.All – אופציונלי. באוסף, אותה רשומה עשויה להופיע יותר מפעם אחת. ציין את הארגומנט RemoveFlags.All כדי לעדכן את כל העותקים של הרשומה.
UpdateIf(DataSource_, תנאי1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )
- DataSource – נדרש. מקור הנתונים שמכיל את הרשומה או הרשומות שברצונך לשנות.
- תנאים – נדרש. נוסחה שמעריכה ל- true עבור הרשומה או הרשומות שברצונך לשנות. באפשרותך להשתמש בשמות עמודות של מקור נתונים בנוסחה. במקרה שיועברו תנאים מרובים, יוחל רק ה- ChangeRecord הקשור לתנאי הראשון המוערך כ- True.
- ChangeRecord(s) - נדרש. עבור כל תנאי מתאים, רשומת שינוי של ערכי מאפיין חדש להחלה על רשומות של מקור נתונים שעומדות בתנאי. אם אתה מספק את הרשומה כשהיא מוטבעת באמצעות סוגריים מסולסלים, ערכי מאפיין של הרשומה הקיימת יכולים לשמש בנוסחאות של המאפיין.
דוגמאות
בדוגמאות אלה, תחליף או תשנה רשומות במקור נתונים שנקרא גלידה ואשר מתחיל עם הנתונים בטבלה זו:
| נוסחה | Description | תוצאה |
|---|---|---|
|
Update(קרח, LookUp( IceCream, Flavor="Chocolate" ), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } ) |
מחליפה רשומה ממקור הנתונים. |
מקור הנתונים גלידה השתנה. |
| UpdateIf( IceCream, Quantity > 175, { Quantity: Quantity + 10 } ) | משנה רשומות הכוללות כמות הגדולה מ- 175. השדה כמות גדל ב- 10, ושדות אחרים אינם משתנים. |
מקור הנתונים גלידה השתנה. |
|
Update(קרח, LookUp( קרח, טעם="תות" ), { ID: 3, Flavor: "Strawberry Swirl"} ) |
מחליפה רשומה ממקור הנתונים. המאפיין Quantity לא סופק ברשומה החלופית, ולכן מאפיין זה יהיה ריק בתוצאה. |
מקור הנתונים גלידה השתנה. |
| UpdateIf( IceCream, true, { Quantity: 0 } ) | מגדיר את הערך של המאפיין Quantity עבור כל הרשומות במקור הנתונים ל- 0. |
מקור הנתונים גלידה השתנה. |
שלב אחר שלב
יבא או צור אוסף בשם מלאי והצג אותו בגלריה כפי שהנושא הצגת נתונים בגלריה מתאר.
תן לגלריה את השם גלריית מוצרים.
הוסף מחוון בשם יחידות שנמכרו, והגדר את מאפיין Max שלו לביטוי זה:
ProductGallery.Selected.UnitsInStockהוסף לחצן, והגדר את מאפיין OnSelect שלו לנוסחה זו:
UpdateIf(Inventory, ProductName = ProductGallery.selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.value})הקש F5, בחר מוצר בגלריה, ציין ערך עם המחוון ולאחר מכן בחר בלחצן.
מספר היחידות במלאי עבור המוצר שציינת יורד בכמות שציינת.