将 Access VBA 记录集导出到 Excel 中的单行

Posted

技术标签:

【中文标题】将 Access VBA 记录集导出到 Excel 中的单行【英文标题】:Export Access VBA Recordset To Single Row In Excel 【发布时间】:2017-11-14 03:06:24 【问题描述】:

我正在尝试编写一些 VBA 来将记录集从 Access 导出到 Excel。我终于归结为下面的导出过程,但它导出到 A 和 B 列,我希望所有数据都导出到第 2 行。

导出到第 2 行的正确协议/语法是什么?

Do While Not rsone.EOF
   columnNum = 1
   rowNum = rowNum + 1
   For Each fieldsss In rsone.Fields
       newExcelApp.Cells(rowNum, columnNum) = fieldsss.Value
     columnNum = columnNum + 1
   Next fieldsss
   rsone.MoveNext
Loop

【问题讨论】:

【参考方案1】:

kurtz 的回答几乎是正确的,但他忘记了停止重置列号,使每条下一条记录都覆盖前一条。

使用这个:

columnNum = 1
Do While Not rsone.EOF
   For Each fieldsss In rsone.Fields
       newExcelApp.Cells(2, columnNum).Value = fieldsss
     columnNum = columnNum + 1
   Next fieldsss
   rsone.MoveNext
Loop

【讨论】:

打字时睡着时会发生这种情况 :)

以上是关于将 Access VBA 记录集导出到 Excel 中的单行的主要内容,如果未能解决你的问题,请参考以下文章

使用事务的 DAO 记录集批量更新(excel)

使用 VBA 将数据从 Excel 导出到 Access

从Access VBA保存Excel工作簿

VBA(?):将 Microsoft Access 数据库记录到数据集(列出表/字段/带字段的查询)

使用VBA将VBA模块从Access项目导出到Excel项目

Excel VBA 导出到 Access:ADO 错误