使用 DCOUNT 回归基础

Back to basics with DCOUNT

正在尝试找出哪里出了问题:

Dim Count AS string
Count = DCount("F", "tbl_1", "C = '" & .Acc & "'")

问题出在计数的标准部分,我在没有标准的情况下进行了测试,它工作正常。

大家有什么想说的吗?

收到的错误:

Data Type mismatch in criteria expression

** 更新 ** 我已经发现这个工作正常,但我仍然想知道为什么我原来的方法不起作用

count = DCount("F", "tbl_1", "C =" & .Acc)

I'd still like to know why my original method didn't work

在您的原始代码中,您使用的是:

DCount("F", "tbl_1", "C = '" & .Acc & "'")

您声明字段 C 整数 数据类型,因此我假设 .Acc 也是 return 一个整数值。

因此,如果 .Acc 是 return 1,条件表达式将计算为:

DCount("F", "tbl_1", "C = '1'")

这等同于以下 SQL 语句:

select count(F) from tbl_1 where C = '1'

因为字段 Cinteger 数据类型,并且 where 子句由 string '1',这将导致错误:

Data Type mismatch in criteria expression.


在修订后的代码中,DCount 表达式的计算结果为:

DCount("F", "tbl_1", "C = 1")

相当于 SQL 语句,例如:

select count(F) from tbl_1 where C = 1

where 子句中正确地为字段 C 提供 整数 值。