Dlookup 无论条件如何,都从列表中返回第一个字段

Posted

技术标签:

【中文标题】Dlookup 无论条件如何,都从列表中返回第一个字段【英文标题】:Dlookup Returning the first field from the list regardless of the criteria 【发布时间】:2021-11-23 16:22:01 【问题描述】:

我正在使用带有组合框 (LaborType) 和文本框 (LaborCost1) 的表单我在组合框的更新后事件中有以下代码,无论条件如何,它都会返回相同的值。

[LaborCost1] = DLookup("LaborCost", "LaborTypesAndCost", LaborType = Me.LaborType)

【问题讨论】:

只有在所有 LaborTypes 的 LaborCost 都相同时才会发生这种情况。 该表中当前有两条记录,它们不一样。 【参考方案1】:

如果LaborType 是数字:

DLookup("LaborCost", "LaborTypesAndCost", "LaborType = " & Me.LaborType)

如果LaborType 是文本:

DLookup("LaborCost", "LaborTypesAndCost", "LaborType = '" & Me.LaborType & "'")

【讨论】:

劳动类型是文本,我尝试了发送的代码,无论条件如何,它仍然返回相同的结果。 您确定 AfterUpdate() 事件正在触发吗? 我也在 OnChange 事件上运行了相同的代码,并且得到了相同的结果。所以我相信事件正在触发。 嗯,控件的属性/事件选项卡中的相关事件上应该有[Event Procedure]这个词 - 你检查了吗? 我在其中一个表格中发现拼写错误,您发送的代码现在可以正常工作,感谢您的帮助。

以上是关于Dlookup 无论条件如何,都从列表中返回第一个字段的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用 DLookup 函数返回字符串?

如何使用 Dlookup for Multiple Criteria 创建动态组合框

Microsoft Access - 具有来自不同表的多个条件的 Dlookup

DLookup 多条件运行时错误

DLOOKUP 返回#NAME? IIF 语句中的错误

MS Access使用DLookup的结果循环