Funkciji »Update« in »UpdateIf« v rešitvi Power Apps
Posodobi zapise v viru podatkov.
Opis
Funkcija »Update«
S funkcijo Update lahko zamenjate celoten zapis v viru podatkov. Nasprotno pa funkciji UpdateIf in Patch spremenita eno ali več vrednosti v zapisu, ostale vrednosti pa pustita nedotaknjene.
Pri zbirki se mora ujemati celoten zapis. Zbirke omogočajo podvojene zapise, zato se lahko ujema več zapisov. Uporabite lahko argument All in posodobite vse kopije zapisa; v nasprotnem primeru se posodobi samo ena kopija zapisa.
Če vir podatkov samodejno ustvari vrednost stolpca, je treba vrednost tega stolpca znova potrditi.
Funkcija »UpdateIf«
Uporabite funkcijo UpdateIf in spremenite eno ali več vrednosti v enem ali več zapisih, ki ustrezajo enemu ali več pogojem. Pogoj je lahko katera koli formula, ki vrne vrednost true ali false in se lahko sklicuje na stolpce vira podatkov po imenu. Funkcija ovrednoti pogoj za vsak zapis in spremeni vse zapise, pri katerih je rezultat true.
Če želite določiti spremembo, uporabite zapis spremembe, ki vsebuje nove vrednosti lastnosti. Če navedete ta zapis spremembe v vrstici z zavitimi oklepaji, se lahko formule lastnosti sklicujejo na lastnosti zapisa, ki se spreminja. To delovanje lahko uporabite za spreminjanje zapisov na podlagi formule.
Podobno kot pri funkciji UpdateIf, lahko uporabite tudi funkcijo Patch in spremenite določene stolpce zapisa, ne da bi to vplivalo na druge stolpce.
Funkciji Update in UpdateIf vrneta spremenjeni vir podatkov kot tabelo. V formuli za delovanje morate uporabiti eno od funkcij.
Pooblastitev
Ko so uporabljene z virom podatkov, teh funkcij ni mogoče pooblastiti. Pridobljen bo samo prvi del vira podatkov, nato bo uporabljena funkcija. Rezultat morda ne pokaže celotne slike. V času ustvarjanja se lahko prikaže opozorilo, ki vas opomni na to omejitev in predlaga, da uporabite možnosti, ki jih je mogoče pooblastiti, če so na voljo. Če želite več informacij, glejte razdelek Pregled pooblastitev.
Sintaksa
Update( DataSource, OldRecord, NewRecord [, All ] )
- DataSource – obvezno. Vir podatkov, ki vsebuje zapis, ki ga želite zamenjati.
- OldRecord – obvezno. Zapis, ki bo zamenjan.
- NewRecord – obvezno. Nadomestni zapis. To ni zapis spremembe. Zamenja se celoten zapis, manjkajoče lastnosti pa vsebujejo prazno vrednost.
- All – neobvezno. V zbirki se lahko isti zapis prikaže večkrat. Določite argument za All za posodobitev vseh kopij zapisa.
UpdateIf( DataSource, Condition1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )
- DataSource – obvezno. Vir podatkov, ki vsebuje zapis ali zapise, ki jih želite spremeniti.
- Condition(s) – obvezno. Formula, ki vrne vrednost true za zapis ali zapise, ki jih želite spremeniti. V formuli lahko uporabite imena stolpcev vira podatkov DataSource.
- ChangeRecord(s) – obvezno. Pri vsakem ustreznem pogoju je to zapis sprememb z novimi vrednostmi lastnosti, ki se uporabijo za zapise vira podatkov DataSource, ki izpolnjujejo pogoj. Če navedete zapis v vrstici z zavitimi oklepaji, lahko vrednosti lastnosti obstoječega zapisa uporabite v formulah lastnosti.
Primeri
V teh primerih boste zamenjali ali spremenili zapise v viru podatkov z imenom IceCream, ki se začne s podatki v tej tabeli:

| Formula | Opis | Rezultat |
|---|---|---|
| Update( IceCream, First( Filter( IceCream, Flavor="Chocolate" ) ), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } ) |
Zamenja zapis iz vira podatkov. | ![]() Vir podatkov IceCream je bil spremenjen. |
| UpdateIf( IceCream, Quantity > 175, { Quantity: Quantity + 10 } ) | Spremeni zapise, pri katerih je količina večja od 175. Polje Quantity se povečuje za 10 in nobena druga polja niso spremenjena. | ![]() Vir podatkov IceCream je bil spremenjen. |
| Update( IceCream, First( Filter( IceCream, Flavor="Strawberry" ) ), { ID: 3, Flavor: "Strawberry Swirl"} ) |
Zamenja zapis iz vira podatkov. Lastnost Quantity ni bila navedena v nadomestnem zapisu, zato bo imela ta lastnost prazno vrednost v rezultatu. | ![]() Vir podatkov IceCream je bil spremenjen. |
| UpdateIf( IceCream, true, { Quantity: 0 } ) | Nastavi vrednost lastnosti Quantity za vse zapise v viru podatkov na 0. | ![]() Vir podatkov IceCream je bil spremenjen. |
Korak za korakom
Uvozite ali ustvarite zbirko Zaloga in jo prikažete v galerij, kot je opisano v temi Prikaz podatkov v galeriji.
Galerijo poimenujte ProductGallery.
Dodajte drsnik UnitsSold in nastavite njegovo lastnost Max na ta izraz:
ProductGallery.Selected.UnitsInStockDodajte gumb in nastavite njegovo lastnost OnSelect na to formulo:
UpdateIf(Inventory, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})Pritisnite F5, izberite izdelek v galeriji, z drsnikom določite vrednost in nato izberite gumb.
Število enot na zalogi za izdelek, ki ste ga določili, se zmanjša za količino, ki ste jo določili.
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za



