0

我在链接到 SQL 2005 表的 Access 2007 数据库中遇到了 DCount 问题。

tblPART_CandD_MASTER如果表“ ”是本地的,则以下代码可以正常工作

DCount("*", "tblPART_CandD_MASTER", ("[InvalidContract] =0 and [MissingContract] =0  and DateTimeSubmittedtoDB = #" & Me.txtDateTime & "#"))

我已将所有本地表移至 SQL 2005 服务器。现在,上面的代码每次都返回零。

如果我以以下方式分解代码,它也可以工作:

DCount("*", "tblPART_CandD_MASTER", ("[InvalidContract] =0 and [MissingContract] =0"))

DCount("*", "tblPART_CandD_MASTER", ("DateTimeSubmittedtoDB = #" & Me.txtDateTime & "#"))

由于上述两行代码有效,我对为什么这不起作用感到沮丧:

DCount("*", "tblPART_CandD_MASTER", ("[InvalidContract] =0 and [MissingContract] =0  and DateTimeSubmittedtoDB = #" & Me.txtDateTime & "#"))
4

2 回答 2

0

我发现通过一些摆弄这是可行的:

=DCount("*","dbo_tblPART_CandD_MASTER",("InvalidContract=false And MissingContract=false And  DateTimeSubmittedtoDB=#" & [DateTimeSubmittedtoDB] & "#"))

对我来说,困难在于位数据类型在 MS Access 中显示为 False,即使 SQL Server 中的值为 Null。有办法解决这个问题。我通过在 SQL Server 中运行发现了问题:

select count(*) 
from tblPART_CandD_MASTER 
where MissingContract=0 
and InvalidContract=0 
and DateTimeSubmittedtoDB={d '2012-09-21'}
于 2012-09-13T17:08:58.513 回答
0

我创建了一个非优雅的解决方案。我将 SQL 表中的相关数据提取到本地访问表中,然后在本地表上执行 DCount 操作。宁愿不这样做,但我需要把这个问题抛在脑后。非常感谢大家的意见。

于 2012-09-19T17:53:02.020 回答