Excel VBAlogging集是空的

我有一个ADODBlogging集来加载Excel工作表中的视图的数据。 该视图位于MS SQL数据库中。 它运行了好几个月,但几天以来,logging总是空的,所以我没有得到任何结果。 经过漫长的一天searchWWW出于我发现的任何原因,它可能发生,因为我使用的是一个X32的Excel和视图中有这么多的数据。 所以我分开了两个查询过程。 这帮助了很多,macros观运行再次完美。 昨天同样的错误再次出现,所以我开始再次拆分程序。 但是现在这个logging还是空的。 我不知道这个原因。 我testing了与select只有十行的视图,这运行,但如果我想获得1000行的logging集是空的。 有人知道这个问题的原因吗? 所有的查询给我想要在数据库中的结果,所以他们没事。

这是我的代码:

Sub doStuff() Dim sqlStatement(9) As String Dim lrow As Long '... other variables sqlStatement(1) = "Select * from db.View1 where location like 'forest'" '... other sqlStatements For i = 0 To UBound(sqlStatement) Call loadData(sqlStatement, lrow) Next i End Sub Sub loadData(sqlStatement As String, lastrow As Long) Dim sqlServer As String Dim dbName As String sqlServer = "MSSQLSERVER" dbName = "database" On Error Resume Next Dim con As Object Set con = CreateObject("ADODB.Connection") con.Open _ "Provider = sqloledb;" & _ "Data Source=" & sqlServer & ";" & _ "Initial Catalog=" & dbName & ";" & _ "User ID=user1;" & _ "Password=abcde;" Dim rst As Object Set rst = CreateObject("ADODB.Recordset") With rst .ActiveConnection = con .Open sqlStatement , con, adLockReadOnly ws.Activate If lastrow = 1 Then For col = 0 To .Fields.Count - 1 ws.Cells(1, col + 1).Value = .Fields(col).Name Next End If ws.Activate ws.Cells(lastrow+1,1).CopyFromRecordset rst .Close End With con.Close Set rst = Nothing Set con = Nothing End Sub