我正在MS Access VBA中编写一些代码。
我有一个包含110,000行的MS Access查询,我试图将它们复制到Excel电子表格中,但是当我打电话时
xlWorksheet.Range(“ A2”)。CopyFromRecordset rs
仅移植65535行。有没有办法使其移植到整个装置上?
答案 0 :(得分:0)
您正在使用的excel文件很可能具有.xls格式或任何其他不兼容的格式。从下次更改您的excel文件格式,然后重试。
答案 1 :(得分:0)
如果您使用的是Excel 2003或更早版本,则65535是硬限制。如果您有Excel 2007或更高版本,那么有很多方法可以做到这一点。这是无数种方法的一种。
Sub ExportDataToExcel()
Dim conn As ADODB.Connection
Dim myRecordset As ADODB.Recordset
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\your_path_here\Northwind.mdb"
Set myRecordset = New ADODB.Recordset
FocusRow = ActiveCell.Row
With myRecordset
.Open "SELECT * FROM YourTable WHERE ID=" & Worksheets("Sheet1").Range("A2").Value, _
strConn, adOpenKeyset, adLockOptimistic
.Fields("ID").Value = Worksheets("Sheet1").Range("A" & FocusRow).Value
.Fields("FName").Value = Worksheets("Sheet1").Range("B" & FocusRow).Value
.Fields("LName").Value = Worksheets("Sheet1").Range("C" & FocusRow).Value
.Fields("Address").Value = Worksheets("Sheet1").Range("D" & FocusRow).Value
.Fields("Age").Value = Worksheets("Sheet1").Range("E" & FocusRow).Value
.Update
.Close
End With
Set myRecordset = Nothing
Set conn = Nothing
End Sub