Excel VBA SQL。可以查询的行或记录集内容是否有限制?

时间:2016-06-08 08:00:32

标签: excel excel-vba vba

我在Windows 7 Excel 2016中使用VBA来使用SQL查询Excel表。包含数据的工作表有超过200,000行。

我正在使用ActiveX Data Objects 6.1库。这是代码:

    Private Sub TestADO()

    Dim objConnection As ADODB.Connection
    Dim objRecordset As ADODB.Recordset
    Dim strCon As String
    Dim strSQL As String
    Dim strPath As String
    Dim strSource As String

    Set objConnection = CreateObject("ADODB.Connection")
    Set objRecordset = CreateObject("ADODB.Recordset")

    Sheet2.UsedRange.Clear

    strPath = ThisWorkbook.Path & "\"
    strSource = ThisWorkbook.Name
    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & strPath & strSource & "';" & _
             "Extended Properties=""Excel 8.0;HDR=Yes;"";"
    strSQL = "Select * FROM [Sheet1$] " 'I've tried many queries, all have same problem

    objConnection.Open strCon
    objRecordset.Open strSQL, objConnection, adOpenStatic, adLockOptimistic, adCmdText

    If Not objRecordset.EOF Then
        Sheet2.Range("A1").CopyFromRecordset objRecordset
    End If

    End Sub

这没关系,除了任何SQL查询只搜索数据表的前36,201行。可以搜索的行数或记录集内容是否有限制,或者我做错了什么?

0 个答案:

没有答案