Excel SQL 查询 - (somefield) 为空的位置 - 无法正常工作

Excel SQL Query - Where (somefield) is null - not working correctly

Excel SQL 查询 where 子句有点麻烦。

excel 中我的 sheet 中的数据(据我所知)是空的,单元格中没有值和格式等。 我正在尝试 运行 来自 Outlook 的以下查询(在 VBA 中)。

strQuery = "Select Count(ReviewDate) as UnassignedCount FROM [PatComDB$]
Where ReviewDate is null "

但查询返回 0。

我搜索了一些解决方案并尝试了以下方法。

strQuery = "Select Count(ReviewDate) as UnassignedCount FROM [PatComDB$]
Where IIF(ReviewDate is null,0,ReviewDate) "

(其中 returns 7 - 非空字段的计数)

而且运气不好。

我的连接子句如下(如果有用的话)

Set Con = New ADODB.Connection
With Con
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Data Source=<some link>;" & _
        "Extended Properties=Excel 8.0;"
    .Open
End With

我的 sheet 看起来像这样

IdeaID      RPA     Type        SubDate     ReviewDate

IdeaID1     RPA1234 Existing    01/01/2015  
IdeaID2     RPA1235 New         02/01/2015  
IdeaID3     RPA1236 Existing    03/01/2015  
IdeaID4     RPA0001 New         04/01/2015  01/09/2015
IdeaID5     RPA0001 New         05/01/2015  02/09/2015
IdeaID6     RPA0001 New         06/01/2015  07/09/2015
IdeaID7     RPA0001 New         07/01/2015  07/09/2015
IdeaID8     RPA0001 New         08/01/2015  07/09/2015
IdeaID9     RPA0001 New         09/01/2015  07/09/2015
IdeaID10    RPA0001 New         10/01/2015  07/09/2015

有没有人知道我可能哪里出错了,可能是我的查询还是我 sheet 中的数据?

注意:不幸的是,我在软件方面仅限于 Outlook 和 Excel。

提前致谢。

编辑:

忘记提及 运行在同一数据集上执行以下查询 returns NULL

strQuery = "Select * FROM [PatComDB$] Where Index = 1"
rsARR = rs.GetRows
Debug.Print (rsARR(6, 0))

我只是猜测试试这个:

strQuery = "Select Count(IIF(ReviewDate is null,0,ReviewDate)) as UnassignedCount FROM [PatComDB$] Where  ReviewDate = 0"

由于上面的方法不起作用,所以我在访问数据库中使用了这个,因为有时数据不为空,而是空白。

 strQuery = "Select Count(ReviewDate) as UnassignedCount FROM [PatComDB$] 
 Where ReviewDate is Null Or " & Char(34) & Char(34)

不确定它是否适用于 excel 查询。值得一试

在多次尝试代码变体后,我自己找到了答案。

我必须将计数列更改为包含数据的列才能正常工作(在这种情况下,我使用了永远不会为空的索引字段)使用的代码如下。

strQuery = "Select Count(Index) as UnassignedCount FROM [PatComDB$] 
Where ReviewDate = Null OR ReviewDate = 0 OR ReviewDate is null"

我使用了此处答案中的一些建议以及我的研究中的其他答案,以确保我捕获了空单元格的所有可能性(我认为)。