2017-10-18 151 views
0

我正在尝试使用DCount()函数从我的表中返回一个计数。我的问题是它总是返回一个NULL值。DCount()在VBA中总是返回一个空值

我应该如何重写这个VBA语句,以便返回准确的计数?

ReturnedCount = DCount("CountOfItems", "[__TestTable]", "NameOfItem = " & ItemName) 
Debug.Print ReturnedCount 

回答

1

NameOfItem意味着一个字符串。将参数作为参数传递给D函数时,需要用单引号括起字符串;就像将它们作为查询中的参数传递一样。

ReturnedCount = DCOUNT( “CountOfItems”, “[__TestTable]”, “NameOfItem = '” & ITEMNAME & “'”)

使用即时窗口来测试您的d-功能将简化调试。

enter image description here

+0

这给了我一个编译错误 - 预期的表达式错误 – IcyPopTarts

+0

我错过了一个双引号。 – 2017-10-18 20:27:25

+0

当我单步执行代码时,我使用Debug.Print ReturnedCount它是空的 - 如果它很重要CountOfItems是一个数字,NameOfItem是一个简短文本 – IcyPopTarts

0

你应该使用:

On Error Goto 0 
ReturnedCount = DCount("*", "[__TestTable]", "NameOfItem = '" & ItemName & "'") 

它至少会返回0(零)......如果表和字段名称是正确的。

+0

它仍显示为空 – IcyPopTarts

+0

这是不可能的,除非您有错误处理。删除 - 请参阅编辑。 – Gustav