在VBA中closures对象时不允许操作
我是新来的这个网站,也是VBA,一些如何设法写VBA,但得到了上述错误。 请告诉我我的代码的任何更改。 谢谢
Option Explicit Const ConStrSql As String = "----" Sub CopyDataFromDatabase() Dim DataConn As ADODB.Connection Dim StaffData As ADODB.Recordset Dim DataFiels As ADODB.Field Set DataConn = New ADODB.Connection Set StaffData = New ADODB.Recordset DataConn.ConnectionString = ConStrSql DataConn.Open On Error GoTo CloseConnection With StaffData .ActiveConnection = DataConn .Source = "select ---" .LockType = adLockReadOnly .CursorType = adOpenKeyset End With On Error GoTo CloseRecordset Worksheets.Add For Each DataFiels In StaffData.Fields ActiveCell.Value = DataFiels.Name ActiveCell.Offset(0, 1).Select Next DataFiels Range("A1").Select Range("A2").CopyFromRecordset StaffData Range("A1").CurrentRegion.EntireColumn.AutoFit CloseRecordset: StaffData.Close CloseConnection: DataConn.Close End Sub
当我删除CloseRecordset: StaffData.Close
我列出了列在Excel中的列,但没有数据
请任何build议。 谢谢
您的代码定义了Recordset
但不打开它。 添加:
StaffData.Open
之前:
Range("A2").CopyFromRecordset StaffData
应该解决问题。