首页 > 解决方案 > 如何使用 PowerApps 中的库更新多个数据库记录?

问题描述

我有一个在 PowerApps 中制作的审计应用程序,它将 18 个问题的答案保存到数据库中。我有另一个屏幕允许用户编辑这些问题的答案。我可以显示以前的答案并对其进行编辑,但似乎无法更新数据库中的原始记录。它只显示数据库中的原始记录。我的“保存更改”按钮的代码如下...

更新(AuditCollection,First(Filter(AuditCollection,ID=Value(IDGal_1.Text))),{AuditID:IDAuditVar, Question:txtQuestion.Text, Answer:txtComplianceEdit1.Text,Action :txtActionsEdit1.Text,AddToActionPlan:tglActionPlanEdit.Value} );

我还尝试在最后添加 Collect('dbo.auditanswers',AuditCollection) ,但这会存储另外一组 18 个问题,尽管它确实采用了新值。

编辑答案屏幕

标签: gallerypowerapps

解决方案


我在我的一个应用程序中做类似的事情,但我存储了一年中 12 个月的 2 个值而不是问题。

  1. 首先创建图库项目的集合

ClearCollect(colItemsToSave,Gallery3.AllItems);

  1. 然后使用 ForAll 遍历这些项目,然后修补现有记录
ForAll(colItemsToSave,
    Patch('My Data Source',
        {ID: Value(lblItemID.Text)}, //Hidden ID label
        {
             FFActuals:Value(inpActuals.Text),
             FFForecasted:Value(inpForecast.Text)
        }
    )
);

Patch 函数作为 Patch( Datasource , ItemToBePatched , Updates )。

补丁也可用于创建新记录,您是否以这种方式使用它:

Patch(Datasource,Defaults(Datasource),{ Property1:"", Property2:Value(input1.Text) })

推荐阅读