我有一个带有数字字段的交叉表值的交叉表,其值为1,2,3,4,5。
这会导致查询字段名称看起来是数字的:即" 1"," 2"," 3"," 4&#34 ;," 5"。
但是,当我对此查询执行Dlookup时,例如:
x1 = DLookup("1", "aQuery", "SampleCode ='" & SampleCode & "'")
x2 = DLookup("2", "aQuery", "SampleCode ='" & SampleCode & "'")
x3 = DLookup("3", "aQuery", "SampleCode ='" & SampleCode & "'")
x4 = DLookup("4", "aQuery", "SampleCode ='" & SampleCode & "'")
x5 = DLookup("5", "aQuery", "SampleCode ='" & SampleCode & "'")
我只返回1,2,3,4和5,而不是字段中的值。即使我这样做也会发生这种情况:
x1 = dlookup(1,"aQuery",...)
有什么想法吗?感谢
答案 0 :(得分:3)
你的DLookup
x1 = DLookup("1", "aQuery", "SampleCode ='" & SampleCode & "'")
将您编写的内容解释为从对象aQuery中查找值 1的命令。结果将始终是您在第一个参数中提供的值。
为避免歧义,请使用方括号指定字段名称(仍然用引号括起整个内容,以便将其作为字符串提供给Dlookup)。
x1 = DLookup("[1]", "aQuery", "SampleCode ='" & SampleCode & "'")
或更好:
x1 = DLookup("[1]", "aQuery", "[SampleCode] ='" & [SampleCode] & "'")
括号并不总是必要的,但包含它们永远不会产生问题,所以在使用Access时这是一个很好的习惯。