提交按钮会覆盖PowerApps的excel表中以前填充的行吗?

问题描述

我正在创建一个表单,最终用户可以通过单击“提交”按钮来提交其表单条目。此任务的数据源是Excel表。我创建了2个屏幕。[请参见下面的更多更新]

屏幕1 在“库”窗体中包含许多系统(Sys1,Sys2,Sys3 ...)的摘要。当最终用户单击一个选项卡(说“ Sys1”)时,它将带他们到新屏幕(其中包含Sys1详细信息),最终用户可以通过查看摘要屏幕来进行注册。我在屏幕底部添加了“注册”按钮,该按钮导航到屏幕2。

屏幕2 包含编辑表单,最终用户可以在其中注册系统。我还想使用屏幕1中的一些值(说系统1 ID,型号#等)。因此,对于这些项目,我将其“项目”属性设置为gallery.Selected,并禁用了这些字段,因此最终用户无法编辑这些字段。需要最终用户输入的字段为“文本框”形式,例如“注册方式”,“注册时间”等。我在屏幕底部有“提交”按钮。因此最终用户可以提交表单。提交按钮的“ OnSelect”属性设置为SubmitForm(Form1)

我在上述过程中遇到两个问题

  1. 用户单击“提交”按钮时,Excel表中的上一个条目将被覆盖。我也想保存以前的条目
  2. 重新打开Screen2时,以前的所有条目都不清楚

在Arun评论后更新

Arun为创建和更新建议的代码不是我想要的。创建代码在Excel表中追加两个新行。更新代码删除最后分配的值。我正在Powerapps中寻找一种方法,其中PowerApps代码将首先在以下情况下找到“ Sys1”行,并将该行更新为“ User1”和“ Mod1”。假设“ User1”想要为“ Sys1”行添加一个模型,它将附加在Excel表的底部,如图2所示。图2是我想要的输出。图1是我的初始Excel表。

图1初始Excel表(数据源)

enter image description here

图2:预期输出

enter image description here

解决方法

您应该使用Patch而不是SubmitForm(Form1)来写入/附加到excel文件。

用于创建:

Patch(ExcelSource,Defaults(ExcelSource),{NameColumn: TextInput.Text,SurveyResultColumn: Value})

有关更新:

Patch(ExcelSource,LookUp(ExcelSource,NameColumn=TextInput.Text),SurveyResultColumn: Value})

Read more

修改

请用您的控件名称和值替换,我尝试了最好的假设:)

If(CountRows(Filter(Table1,System=SystemControl.Text && Model=""))>0,Patch(Table1,LookUp(Table1,System=SystemControl.Text && Model=""),{Model: DatacardValue10.Text,UserName: UserControl.Text}),Defaults(Table1),{System:SystemControl.Text,Model: DatacardValue10.Text,UserName: UserControl.Text}))

Reference

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...