多查询-检查唯一值

时间:2019-06-18 17:15:50

标签: sharepoint powerapps

我正在尝试在PowerApp表单中设置唯一值。数据存储在Sharepoint列表中。我有一列称为watches,此列中的项目具有唯一编号,该编号必须唯一。人们可以在LookUp字段中选择其中的多个手表。但是在提交表单之前,我需要检查那些选择的值是否已经存在于我的列表中,并且至少显示一条错误消息。

我已经设置了一个常规文本字段,并向其添加了以下规则:

If(LookUp(MyList.Watches;DataCardValue4.SelectedItems.Value in Watches;"OK")<>"OK";"No Error";"Watch already exist")

DataCardValue4是我的LookUp字段,人们可以在其中选择这些手表。使用此规则,我想检查列中是否已有项目,并让我的文本字段显示错误。该规则以某种方式不起作用。

您能告诉我如何将多个查找选项与表/列条目进行比较吗?

1 个答案:

答案 0 :(得分:0)

LookUp函数的第一个参数应该是表(SharePoint列表)而不是列。因此,第一个参数应该是“ MyList ”,而不是“ MyList.Watches”。另外,我不确定所提供的公式(LookUp的第二个参数)是否可以使用。在您的公式中,您将在多个项目(监视)中寻找多个项目(DataCardValue4.SelectedItems.Value)。也许您可以更新您的应用,让用户在提交前仅选择一个手表值?

最后一件事要注意。我不确定您希望SharePoint列表有多大,但是我强烈建议您将LookUp公式限制在支持delegation的范围内。更具体地说,SharePoint具有与其他连接器不同的公式要求。例如,您可以在公式中使用“ =”,但不能使用“ in”。

您的新规则可能如下所示。请注意,它可能存在语法错误,而且由于我没有提供规则检查,因此以当前的形式可能甚至不可信。另外,我从使用LookUp切换为使用Filter,只是因为我对Filter更加熟悉。但是,这两个功能非常相似。

If(CountRows(Filter(MyList; DataCardValue4.Selected.Value = Watches)) > 0; "Watch already exist"; "No Error")