本帖最后由 rhzwan123 于 2023-3-19 14:58 编辑
【已知】一个空的excel表,Sheet1工作表中,没有任何数据 【问题描述】使用 SELECT COUNT(*) FROM [Sheet1$] 查询行数时,得到的结果为1 【VBA代码】 - Option Explicit
- Sub Test()
- Dim sData$, I&, iT&
- Dim Cnn As Object, Str_Cnn$, qSQL$
- Set Cnn = CreateObject("Adodb.Connection")
- Select Case Application.Version * 1
- Case Is <= 11
- Str_Cnn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';Data source="
- Case Is >= 12
- Str_Cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=NO;IMEX=1';Data source="
- End Select
- sData = ThisWorkbook.FullName
- Cnn.Open Str_Cnn & sData
- qSQL = "SELECT COUNT(*) FROM [Sheet1$]"
- iT = Cnn.Execute(qSQL).getrows()(0, 0)
- Debug.Print sData, iT
- End Sub
复制代码【扩展问题】如果工作表只有1个字段,且没有任何记录,结果同上,也为1 【求助】不知道为什么会出现这种错误的结果?怎么解决?
|