2

我在 Microsoft Access 2010 中有两个单独运行良好的命令:

=DCount("*","Order","DATE = #" & [Forms]![formOrder]![DATE] & "#")

=DCount("*","Order", "STATUS = 'ST." & [Forms]![formOrder]![StatusType] & "'")

但是,当组合它们时,它不起作用:

 =DCount("*","Order","DATE = #" & [Forms]![formOrder]![DATE] & "#" AND "STATUS = 'ST." & [Forms]![formOrder]![StatusType] & "'" )

任何解释和可能的解决方法将不胜感激?

4

2 回答 2

0

你有太多的双引号:

=DCount("*","Order","DATE = #" & [Forms]![formOrder]![DATE] & "# AND STATUS = 'ST." & [Forms]![formOrder]![StatusType] & "'" )

我删除了第二个哈希标记之后的一个,以及 Status 一词前面的一个。

本质上,DCount 函数的第三部分是一个没有单词“WHERE”的 SQL WHERE 子句,您必须遵循与标准 SQL 相同的语法和结构规则。

于 2014-07-14T19:11:54.593 回答
0

域聚合函数的第三个参数 likeDCount()是一个字符串,它本质上是没有关键字WHERE的 SQL 语句的子句。WHERE在尝试组合您的标准时,您试图将AND两个字符串组合在一起,这是无效的。也就是说,您的条件参数是

"Condition1" AND "Condition2"

这是行不通的。相反,您需要AND

"Condition1 AND Condition2"

换句话说,而不是

"Field1 = value1" AND "Field2 = value2"

你需要使用

"Field1 = value1 AND Field2 = value2"
于 2014-07-14T19:13:10.170 回答