#785 フィールドの内容を丸ごとテキストファイルに出力する方法 VBA

テーブルに格納されている長文のテキストデータを1レコードごとにそれぞれ異なるテキストファイルに出力します。「784 テキストファイルを丸ごとフィールドに格納する方法」とは逆の処理を行います。

次の例では、「tblテキストファイルデータ」テーブルのメモ型(長いテキスト)の「テキストデータ」フィールドに格納されているデータをそのまま外部のテキストファイルに出力します。
  • その際の出力先フォルダは定数として"C:\テスト\TextData"に固定とします。
  • ファイル名は各レコードの「ファイル名」フィールドに保存されているものを使います。
  • テーブルの全レコードをループで取り出し、そのレコード数分のテキストファイルを生成します。
  • 出力は「Output」モードで開いたテキストファイルにフィールド値をまとめて「Print #」文で書き込むだけです。

Dim dbs As Database
Dim rst As Recordset
Dim intFilenum As Integer
Dim strFileName As String
Const cstrDir = "C:\テスト\TextData\"

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblテキストファイルデータ")
With rst
  'テーブルの全レコードを読み込むループ
  Do Until .EOF
    '出力先ファイルを開く
    intFilenum = FreeFile()
    Open cstrDir & !ファイル名 For Output As #intFilenum
    'テキストデータフィールドの内容をそのまま出力する
    Print #intFilenum, !テキストデータ
    '出力先ファイルを閉じる
    Close #intFilenum
    '次のレコードへ進む
    .MoveNext
  Loop
  .Close
End With

実行例:


| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved