试图弄清楚这里的混乱之处:
Dim Count AS string
Count = DCount("F", "tbl_1", "C = '" & .Acc & "'")
问题出在计数的标准部分,我已经在没有标准的情况下进行了测试,并且效果很好。
有没有人跳出来?
收到的错误:
条件表达式中的数据类型不匹配
**更新** 从那以后,我发现它可以正常工作,但是id仍然想知道为什么我的原始方法不起作用
count = DCount("F", "tbl_1", "C =" & .Acc)
答案 0 :(得分:2)
我仍然想知道为什么我原来的方法不起作用
在您的原始代码中,您使用的是:
DCount("F", "tbl_1", "C = '" & .Acc & "'")
您说过字段C
是整数数据类型,因此,我假设.Acc
也返回一个整数值。
因此,如果.Acc
返回1
,则条件表达式将被评估为:
DCount("F", "tbl_1", "C = '1'")
与以下SQL语句等效:
select count(F) from tbl_1 where C = '1'
由于字段C
是整数数据类型,并且where
子句随字符串提供'1'
,这将导致错误:
条件表达式中的数据类型不匹配。
在修订后的代码中,DCount
表达式的计算方式为:
DCount("F", "tbl_1", "C = 1")
与SQL语句等效,例如:
select count(F) from tbl_1 where C = 1
在C
子句中为字段where
正确地提供一个整数值。