NO.23 Accessのデータをファイル出力する

今回はAccessより入力したデータをExcelで使用したい場合のCSV形式(カンマ区切り)でファイル出力する方法を説明します。

なお、エクスポート機能を使用する方法はNO.30 テーブルのインポートとエクスポートを参照してください。

VBAの作成例

CSV形式のファイル出力するVBAを以下に説明します。

作成するVBA
Dim adoRs As New ADODB.Recordset
Dim strSql As String
Dim strFile As String
    ・
    ・
strSql = "select 所属CD,所属名,削除CD,更新日,登録日,ROWID from 所属 order by 所属CD"
adoRs.Open strSql, CurrentProject.Connection 'クエリーを開く
    ・
strFile = "C:\My Documents\test.csv" '出力ファイル名
Open strFile For Output Access Write As #1 '出力ファイルを開く
Do Until adoRs.EOF
    Write #1, _
        CStr(adoRs.Fields("所属CD").Value), _
        CStr(adoRs.Fields("所属名").Value), _
        CStr(adoRs.Fields("削除CD").Value), _
        CStr(adoRs.Fields("更新日").Value), _
        CStr(adoRs.Fields("登録日").Value), _
        CStr(adoRs.Fields("ROWID").Value)
    adoRs.MoveNext
Loop
adoRs.Close
Close #1 '出力ファイルを閉じる
    ・
    ・

各データフィールドの内容をCSV出力する場合にはCStr(adoRs.Fields("所属CD").Value)というようにCStr関数で文字列変換する必要があります。

タイトルも出力する

テーブルのフィールド名も出力したい場合は以下の処理を追加します。

作成するモジュール

strSql = "select 所属CD,所属名,削除CD,更新日,登録日,ROWID from 所属 order by 所属CD"
adoRs.Open strSql, CurrentProject.Connection 'クエリーを開く

strFile = "C:\My Documents\test.csv" '出力ファイル名
Open strFile For Output Access Write As #1 '出力ファイルを開く

Write #1, _
        CStr(adoRs.Fields(0).Name), _
        CStr(adoRs.Fields(1).Name), _
        CStr(adoRs.Fields(2).Name), _
        CStr(adoRs.Fields(3).Name), _
        CStr(adoRs.Fields(4).Name), _
        CStr(adoRs.Fields(5).Name)

関連ページへのリンク

上記の例題ですとフィールド出力する数が固定されてしまいます。 場合によってフィールド数を変えたい場合はExcel講座のNO.59 csv形式でファイル出力するを参考にしてください。

作成日:2005/01/27 更新日:2011/02/16

| HOME | INDEX | | |