定义具有多个条件的变量

Posted

技术标签:

【中文标题】定义具有多个条件的变量【英文标题】:Defining a variable with multiple criteria 【发布时间】:2018-12-10 15:55:08 【问题描述】:

我正在尝试查找与两个给定条件匹配的变量。请参阅下面的脚本:

Dim usr As String
Dim pafa As String
usr = DLookup("UserID", "tt_CurrentUser")
pafa = DLookup("PassFail", "dbo_TestDetail", [WHERE "dbo_TestDetail.TestIndex" = " & Me!JobLU & " And "dbo_TestDetail.SN" = " & Me!SN & "])

如图所示,pafa 是我遇到问题的变量。

运行时错误“2465”弹出消息“制造测试管理器找不到您的表达式中引用的字段'|1'”。

当我点击调试时,第 4 行被突出显示。当我将鼠标悬停在文本上时," & Me!JobLU & " 和 " & Me!JobLU & " 都是正确的值。

定义这两个标准时我做错了什么?

另外,pafa 将等于“失败”或 Null。

【问题讨论】:

为什么你标记了 SQL server 而不是你的代码编写的语言? 你应该检查 DLookup sintaxis support.office.com/en-us/article/… 【参考方案1】:

为什么要使用 WHERE 和括号?引用也是错误的。在进行连接时,您需要区分需要评估的文字字符串和标识符。试试

"dbo_TestDetail.TestIndex = " & Me!JobLU & " And dbo_TestDetail.SN = " & Me!SN

将鼠标悬停在表达式上并看到正确的评估并不意味着外部表达式编写正确。

【讨论】:

运行时错误“94”:无效使用 Null 请参阅 this 以了解您的数据类型可能发生的变化。

以上是关于定义具有多个条件的变量的主要内容,如果未能解决你的问题,请参考以下文章

随机信号分析学习—多维随机变量与条件随机变量

Interlocked.Exchange() 具有依赖于读取锁定变量的自定义条件

条件变量和信号量的区别

自定义具有多个条件的纯CSS响应菜单

具有多个条件的 if 语句

VBA - 具有多个条件的 SumIf