我在Ms Access中有一個以227,288行運行的查詢。我做了一個命令按鈕,可以將查詢導出到Excel中。我已搜索並找到此代碼當使用VBA在MS Access中導出查詢時丟失行
Private Sub Export_Click()
Dim rst As DAO.Recordset
Dim excelApp As Object
Dim sht As Object
Dim fldHeadings As DAO.Field
Set rst = CurrentDb.OpenRecordset("acct file", dbOpenDynaset)
Set excelApp = CreateObject("Excel.Application")
On Error Resume Next
Set Wbk = excelApp.Workbooks.Open(book1)
If Err.Number <> 0 Or Len(book1) = 0 Then
Set Wbk = excelApp.Workbooks.Add
Set sht = Wbk.Worksheets("CSC Landed")
If Len(sheet1) > 0 Then
sht.Name = Left("acct file", 34)
End If
End If
Set sht = Wbk.Worksheets.Add
If Len(sheet1) > 0 Then
sht.Name = Left("acct file", 34)
End If
On Error GoTo 0
excelApp.Visible = True
On Error GoTo Errorhandler
For Each fldHeadings In rst.Fields
excelApp.ActiveCell = fldHeadings.Name
excelApp.ActiveCell.Offset(0, 1).Select
Next
rst.MoveFirst
sht.Range("A2").CopyFromRecordset rst
sht.Range("1:1").Select
excelApp.Selection.Font.Bold = True
With excelApp.Selection
.HorizontalAlignment = -4108
.VerticalAlignment = -4108
.WrapText = False
With .Font
.Name = "Arial"
.Size = 10
End With
End With
excelApp.ActiveSheet.Cells.EntireColumn.AutoFit
With excelApp.ActiveWindow
.FreezePanes = False
.ScrollRow = 1
.ScrollColumn = 1
End With
sht.Rows("2:2").Select
excelApp.ActiveWindow.FreezePanes = True
With sht
.Tab.Color = RGB(255, 0, 0)
.Range("A1").Select
End With
rst.Close
Set rst = Nothing
Exit Sub
Errorhandler:
DoCmd.SetWarnings True
MsgBox Err.Description, vbExclamation, Err.Number
Exit Sub
End Sub
但是,導出完成後,它僅導出496行。我搜索並嘗試了不同的嘗試,但我得到的行只有496個。我也在研究VB中的偏好。
我在Access中很新。我做了幾項研究,但仍無法做到。
你好安妮工作。我們不在這裏添加[解決]標題,這就是蜱符號的用途。我還在我的維基答覆中加入了「代表發佈」的內容,以清楚表明它不是我解決它 - 如果您想發佈自己的答案,我很樂意刪除我的答案。 – halfer
謝謝@halfer! – Anne