PowerApps - "is this value in or not in an existing Microsoft List?"

PowerApps - "is this value in or not in an existing Microsoft List?"

我对此一头雾水

我的目标是创建一个序列,基本上说“如果您在此 Microsoft 列表中找不到合适的记录,则创建一个新记录并继续。”

这是让我烦恼的代码部分(甚至 这个 只是一个测试,看看我是否已经创建了正确的条件——我显然失败了):

          ForAll(ScanDataCollection,
              Notify(LookUp('Spiderfood - Loaner Pool', Tag_Number = Result, Tag_Number));
              If(IsEmpty(LookUp('Spiderfood - Loaner Pool', Tag_Number = Result, Tag_Number)), Notify("not found"))
            ); // ForAll(ScanDataCollection,

[Notify] 命令是我尝试询问“当我给它提供不同的值时会发生什么”的尝试。当我给它一个值 xx 出现在 Tag_Value 列中 'Spiderfood - Loaner Pool',然后它会正确地踢出相同的值。如果我给它输入一个没有出现的 x,那么 Notify window 就会显示为空白。这似乎有效,但是,但是...

...当我尝试设置某种条件时,代码似乎 运行 没有错误,但它不会通知我任何事情,无论是否 x 是否在列表中。

我一直在想,我在这行中一定遗漏了一些非常明显的东西:

If(IsEmpty(LookUp('Spiderfood - Loaner Pool', Tag_Number = Result, Tag_Number)), Notify("not found"))

我任由你摆布。

更新 1:

下一行总是生成“未找到”值,即使我已确认该值在列表中也是如此:

If(IsEmpty(LookUp('Spiderfood - Loaner Pool', Tag_Number = Result)), Notify("Found item: " & Result), Notify("Did not find item: " & Result));

更新二:

下一行似乎对输入产生了正确的响应,但 PowerApps 标记了这一行并声明“此连接器不支持 CountRows 操作”(如果是这样,我可以信任它吗?!):

If(CountRows(Filter('Spiderfood - Loaner Pool', Tag_Number = Result)) > 0, Notify("Found item: " & Result), Notify("Did not find item: " & Result));

好的,搞定了。不得不调整一些脑细胞来做到这一点,但这里是代码,功能齐全,并且使用了正确的功能:

          ForAll(ScanDataCollection,
            If(IsBlank(LookUp('Spiderfood - Loaner Pool', Tag_Number = Result, Tag_Number)),
                 Notify("Previously unrecorded Loaner Kit item addded to Library.");
                 Collect('Spiderfood - Loaner Pool', {
                   Title: Text(Today()),
                   Tag_Number: TrimEnds(Result),
                   Last_Touched_Location: DD_Location.SelectedText.Value,
                   Last_Touched_Time: TransactionTimestamp_Value
                 });
              ); // If(IsBlank...
            ); // ForAll(ScanDataCollection,