Бележка
Достъпът до тази страница изисква удостоверяване. Можете да опитате да влезете или да промените директориите.
Достъпът до тази страница изисква удостоверяване. Можете да опитате да промените директориите.
Отнася се за: Приложения
за платно, базирани на модел приложения
Актуализира записи в източник на данни.
Описание
Update функция
Използвайте функцията, за да заместите Update цял запис в източник на данни. За разлика от това функциите UpdateIfPatch променят една или повече стойности в запис, като оставят другите стойности сами.
За колекция, целият запис трябва да съвпада. Колекциите позволяват дублиращи се записи, така че може да съвпадат множество записи. Можете да използвате аргумента RemoveFlags.All , за да актуализирате всички копия на запис; в противен случай се актуализира само едно копие на записа.
Ако източник на данни генерира автоматично стойността на колоната, стойността на тази колона трябва да се потвърди отново.
UpdateIf функция
Използвайте функцията UpdateIf , за да промените една или повече стойности в един или повече записи, които отговарят на едно или повече условия. Условието може да бъде всяка формула, която води до вярно или невярно и може да се позовава колони от източник на данни по име. Функцията оценява състоянието на всеки запис и променя всеки запис, за който е резултатът вярно.
За да зададете модификация, използвайте запис за промяна, който съдържа нови стойности на свойствата. Ако предоставите този запис за промяна в линия с къдрави скоби, формулите на свойствата могат да реферират свойствата на записа, който се променя. Можете да използвате това поведение, за да променяте записи въз основа на формула.
Подобно на , можете също да използвате функцията Patch, за да промените определени колони на запис, без да UpdateIfзасягате други колони.
И двата Update и UpdateIf връщат модифицирания източник на данни като таблица. Трябва да използвате всяка от двете функции във формула за поведение.
Делегиране
Тези функции не се делегират на източник на данни. Въпреки това UpdateIf и RemoveАко работите локално, за да симулирате делегиране до ограничение от 500/2000 записа. Те постепенно въвеждат записи извън ограничението от 500/2000 записа, които не са делегиране. Събират се записи, които отговарят на условието If . Обикновено най-много 500/2000 записа се събират отделно и след това се модифицират за изпълнение. Може обаче да се актуализират повече записи, ако съществуващият локален кеш за данни е голям, тъй като функцията може да има достъп до повече записи за оценка. Ще бъде извлечена само първоначалната част от източника на данни и след това функцията ще бъде приложена. Това може да не представлява цялата картина. По време на авторството може да се появи предупреждение, което да ви напомни за това ограничение.
Синтаксис
Update(DataSource_, OldRecord, NewRecord [, RemoveFlags.All ] )
- Източник на данни – Задължително. Източникът на данни, който съдържа записа, който искате да замените.
- OldRecord – Задължително. Записът за замяна.
- NewRecord – Задължително. Записът за замяна. Това не е запис на промяна. Целият запис се замества, а липсващите свойства съдържат празни.
- RemoveFlags.All – по избор. В колекция един и същ запис може да се появи повече от веднъж. Задайте аргумента RemoveFlags.All , за да актуализирате всички копия на записа.
UpdateIf(DataSource_, условие1, ChangeRecord1 [, условие2, ChangeRecord2, ... ] )
- Източник на данни – Задължително. Източникът на данни, който съдържа записа или записите, които искате да промените.
- Условия – Задължително. Формула, която оценява до вярно за запис или записи, които искате да промените. Можете да използвате имена на DataSource във формулата. В случай че са изпълнени няколко условия , се прилага само ChangeRecord , свързан с първото условие , което дава за оценена като истина .
- ChangeRecords - Задължително. За всяко съответно условие, запис на промяна на нови стойности на свойствата, които да се прилагат към записи на Източник на данни, които отговарят на условието. Ако предоставите записа вграден с помощта на къдрави скоби, стойностите на свойствата на съществуващия запис могат да бъдат използвани във формулите на свойствата.
Примери
В тези примери ще замените или промените записи в име с име източник на данни Сладолед и това започва с данните в тази таблица:
| Формула | Описание | Резултат |
|---|---|---|
|
Update- Не, не. LookUp( IceCream, Flavor="Chocolate" ), { ID: 1, Аромат: "Ментов шоколад", Количество:150 } ) |
Заменя запис от източника на данни. |
Източникът на данни Сладолед също е модифицирана. |
| UpdateIf( IceCream, Количество > 175, { Количество: Количество + 10 } ) | Променя записи, които имат количество по-голямо от 175. Полето количество се увеличава с 10, а други полета не се променят. |
Източникът на данни Сладолед също е модифицирана. |
|
Update- Не, не. LookUp( IceCream, Flavor="Strawberry" ), { ID: 3, Вкус: "Ягодов вихър"} ) |
Заменя запис от източника на данни. Свойство Quantity свойството не е предоставено в записа за замяна, така че това свойство ще бъде празно в резултата. |
Източникът на данни Сладолед също е модифицирана. |
| UpdateIf( IceCream, true, { Количество: 0 } ) | Задава стойността на свойството Quantity за всички записи в източник на данни до 0. |
Източникът на данни Сладолед също е модифицирана. |
Стъпка по стъпка
Импортирайте или създайте колекция с име Инвентар, и го покажете в галерия, както Показвайте данни в галерия описва.
Назовете галерията ProductGallery.
Добавете плъзгач с име UnitsSold, и задайте своето Max свойство на този израз:
Продуктова галерия.Избрани.ЕдинициВ наличностДобавете бутон и задайте свойството OnSelect на тази формула:
UpdateIf(Inventory, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})Натиснете F5, изберете продукт в галерията, посочете стойност с плъзгача и след това изберете бутона.
Броят единици в наличност за посочения от вас продукт намалява с посочената от вас сума.