在ACCESS的VBA中如何实现将表"导出数据"以每10000行导出至C:\Users\icd\Desktop\流水分割文件夹中,并导出完所有记录后就停止生成EXECL表?
时间: 2023-07-28 08:40:29 浏览: 94
可以按照以下步骤实现:
1. 创建一个名为"导出数据"的查询,将需要导出的数据放在这个查询中。
2. 在VBA中使用Do While循环来逐步导出数据:
```
Dim rs As DAO.Recordset
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim strFilePath As String
Dim strFileName As String
Set rs = CurrentDb.OpenRecordset("导出数据")
i = 1
j = 10000
Do While Not rs.EOF
strFilePath = "C:\Users\icd\Desktop\流水分割文件夹\"
strFileName = "文件名" & i & ".xlsx"
'创建Excel文件
Dim xlApp As Object
Dim xlBook As Object
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
'将记录导出到Excel表中
For k = i To j
If rs.EOF Then Exit For
For l = 0 To rs.Fields.Count - 1
xlBook.Worksheets(1).Cells(k - i + 1, l + 1).Value = rs.Fields(l).Value
Next l
rs.MoveNext
Next k
'保存Excel文件
xlBook.SaveAs strFilePath & strFileName
xlApp.Quit
i = j + 1
j = j + 10000
Loop
rs.Close
```
在上面的代码中,我们使用了一个名为rs的DAO.Recordset来存储查询结果。然后,我们使用一个Do While循环来逐步导出记录。在每次循环中,我们都会创建一个新的Excel文件,并将下一批记录导出到这个文件中。最后,我们将Excel文件保存到指定的文件夹中,并增加i和j的值以便下一批记录的导出。
注意:在使用这段代码之前,请先将代码中的查询名称和文件路径更改为您自己的查询名称和文件路径。
阅读全文