使用VBA从MS Access表创建格式化文本文件

时间:2015-09-03 14:41:04

标签: vba ms-access access-vba

我正在尝试使用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 个答案:

答案 0 :(得分: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

(书面但未经测试)

有一种方法可以在给定预定义模式的情况下将表/查询结果直接转储到文本文件中,但我总是发现它非常简单,所以上面可能是你最快最肮脏的解决方案。