访问 - 记录集搜索以返回具有 2 个不同条件的字段数

问题描述

我希望在主页上显示一些关键数据……例如,打开 1 天的不符合项、超过 7 天的 7 天……或者昨天应该完成但仍然打开的作业数量等. 等

收效甚微,我正在尝试进行记录集搜索以根据 2 个不同的条件返回一个字段计数......然后我打算合并这两个条件......但我无法得到它工作

一个查询试图计算从现在到 -7 天

vsql = "SELECT count(*) AS FieldCount FROM tblNonConformance WHERE [Date] =" & "[Date] Between #" & Format(Now(),"mm\/dd\/yyyy hh\:nn\:ss") & "# And #" & Format(Now() - 7,"mm\/dd\/yyyy hh\:nn\:ss") & "#"

第二个查询是计算仍然打开的记录数(来自数据库中的是/否字段)

vsql = "SELECT count(*) AS FieldCount FROM tblNonConformance WHERE [NCR Clsd?]=" & False

这两种情况下的 fieldcount 都返回为空 (逻辑是如果我不能让它们单独工作,我就没有希望嵌套它们)

Public Sub Tester124()
Dim vsql As String
Dim rs As Recordset

'Creating a count sql statement for the Date Range
   vsql = "SELECT count(*) AS FieldCount FROM tblNonConformance WHERE [Date] =" & "[Date] Between #" & Format(Now(),"mm\/dd\/yyyy hh\:nn\:ss") & "#"
'Create a count sql statement for the closed status
   'vsql = "SELECT count(*) AS FieldCount FROM tblNonConformance WHERE [NCR Clsd?]=" & False
   
'Set the recordset to variable rs and have it return the query
    Set rs = CurrentDb.OpenRecordset(vsql)

'displaying the results.. i will do more with this when i have a usable result
    With rs
      MsgBox (FieldCount)
      End With
End Sub

当 fieldcount 返回为空时有什么建议吗?

解决方法

不要将日期转换为日期常量。我不确定为什么第二个不起作用,但您可以将两者结合为:

SELECT SUM(IIF([Date] < NOW() AND [Date] >= DATEADD("d",-7,NOW()),1,0)) as cnt1,SUM(IIF([NCR Clsd?],1)) as cnt2
FROM tblNonConformance;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...