إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: تطبيقات اللوحة التي
تستند إلى نموذج التطبيقات
تحديث السجلات في مصدر بيانات.
الوصف
Update دالة
استخدم الدالة Update لاستبدال سجل كامل في مصدر بيانات. في المقابل، تقوم دالتي UpdateIfPatch و بتعديل قيمة واحدة أو أكثر في سجل، وترك القيم الأخرى وحدها.
بالنسبة إلى مجموعة، يجب أن يتطابق السجل بالكامل. تسمح المجموعات بسجلات مكررة ، لذلك قد تتطابق سجلات متعددة. يمكنك استخدام الوسيطة RemoveFlags.All لتحديث جميع نسخ السجل؛ وإلا فسيتم تحديث نسخة واحدة فقط من السجل.
إذا كان مصدر البيانات يولد قيمة العمود تلقائيًا، فإن قيمة ذلك العمود يجب إعادة تأكيدها.
UpdateIf دالة
استخدم الدالة UpdateIf لتعديل قيمة واحدة أو أكثر في سجل واحد أو أكثر يتطابق مع شرط واحد أو أكثر. يمكن أن يكون الشرط أي صيغة ينتج عنها صواب أو خطأ ويمكنه الإشارة إلى أعمدة مصدر البيانات بالاسم. تقوم الوظيفة بتقييم حالة كل سجل وتعديل أي سجل تكون النتيجة له صواب.
لتحديد تعديل ، استخدم سجل التغيير الذي يحتوي على قيم خاصية جديدة. إذا قمت بتوفير سجل التغيير هذا مضمنًا بأقواس متعرجة، يمكن أن ترجع صيغ الخصائص إلى خصائص السجل الذي يتم تعديله. يمكنك استخدام هذا السلوك لتعديل السجلات بناءً على صيغة.
على 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_, Condition1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )
- DataSource – مطلوب. مصدر البيانات الذي يحتوي على السجل أو السجلات التي تريد تعديلها.
- الشروط – مطلوبة. صيغة يتم تقييمها إلى صواب للسجل أو السجلات التي تريد تعديلها. يمكنك استخدام أسماء أعمدة DataSourceفي الصيغة. في حالة تمرير شروط متعددة، يتم تطبيق ChangeRecord المرتبط بالشرط الأول الذي يتم تقييمه إلى صحيح فقط.
- ChangeRecord(s) - مطلوب. لكل شرط مقابل، سجل تغيير لقيم خاصية جديدة لتطبيقها على سجلات DataSource التي تفي بالشرط. إذا قمت بتوفير السجل عبر الإنترنت باستخدام أقواس متعرجة ، يمكن استخدام قيم خصائص السجل الحالي في صيغ الخصائص.
الأمثلة
في هذه الأمثلة، ستقوم باستبدال أو تعديل سجلات في مصدر بيانات مسمى IceCream ويبدأ بالبيانات الموجودة في هذا الجدول.
| الصيغة | الوصف | النتيجة |
|---|---|---|
|
Update( IceCream، LookUp( IceCream, Flavor="Chocolate"), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } ) |
استبدال سجل من مصدر البيانات. |
تم تعديل مصدر بيانات IceCream. |
| UpdateIf( IceCream, Quantity > 175, { Quantity: Quantity + 10 } ) | تعديل السجلات التي تحتوي على كمية أكبر من 175. يتزايد حقل الكمية بمقدار 10، ولا يتم تعديل أي حقول أخرى. |
تم تعديل مصدر بيانات IceCream. |
|
Update( IceCream، LookUp( IceCream, Flavor="الفراولة" ), { ID: 3, نكهة: "الفراولة Swirl"} ) |
استبدال سجل من مصدر البيانات. لم يتم توفير خاصية Quantity في السجل البديل، لذا ستكون الخاصية فارغة في النتيجة. |
تم تعديل مصدر بيانات IceCream. |
| UpdateIf( IceCream, true, { Quantity: 0 } ) | تعيين قيمة خاصية Quantity لجميع السجلات الموجودة في مصدر البيانات إلى 0. |
تم تعديل مصدر بيانات IceCream. |
خطوة بخطوة
استورد أو أنشئ مجموعة تسمى مخزون، وقم بإظهارها في معرض كما هو موصوف في إظهار البيانات في معرض.
قم بتسمية المعرض ProductGallery.
أضف شريط تمرير يُسمى UnitsSold، وقم بتعيين خاصية Max الخاصة به إلى هذا التعبير:
ProductGallery.Selected.UnitsInStockأضف زرًا، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة:
UpdateIf(Inventory, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})اضغط على F5، وحدد منتجًا في المعرض، وحدد قيمة باستخدام شريط التمرير، ثم حدد الزر.
ينخفض عدد الوحدات المتوفرة للمنتج الذي حددته بالمبلغ الذي حددته.