Ms access 在Access2007中使用Dlookup函数时出错

Ms access 在Access2007中使用Dlookup函数时出错,ms-access,ms-access-2007,vba,Ms Access,Ms Access 2007,Vba,我在Access2007的一份报告中使用了以下Dlookup函数;该函数始终返回查询的第一条记录,即使我更改了条件。代码如下: =DLookUp("Result","Query1","[Date_Registered] = # " & "2011/02/01#" And "[Department] =" & 'IT') 根据上述条件,返回的值应该在记录#4中,但始终返回查询的第一条记录的值。请帮忙。 谢谢,您提供的DLookup标准不是有效的VBA字符串。如果您将其中断

我在Access2007的一份报告中使用了以下Dlookup函数;该函数始终返回查询的第一条记录,即使我更改了条件。代码如下:

    =DLookUp("Result","Query1","[Date_Registered] = # " & "2011/02/01#" And "[Department] =" & 'IT')
根据上述条件,返回的值应该在记录#4中,但始终返回查询的第一条记录的值。请帮忙。
谢谢,

您提供的DLookup标准不是有效的VBA字符串。如果您将其中断,并将其提供给Debug.Print,则会触发编译错误:

Debug.Print "[Date_Registered] = # " & "2011/02/01#" And "[Department] =" & 'IT'
我认为您应该构建字符串并将其加载到变量中,然后进行调试。打印变量,最后将变量作为第三个(标准)参数传递给DLookup。我不知道日期字符串和“IT”来自何处,但这应该为您指明了正确的方向:

Dim strCriteria As String
strCriteria = "[Date_Registered] = #" & "2011/02/01" & _
    "# AND [Department] =" & "'IT'"
Debug.Print strCriteria
Debug.Print DLookup("Result", "Query1", strCriteria)
该代码片段中的第一个Debug.Print语句将把它打印到即时窗口:

[Date_Registered] = #2011/02/01# AND [Department] ='IT'