Multi LookUp - проверка уникальных значений - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь установить уникальные значения в моей форме PowerApp.Данные хранятся в списке Sharepoint.У меня есть столбец с именем watches, элементы в этом столбце имеют уникальный номер, который должен быть уникальным.Люди могут выбрать несколько таких часов в поле LookUp.Но перед отправкой формы мне нужно проверить, существуют ли уже выбранные значения в моем списке, и, по крайней мере, отобразить сообщение об ошибке.

Я установил обычное текстовое поле и добавил к нему следующее правило:

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

DataCardValue4 - это мое поле LookUp, где люди могут выбирать эти часы.С помощью этого правила я хочу проверить, просматривает ли уже элемент в моем столбце, и позволить моему текстовому полю отображать ошибку.Как-то правило не работает.

Можете ли вы сказать мне, как я сравниваю несколько вариантов поиска с записями в моей таблице / столбце?

1 Ответ

0 голосов
/ 18 июня 2019

Первым параметром функции LookUp должна быть таблица (список SharePoint), а не столбец. Таким образом, первый параметр должен быть « MyList », а не «MyList.Watches». Кроме того, я не уверен, что приведенная формула (второй параметр LookUp) будет работать. В вашей формуле вы будете искать несколько элементов (DataCardValue4.SelectedItems.Value) в нескольких элементах (часы). Возможно, вы можете обновить свое приложение, чтобы пользователи выбирали только одно значение для просмотра перед отправкой?

Последнее, что нужно отметить. Я не уверен, насколько большой вы ожидаете получить свой список SharePoint, но я бы настоятельно рекомендовал, чтобы ваша формула LookUp не выходила за пределы, чтобы поддерживать делегирование . В частности, SharePoint имеет другие требования к формуле, чем другие соединители. Например, вы можете использовать «=» в своей формуле, но не «in».

Ваше новое правило может выглядеть примерно так: Обратите внимание, что он может иметь синтаксические ошибки и даже не может быть делегирован в его текущей форме, так как я предоставляю правило без проверки. Кроме того, я переключился с использования LookUp на использование Filter вместо этого просто потому, что я более знаком с Filter. Однако обе функции очень похожи.

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