Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Tuval uygulamaları
Model temelli uygulamalar
Veri kaynağındakikayıtları güncelleştirir.
Description
Update fonksiyon
bir veri kaynağındaki kaydın Update tamamını değiştirmek için işlevini kullanın. Buna karşılık, UpdateIf ve Patch işlevleri bir kayıttaki bir veya daha fazla değeri değiştirerek diğer değerleri tek başına bırakır.
Koleksiyon söz konusu olduğunda değerin tamamı eşleşmelidir. Koleksiyonlar yinelenen kayıtlara olanak sağladığından birden çok kayıt eşleşmesi oluşabilir. Bir kaydın tüm kopyalarını güncelleştirmek için RemoveFlags.All bağımsız değişkenini kullanabilirsiniz. Aksi takdirde, kaydın yalnızca bir kopyası güncelleştirilir.
Veri kaynağı bir sütun değerini otomatik olarak oluşturursa bu sütunun değeri yeniden doğrulanmalıdır.
UpdateIf fonksiyon
UpdateIf Bir veya daha fazla koşulla eşleşen bir veya daha fazla kayıttaki bir veya daha fazla değeri değiştirmek için işlevini kullanın. Koşul, doğru veya yanlış ile sonuçlanan herhangi bir formül olabilir ve ada göre veri kaynağının sütunlarına başvurabilir. İşlev, her bir kayıt için koşulu değerlendirir ve sonucu doğru olan tüm kayıtları değiştirir.
Değişiklik belirtmek için yeni özellik değerlerini içeren değişiklik kaydı kullanın. Bu değişiklik kaydını küme ayracı ile satır içinde verirseniz özellik formülleri değiştirilen kaydın özelliklerine başvurabilir. Bu davranışı, kayıtları formüle göre değiştirmek için kullanabilirsiniz.
benzer şekildeUpdateIf, patch işlevini kullanarak kaydın belirli sütunlarını diğer sütunları etkilemeden değiştirebilirsiniz.
Hem hem de Update değiştirilen veri kaynağını tablo olarak döndürür.UpdateIf Davranış formülünde işlevlerden birini kullanmanız gerekir.
Temsilci
Bu işlevler bir veri kaynağına temsilci seçmez. Ancak RemoveIf, UpdateIf 500/2000 kayıt sınırına kadar temsilci benzetimi yapmak için yerel olarak çalışır. Kayıtları aşamalı olarak temsilci olmayan 500/2000 kayıt sınırının ötesine getirirler. If koşuluna uyan kayıtlar toplanır. Genellikle, en fazla 500/2000 kayıt ayrı ayrı toplanır ve yürütme başına değiştirilir. Ancak, işlevin değerlendirme için daha fazla kayda erişimi olabileceğinden, mevcut yerel veri önbelleği büyükse daha fazla kayıt güncelleştirilebilir. Veri kaynağının yalnızca ilk bölümü alınır ve ardından işlev uygulanır. Bu, resmin tamamını temsil etmeyebilir. Yazma sırasında size bu sınırlamayı anımsatacak bir uyarı görünebilir.
Sözdizimi
Update(DataSource_, OldRecord, NewRecord [, RemoveFlags.All ] )
- DataSource: Gerekli. Değiştirmek istediğiniz kaydı içeren veri kaynağı.
- OldRecord: Gerekli. Değiştirilecek kayıt.
- NewRecord: Gerekli. Yenileme kaydı. Bu bir değişiklik kaydı değildir. Kaydın tamamı değiştirilir ve eksik özellikler boş olur.
- RemoveFlags.All: İsteğe bağlı. Koleksiyondaki aynı kayıt birden fazla kez görünebilir. Kaydın tüm kopyalarını güncellemek için RemoveFlags.All bağımsız değişkenini belirtin.
UpdateIf(DataSource_, Condition1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )
- DataSource: Gerekli. Değiştirmek istediğiniz kaydı veya kayıtları içeren veri kaynağı.
- Koşullar – Gerekli. Değiştirmek istediğiniz kayıt veya kayıtlar için doğru değerini döndüren bir formül. Formülde DataSource sütun adlarını kullanabilirsiniz. Birden çok Koşul geçirilirse, yalnızca true olarak değerlendirilen ilk Koşulla ilgili DeğişiklikKayıt uygulanır.
- ChangeRecord'lar: Gerekli. Karşılık gelen her koşul için koşulu karşılayan DataSource kayıtlarına uygulanacak yeni özellik değerlerinin değişiklik kaydı. Kaydı küme ayracı kullanarak satır içinde verirseniz mevcut kaydın özellik değerleri, özellik formüllerinde kullanılabilir.
Örnekler
Bu örneklerde, IceCream adlı veri kaynağındaki kayıtları ve bu tablodaki verilerle başlayanları değiştireceksiniz:
| Formül | Description | Sonuç |
|---|---|---|
|
Update( IceCream, LookUp( IceCream, Flavor="Chocolate" ), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } ) |
Veri kaynağında bir kaydı değiştirir. |
IceCream veri kaynağı değiştirildi. |
| UpdateIf( IceCream, Quantity > 175, { Quantity: Quantity + 10 } ) | 175'den daha büyük Miktar değeri olan kayıtları değiştirir. Miktar alanı 10 artırılır ve diğer alanlar değiştirilmez. |
IceCream veri kaynağı değiştirildi. |
|
Update( IceCream, LookUp( IceCream, Flavor="Strawberry" ), { Id: 3, Flavor: "Strawberry Swirl"} ) |
Veri kaynağında bir kaydı değiştirir. Quantity özelliği, değiştirme kaydında sağlanmaz. Bu nedenle, özellik sonuçta boş değer döndürür. |
IceCream veri kaynağı değiştirildi. |
| UpdateIf( IceCream, true, { Quantity: 0 } ) | Veri kaynağındaki tüm kayıtlar için Quantity özelliğini 0 olarak ayarlar. |
IceCream veri kaynağı değiştirildi. |
Adım adım
Stok adlı bir koleksiyon oluşturun ve Galeride veri gösterme bölümünde açıklandığı gibi bu koleksiyonu galeride gösterin.
Galeriyi ProductGallery olarak adlandırın.
UnitsSold adlı bir kaydırıcı ekleyin ve kaydırıcının Max özelliğini şu ifade olarak ayarlayın:
ProductGallery.Selected.UnitsInStockBir düğme ekleyin ve düğmenin OnSelect özelliğini şu formül olarak ayarlayın:
UpdateIf(Inventory, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})F5 tuşuna basın, galeride bir ürün seçin, kaydırıcı ile bir değer belirtin ve ardından düğmeyi seçin.
Belirttiğiniz ürün için stoktaki birim sayısı, belirttiğiniz miktar kadar azalır.