Deli z drugimi prek


Updatein funkcije UpdateIf

Velja za: Aplikacije na platnu , ki jih poganja model

Posodobi zapise v viru podatkov.

Description

Update funkcija

S funkcijo Update zamenjajte celoten zapis v viru podatkov. Nasprotno pa funkciji UpdateIfPatch spreminjata eno ali več vrednosti v zapisu, ostale pa pustite same.

Pri zbirki se mora ujemati celoten zapis. Zbirke omogočajo podvojene zapise, zato se lahko ujema več zapisov. Za posodobitev vseh kopij zapisa lahko uporabite argument RemoveFlags.All ; drugače se posodobi le ena kopija zapisa.

Če vir podatkov samodejno ustvari vrednost stolpca, je treba vrednost tega stolpca znova potrditi.

UpdateIf funkcija

S funkcijo UpdateIf lahko spremenite eno ali več vrednosti v enem ali več zapisih, ki se ujemajo z enim ali več pogoji. 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 UpdateIf, lahko uporabite tudi funkcijo Patch, če želite spremeniti določene stolpce zapisa, ne da bi vplivali na druge stolpce.

Tako Update spremenjeni UpdateIf vir podatkov kot tabelo vrnita. V formuli za delovanje morate uporabiti eno od funkcij.

Pooblastitev

Te funkcije niso pooblaščene za vir podatkov. Vendar pa in UpdateIfRemoveIf delata lokalno za simulacijo pooblastitve do omejitve 500/2000 zapisov. Zapisi postopno presegajo omejitev prenosa, ki je 500/2000 zapisov. Zbrani so zapisi, ki izpolnjujejo pogoj If. Na splošno se zbere največ 500/2000 zapisov ločeno in jih nato spremeni glede na izvajanje. Vendar pa se lahko posodobi več zapisov, če je obstoječi lokalni predpomnilnik podatkov velik, saj ima lahko funkcija dostop do več zapisov za vrednotenje. Pridobljen bo le prvotni del vira podatkov, nato pa bo uporabljena funkcija. To morda ne predstavlja celotne slike. Med avtorstvom se lahko prikaže opozorilo, ki vas opomni na to omejitev.

Sintaksa

Update(DataSource_, OldRecord, NewRecord [, RemoveFlags.All ] )

  • DataSource – Zahtevano. Vir podatkov, ki vsebuje zapis, ki ga želite zamenjati.
  • OldRecord – obvezno. Zapis, ki bo zamenjan.
  • NewRecord – Zahtevano. Nadomestni zapis. To ni zapis spremembe. Zamenjan je celoten zapis, manjkajoče lastnosti pa vsebujejo prazno.
  • RemoveFlags.All – Izbirno. V zbirki se lahko isti zapis prikaže večkrat. Podajte argument RemoveFlags.All , da posodobite vse kopije zapisa.

UpdateIf(DataSource_, Pogoj1, SpremeniZapis1 [, Pogoj2, SpremeniZapis2, ... ] )

  • DataSource – Zahtevano. Vir podatkov, ki vsebuje zapis ali zapise, ki jih želite spremeniti.
  • Pogoji – Obvezno. Formula, ki vrne vrednost true za zapis ali zapise, ki jih želite spremeniti. V formuli lahko uporabite imena stolpcev vira podatkov DataSource. Če je podanih več pogojev, je uporabljen le zapis »ChangeRecord«, ki je povezan s prvim pogojem, ki je ovrednoten kot »true«.
  • ChangeRecords - Zahtevano. 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:

Primer Icecream.

Formula Description Rezultat
UpdateNe, ne
LookUp( IceCream, Flavor="Chocolate"), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } )
Zamenja zapis iz vira podatkov. Zamenjajte zapis.

Vir podatkov IceCream je bil spremenjen.
UpdateIf( IceCream, Količina > 175, { Količina: Količina + 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. Spremenite zapise.

Vir podatkov IceCream je bil spremenjen.
UpdateNe, ne
LookUp( IceCream, Flavor="Jagoda" ),
{ ID: 3, Okus: "Jagodni vrtinec"} )
Zamenja zapis iz vira podatkov. Lastnost Quantity ni bila navedena v nadomestnem zapisu, zato bo imela ta lastnost prazno vrednost v rezultatu. Zamenjajte zapis, ko količina ni dobavljena.

Vir podatkov IceCream je bil spremenjen.
UpdateIf(IceCream, true, { Količina: 0 } ) Nastavi vrednost lastnosti Quantity za vse zapise v viru podatkov na 0. Nastavite količino za vse na 0.

Vir podatkov IceCream je bil spremenjen.

Korak za korakom

  1. Uvozite ali ustvarite zbirko Zaloga in jo prikažete v galerij, kot je opisano v temi Prikaz podatkov v galeriji.

  2. Galerijo poimenujte ProductGallery.

  3. Dodajte drsnik UnitsSold in nastavite njegovo lastnost Max na ta izraz:
    ProductGallery.Selected.UnitsInStock

  4. Dodajte gumb in nastavite njegovo lastnost OnSelect na to formulo:
    UpdateIf(Zaloga, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})

  5. 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.