在Excel SQL Query where子句中遇到一些麻烦。
excel中我的工作表中的数据(据我所见)是空的,单元格中没有值和格式等。 我试图从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) "
(返回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
我的表格看起来像这样
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
有没有人有任何想法我可能会出错,无论是我的查询还是我的工作表中的数据?
注意:遗憾的是,我在软件方面仅限于Outlook和Excel。
提前致谢。
修改
忘记提及在同一数据集上运行以下查询返回NULL
strQuery = "Select * FROM [PatComDB$] Where Index = 1"
rsARR = rs.GetRows
Debug.Print (rsARR(6, 0))
答案 0 :(得分:1)
我猜这里试试这个:
strQuery = "Select Count(IIF(ReviewDate is null,0,ReviewDate)) as UnassignedCount FROM [PatComDB$] Where ReviewDate = 0"
由于上面没有用,试试这个我在访问数据库中使用过这个,因为有时候数据不是null,而是空白。
strQuery = "Select Count(ReviewDate) as UnassignedCount FROM [PatComDB$]
Where ReviewDate is Null Or " & Char(34) & Char(34)
不确定它是否适用于Excel查询。值得一试
答案 1 :(得分:1)
在对代码变体进行多次尝试之后,我自己想出了答案。
我不得不将count列更改为包含数据的列以使其正常工作(在这种情况下,我使用了永远不会为空的Index字段)使用的代码如下。
public extension UIViewController
{
func makeLogOutAlert()
{
var refreshAlert = UIAlertController(title: "Log Out", message: "Are You Sure to Log Out ? ", preferredStyle: UIAlertControllerStyle.Alert)
refreshAlert.addAction(UIAlertAction(title: "Confirm", style: .Default, handler: { (action: UIAlertAction!) in
self.navigationController?.popToRootViewControllerAnimated(true)
}))
refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Default, handler: { (action: UIAlertAction!) in
refreshAlert .dismissViewControllerAnimated(true, completion: nil)
}))
presentViewController(refreshAlert, animated: true, completion: nil)
}
}
我从这里的答案中得到了一些建议,并从我的研究中得到了其他答案,以确保我捕捉到空单元格的每一个可能性(我认为)。