数据存在时,DLookup Access返回NULL

时间:2019-01-21 05:32:16

标签: vba ms-access null dlookup

我当前正在尝试使用MSAccess表中存在的值填充变量。在表“ tblTrimLinks”中获取工程图编号,其中该工程图编号的相应模型字段等于屏幕上当前的模型值。

表可以在这里看到-
tblTrimLinks

installedModelTrim = DLookup("[Drawing_Number]", "tblTrimLinks", "[Model] = '" & [Forms]![frmPressureSwitch]![Model] & "'")

使用DLookup时,即使存在数据,使用变量值时它也会返回NULL。在调试模式下将鼠标悬停在[Forms]![frmPressureSwitch]![Model]上时,我可以看到它已成功识别了屏幕上当前的变量值(模型)。看到这里-
Debug Hover Results

但是它不会使用与该模型相对应的图形编号填充“ installedModelTrim”-如上所述,它为NULL。

但是,如果我按如下所示放置模型的确切值,它将成功地用相应的图纸编号值填充“ installedModelTrim”

installedModelTrim = DLookup("[Drawing_Number]", "tblTrimLinks", "[Model] = '" & "DANFOSS RT260A" & "'")

我不确定为什么它会以一种方式起作用,但不能以另一种方式起作用,当条件是可变值时,我需要它起作用。我尝试将变量设置为字符串和变体,但得到的结果相同。我已经确保表中的数据类型也是文本。我尝试了在不同论坛中建议的多种解决方案,但似乎得到了相同的结果。

任何帮助将不胜感激。

Dim installedModelTrim As Variant
Dim equivalentModelTrim As Variant

installedModelTrim = DLookup("[Drawing_Number]", "tblTrimLinks", "[Model] = '" & [Forms]![frmPressureSwitch]![Model] & "'")

MsgBox (installedModelTrim) 'Debugging: Only showing msgbox to see value

0 个答案:

没有答案