DoCmd.TransferTextでacExportFixedを指定してのテキスト出力すると、「specification name/定義名が必要です」とか言われて、面倒くさいので、テーブルの内容をprintするvbaを書いてみた。
adoでもdaoでもどちらでも良いので、参照設定で、ライブラリを設定し、テーブルの内容を1個ずつ、printで吐き出せば良い。これだけだ。
specificationNameに悩まされることもなく、テキストファイルが得られる。accessのtblAがフィールドが1つのテーブルであったと仮定し、DAOで書くと
Sub ExportText()
Dim dbs as Database '参照設定でDAOを設定せよ
Dim rs as RecordSet
Dim IngFileNum as Long
Dim strOutPut as String
Dim path1 as String
Dim file1 as String
path1 = CurrentProject.path & "¥OUTPUT¥"
file1 = "tblA.txt"
IngFileNum = FreeFile()
Open path1 & file1 For OutPut As #IngFileNum
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblA")
With rst
do Until .EOF
print #IngFileNum,rst(0) & vbCrLf; 'tblAにはフィールドが1つ
.MoveNext
Loop
.Close
End With
Close #IngFileNum
End Sub
0 件のコメント:
コメントを投稿