• ベストアンサー

VBのわかる方教えてください!!!

VBでAccessに既存しているテーブルデータをCSV形式に変換する方法を知ってる方ぜひ教えてくださいm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.2

テーブルをDAOを使用してレコードセットで開いてテキストファイルに書き出す方法です。 Dim strFileName As String Dim intFNo As Variant Dim fld As Field Dim rsTable As Recordset DoCmd.Hourglass True DoCmd.Echo False, "データ作成完了" '予めレコードセットを開いてrsTableにセットします。 'strFileNameは出力先のパス名となります。 intFNo = FreeFile Open strFileName For Output As #intFNo '********************************* '* 項目名の書き込み '********************************* strDat = "" For Each fld In rsTable.Fields If strDat = "" Then strDat = strDat & fld.Name Else strDat = strDat & "," & fld.Name End If Next Print #intFNo, strDat '********************************* '* データの書き込み '********************************* Do Until rsTABLE.EOF lngCNT = lngCNT + 1 DoCmd.Echo False, lngCNT & "件のデータを作成しました。" strDat = "" 'レコードセットのフィールドを列挙 For Each fld In rsTABLE.Fields If strDat = "" Then strDat = strDat & rsTable(fld.Name) Else strDat = strDat & "," & rsTable(fld.Name) End Select End If Next Print #intFNo, strDat rsTable.MoveNext Loop Close #intFNo rsTable.Close Beep MsgBox "「" & strFileName & "」に出力完了しました。", vbInformation, "確認" crtTXTFile2_Ext: DoCmd.Hourglass False DoCmd.Echo True, "データ作成完了"

hiro6295
質問者

お礼

ご回答ありがとうございました。 参考になりました。

その他の回答 (2)

  • sienna
  • ベストアンサー率35% (51/145)
回答No.3

既に解決されているかも知れませんが参考までに。

参考URL:
http://homepage2.nifty.com/inform/vbdb/dao_exportcsv.htm
hiro6295
質問者

お礼

ご回答ありがとうございました。 今回はEOFを使用しているので、参考にさせていただきます。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

MS-Access(?)のマクロで出力って方が楽な気がします。 一旦MS-AccessでCSV出力するマクロを作成し、そのマクロを[モジュールに変換]してできたコードをVBに移植するのは如何ですか?

hiro6295
質問者

お礼

ご回答ありがとうございました。 今回のAccessはデータベースとしての機能として使ってるので。 参考になりました。

関連するQ&A