Forms “提交”按钮是否覆盖PowerApps中excel表格中以前填充的行?
我正在创建一个表单,最终用户可以通过单击“提交”按钮提交表单条目。此任务的数据源是Excel表格。我创建了两个屏幕。[更多更新见下文] 屏幕1以图库形式包含许多系统(Sys1、Sys2、Sys3…)的摘要。当最终用户单击其中一个选项卡(比如“Sys1”)时,它会将他们带到新屏幕(其中包含Sys1详细信息),最终用户可以通过查看摘要屏幕注册。我在屏幕底部添加了“注册”按钮,可以导航到屏幕2 屏幕2包含最终用户可以注册系统的编辑表单。我还想使用屏幕1中的一些值(比如System 1 ID、Model#等)。因此,对于这些项目,我将其“项目”属性设置为Forms “提交”按钮是否覆盖PowerApps中excel表格中以前填充的行?,forms,powerapps,powerapps-formula,powerapps-canvas,powerapps-selected-items,Forms,Powerapps,Powerapps Formula,Powerapps Canvas,Powerapps Selected Items,我正在创建一个表单,最终用户可以通过单击“提交”按钮提交表单条目。此任务的数据源是Excel表格。我创建了两个屏幕。[更多更新见下文] 屏幕1以图库形式包含许多系统(Sys1、Sys2、Sys3…)的摘要。当最终用户单击其中一个选项卡(比如“Sys1”)时,它会将他们带到新屏幕(其中包含Sys1详细信息),最终用户可以通过查看摘要屏幕注册。我在屏幕底部添加了“注册”按钮,可以导航到屏幕2 屏幕2包含最终用户可以注册系统的编辑表单。我还想使用屏幕1中的一些值(比如System 1 ID、Model
Gallery.Selected
,并禁用这些字段,以便最终用户无法编辑这些字段。需要最终用户输入的字段以“文本框”形式显示,如“注册人”、“注册时间”等。我在屏幕底部有“提交”按钮。因此最终用户可以提交表单。提交按钮的“OnSelect”属性设置为SubmitForm(Form1)
我对上述流程有两个问题
Powerapps
中寻找一种方法,其中Powerapps
code将首先在下面的“Sys1”中找到该行,并将该行更新为列的“User1”和“Mod1”。假设“User1”想要为“Sys1”行添加另一个模型,它将附加在Excel表的底部,如图2所示。图2是我想要的输出。图1是我的初始Excel表
图1初始Excel表格(数据源)
图2:预期产出
您应该使用写入/附加到excel文件,而不是提交表单(Form1)
对于创建:
Patch(ExcelSource,
Defaults(ExcelSource),
{NameColumn: TextInput.Text, SurveyResultColumn: Value})
更新内容:
Patch(ExcelSource,
LookUp(ExcelSource, NameColumn=TextInput.Text),
{NameColumn: TextInput.Text, SurveyResultColumn: Value})
编辑:
请替换为您的控件名称和值,我尝试了我最好的假设:)
谢谢您的回复!我尝试了上面的代码,由于某种原因,我得到了一个错误,它说“一个名为“Pr”的字段在这个记录中被多次指定”。我尝试的代码是补丁(表1,LookUp(表1,Pr=DatacardValue10.Text),{Pr:DatacardValue10.Text,Pr:DatacardValue10})。这里Pr=列名。有什么建议我的上述代码有什么问题吗?提前谢谢@biggboss2019试试这个:
补丁(表1,查找(表1,Pr=DatacardValue10.Text),{Pr:DatacardValue10.Text})
。你有公关:这是作业两次:)谢谢!好像在点击提交按钮。我无法在excel中保存我的条目。DatacardValue10的默认值设置为“”。有什么建议吗?@biggbos2019是的,正确。尝试编码一些值并首先查看。此外,我认为我的问题被误解了。我要查找的是第一个PowerApp表单将找到包含“系统”行的行。说出“Sys1”并用模型信息更新该行。下次当用户再次选择“Sys1”时,用户输入的信息将追加到新行中。因此,您需要的是“if,else”块,如果已经有条目-补丁更新,else补丁创建,如我的回答所示:)@ArunVinoth..我也在想同样的问题,但不确定如何编写它?如果可能,您能在这方面提供帮助吗?提前谢谢!)更新了我的答案,我还没有测试过。请verify@ArunVinoth谢谢你更新答案。每次我运行编辑的代码时,只执行Else条件(“创建”代码)。不确定问题出在哪里?很遗憾,现在编辑的代码只运行FALSE condition(创建)condition:(将尝试检查您的参考资料。
If(CountRows(Filter(Table1, System=SystemControl.Text && Model=""))>0,
Patch(Table1,LookUp(Table1, System=SystemControl.Text && Model=""), {Model: DatacardValue10.Text, UserName: UserControl.Text}),
Patch(Table1,Defaults(Table1),{System:SystemControl.Text, Model: DatacardValue10.Text, UserName: UserControl.Text}))