使用 VBA 从 MS Access 表创建格式化文本文件
Posted
技术标签:
【中文标题】使用 VBA 从 MS Access 表创建格式化文本文件【英文标题】:Create a formated textfile from an MS Access table using VBA 【发布时间】:2015-09-03 14:41:04 【问题描述】:我正在尝试使用 VBA 将 MS Access 表写入文本文件。不幸的是,必须选择表格的特定列,并且文本文件应该具有特定的格式。
Access 表有很多字段,我只想选择 Field1、Field2 和 Field3 列。
创建的文本文件应具有以下格式:
A.1 17
A.2 15
A.3 14
B.1 10
B.2 10
B.3 46
C.1 15
C.2 10
C.3 15
所以 Field1 和 2 应该用点分隔,Field2 和 3 应该用空格分隔。 到目前为止,我只设法使用 ADODB.Recordset 读取了 Access 表,但没有进一步了解。
【问题讨论】:
【参考方案1】:基本上你需要打开一个文件写入它。这是基于我发现 here 的一种方法来演示:
Dim FilePath As String
Dim RowData As String
'' ... other variables set like 'LastRow', etc.
FilePath = Application.DefaultFilePath & "\file.txt"
Open FilePath For Output As #2
'' I'd replace this for loop with code that would walk the RecordSet and write the data with
'' Recordset.Open and .MoveNext's as Andre451 indicated in the comments
For i = 1 To LastRow
RowData = "whatever pattern"
Write #2, RowData
Next i
Close #2
(已编写但未测试)
有一种方法可以将表格/查询结果直接转储到给定预定义模式的文本文件中,但我一直觉得它非常挑剔,所以上面可能是你最快和最肮脏的解决方案。
【讨论】:
您必须在其中添加一些Recordset.Open
和 .MoveNext
才能将表数据实际写入文件。以上是关于使用 VBA 从 MS Access 表创建格式化文本文件的主要内容,如果未能解决你的问题,请参考以下文章
MS Access VBA:创建具有多个工作表的 Excel 工作簿
MS Access:使用 VBA 进行 SQL 插入的日期格式
VBA脚本检查MS ACCESS上是不是存在表,如果存在则删除