Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Attiecas uz: Audekla programmas
Modeļa vadītas programmas
Atjaunina ierakstusdatu avotā.
Apraksts
Update funkcija
Izmantojiet šo funkciju, Update lai aizstātu visu ierakstu datu avotā. Turpretī UpdateIf funkcijas un Patch modificē vienu vai vairākas ieraksta vērtības, atstājot pārējās vērtības atsevišķi.
Kolekcijām jāatbilst visam ierakstam. Kolekcijas pieļauj ierakstu dublikātus, tāpēc varētu sakrist vairāki ieraksti. Varat izmantot argumentu RemoveFlags.All , lai atjauninātu visas ieraksta kopijas; pretējā gadījumā tiek atjaunināta tikai viena ieraksta kopija.
Ja datu avots automātiski ģenerē kolonnas vērtību, ir jāapstiprina šīs kolonnas vērtība.
UpdateIf funkcija
Izmantojiet funkciju, UpdateIf lai modificētu vienu vai vairākas vērtības vienā vai vairākos ierakstos, kas atbilst vienam vai vairākiem nosacījumiem. Nosacījums var būt jebkura formula, kas rezultējas vērtībā true vai false un var atsaukties uz datu avota kolonnām pēc nosaukuma. Šī funkcija novērtē katra ieraksta nosacījumu un pārveido visus ierakstus, kuru rezultāts ir patiess.
Lai konkretizētu modifikāciju, izmantojiet izmaiņu ierakstu, kas satur jaunās rekvizīta vērtības. Ja nodrošināt šo izmaiņu ierakstu figūriekavās, rekvizītu formulas var atsaukties uz tiem ieraksta rekvizītiem, kuri tiek modificēti. Varat izmantot šo uzvedību, lai modificētu ierakstus, pamatojoties uz formulu.
Līdzīgi kā UpdateIf, varat arī izmantot funkciju Patch , lai mainītu noteiktas ieraksta kolonnas, neietekmējot citas kolonnas.
Abi Update un UpdateIf atgriezt modificēto datu avotu kā tabulu. Uzvedības formulā ir jāizmanto viena no šīm funkcijām.
Deleģēšana
Šīs funkcijas netiek deleģētas datu avotam. Tomēr un RemoveIf strādā lokāli, UpdateIf lai simulētu deleģēšanu līdz 500/2000 ierakstu ierobežojumam. Tie pakāpeniski samazina ierakstus, kas pārsniedz 500/2000 ierakstu nedeleģēšanas ierobežojumu. Tiek apkopoti ieraksti, kas atbilst nosacījumam If . Parasti ne vairāk kā 500/2000 ieraksti tiek savākti atsevišķi un pēc tam mainīti katrā izpildē. Tomēr, ja esošā lokālā datu kešatmiņa ir liela, var tikt atjaunināti vairāk ierakstu, jo funkcijai var būt piekļuve vairākiem ierakstiem novērtēšanai. Tiks izgūta tikai datu avota sākotnējā daļa, un pēc tam tiks lietota funkcija. Tas var neatspoguļot pilnīgu ainu. Autorēšanas laikā var tikt parādīts brīdinājums, lai atgādinātu par šo ierobežojumu.
Sintakse
Update(DataSource_, OldRecord, NewRecord [, RemoveFlags.All ] )
- DataSource - Obligāts. Datu avots, kas satur ierakstu, kuru vēlaties aizstāt.
- OldRecord - Obligāts. Aizstājamais ieraksts.
- NewRecord - Obligāts. Aizstāšanas ieraksts. Šis nav izmaiņu ieraksts. Viss ieraksts tiek aizstāts, un trūkstošie rekvizīti ir tukši.
- RemoveFlags.All – Pēc izvēles. Kolekcijā viens un tas pats ieraksts var parādīties vairāk nekā vienu reizi. Norādiet argumentu RemoveFlags.All , lai atjauninātu visas ieraksta kopijas.
UpdateIf(DataSource_, Nosacījums1, ChangeRecord1 [, Nosacījums2, ChangeRecord2, ... ] )
- DataSource - Obligāts. Datu avots, kas satur ierakstu vai ierakstus, kurus vēlaties modificēt.
- Nosacījumi – obligāti. Formula ar vērtību true noņemamajam ierakstam vai ierakstiem, kurus vēlaties modificēt. Formulā varat izmantot kolonnu nosaukumus no DataSource. Ja tiek nokārtoti vairāki nosacījumi , tiek lietots tikai ChangeRecord , kas saistīts ar pirmo nosacījumu , kas tiek novērtēts kā patiess .
- ChangeRecords - Nepieciešams. Katram atbilstošajam nosacījumam jaunu rekvizīta vērtību izmaiņu ieraksts, kuru piemērot tiem DataSource ierakstiem, kuri atbilst nosacījumam. Ja nodrošināt ierakstu, izmantojot figūriekavas, esošā ieraksta rekvizīta vērtības var izmantot rekvizītu formulās.
Piemēri
Šajos piemēros tiks aizstāti vai pārveidots ieraksts vai ieraksti datu avotā ar nosaukumu IceCream, kurš sākas ar šīs tabulas datiem:
| Formula | Apraksts | Rezultāts |
|---|---|---|
|
Update( Saldējums, LookUp( IceCream, Flavor="Šokolāde" ), { ID: 1, Garša: "Piparmētru šokolāde", Daudzums:150 } ) |
Noņem ierakstu no datu avota. |
Datu avots IceCream ticis modificēts. |
| UpdateIf( Saldējums, daudzums > 175, { Daudzums: daudzums + 10 } ) | Modificē ierakstus, kuriem Daudzums ir lielāks par 175. Lauks Daudzums pieaug par 10, bet citi lauki netiek modificēti. |
Datu avots IceCream ticis modificēts. |
|
Update( Saldējums, LookUp( IceCream, Flavor="Zemeņu" ), { ID: 3, Garša: "Zemeņu virpulis"} ) |
Noņem ierakstu no datu avota. Quantity rekvizīts netiek piegādāts aizstāšanas ierakstā, tāpēc šis rekvizīts rezultātos būs tukšs. |
Datu avots IceCream ticis modificēts. |
| UpdateIf( Saldējums, taisnība, { Daudzums: 0 } ) | Iestata rekvizīta Daudzums vērtību visiem datu avota ierakstiem uz 0. |
Datu avots IceCream ticis modificēts. |
Pakāpeniskas darbības
Importējiet vai izveidojiet kolekciju ar nosaukumu Krājums un rādiet to galerijā, kā aprakstīts Rādīt datus galerijā.
Piešķiriet galerijai nosaukumu ProductGallery.
Pievienojiet slīdni ar nosaukumu UnitsSold un iestatiet tā rekvizītu Max uz šādu izteiksmi:
ProductGallery.Selected.UnitsInStockPievienojiet pogu un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu:
UpdateIf(Inventārs, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})Nospiediet taustiņu F5, atlasiet kādu preci galerijā, norādiet vērtību ar slīdni un pēc tam atlasiet pogu.
Noliktavā esošo vienību skaits precei, kuru norādījāt, pieaug par jūsu norādīto apjomu.