DLookup没有解决

时间:2015-06-30 18:38:19

标签: vba ms-access

我试图使用DLookup函数根据同一记录中的另一个值在表中查找字段值。

[UsesPrm]是要返回的布尔字段。

tZ003_QrySubscription是我正在搜索的表格。

[QryName]是要比较的字段。

qdf.Name是与[QryName]

共同查询的名称

如果[QryName]包含“qryTest1”,并且qdf.Name设置为“qryTest1”,则会收到错误:“运行时错误2001.您取消了上一个操作。”

booTest = DLookup("[UsesPrm]", "tZ003_QrySubscription", "[QryName] = " & qdf.Name)

以下使用文字的代码语句可以完美地运行:

booTest = DLookup("[UsesPrm]", "tZ003_QrySubscription", "[QryName] = 'qryTest1')

可悲的是,这段小代码在一个循环中,其中[QryName]和qdf.Name中的值都随着每次迭代而变化,因此使用文字是不可能的。

如何获取实际名称(qdf.Name)以与包含相同名称的字段字符串值进行比较?

1 个答案:

答案 0 :(得分:1)

添加引号:

booTest = DLookup("[UsesPrm]", "tZ003_QrySubscription", "[QryName] = '" & qdf.Name & "'")

并注意未找到的查找:

booTest = Nz(DLookup("[UsesPrm]", "tZ003_QrySubscription", "[QryName] = '" & qdf.Name & "'"), False)