我在针对 Excel 电子表格执行 SQL 查询时遇到了问题。我有一个包含约 1 万行和两列的 Excel 2007 电子表格。第一列是 cid,第二列是 company。我想从名为“tab1”的工作表中获取所有 company="spider" 的行。我使用以下代码。它给出了结果,但只能返回前 1400 行。如果在 1400 行之后有 company="spider",以下代码将无法获取它。请求帮助。
请提供您宝贵的意见/解决方案来修复这个问题。如果您需要任何额外的细节,请告诉我。谢谢。
Sub main()
On Error GoTo ErrHandler
Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & ThisWorkbook.FullName & "; Extended Properties=Excel 8.0"
.Open
End With
Set ObjRes = cn.Execute("Select cid,company from [tab1$] where [company]= 'spider'")
result.Range("A:B").Clear
result.Range("A1").CopyFromRecordset ObjRes
cn.Close
Set cn = Nothing
Set ObjRes = Nothing
Exit Sub
ErrHandler:
cn.Close
MsgBox "dataerror"
End Sub
请提供您宝贵的意见/解决方案来修复这个问题。如果您需要任何额外的细节,请告诉我。谢谢。
ThisWorkbook.FullName
返回的文件扩展名是什么? - Kazimierz Jawor提供程序和连接字符串
。 - Kazimierz Jawor