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 件のコメント:
コメントを投稿