AccessでCSVデータをカンマ区切りで1行ずつエクスポートするVBA


こんにちは脇村です。僕のブログでは、本業での実務上のEXCEL、ACCESSマクロ&VBAの使えそうなコードの紹介、コールドリーディングの実践例、人生の難易度を下げる方法、自己啓発コラム最近読んでいいなと思った本等について、主に発信していきたいと思っています。

今回はAccess VBAについて発信させてください。
こういったプログラム系統は何を実現したいかを強く頭に描くことが実現への第一歩につながります。
少しずつ発信していってその手助けができれば幸いだと思っています。
今回はAccessでCSVデータをカンマ区切りで1行ずつエクスポートするVBAについてです。

Option Compare Database								
Option Explicit								
								
Sub AccessでCSVデータをカンマ区切りで1行ずつエクスポート()								
    Dim db As DAO.Database								
    Dim rs As DAO.Recordset								
    Dim strFilePath As String								
    Dim strLine As String								
    Dim intFileNum As Integer								
    Dim i As Integer								
    								
    ' CSVファイルのパスを指定								
    strFilePath = "C:\path\to\your\file.csv"                  '①	
    								
    ' ファイル番号を取得								
    intFileNum = FreeFile								
    								
    ' データベースとレコードセットを取得								
    Set db = CurrentDb								
    Set rs = db.OpenRecordset("YourTableName", dbOpenSnapshot)	'①	
    								
    ' CSVファイルを開く								
    Open strFilePath For Output As #intFileNum								
    								
    ' フィールド名をCSVファイルに書き込む	                        '②	
    For i = 0 To rs.Fields.Count - 1	                        '②	
        strLine = strLine & rs.Fields(i).Name & ","             '②	
    Next i	                                                '②	
    strLine = Left(strLine, Len(strLine) - 1) ' 最後のカンマを削除  '②	
    Print #intFileNum, strLine	                                '②	
    								
    ' レコードをCSVファイルに書き込む								
    Do While Not rs.EOF								
        strLine = ""								
        For i = 0 To rs.Fields.Count - 1								
            strLine = strLine & rs.Fields(i).Value & ","								
        Next i								
        strLine = Left(strLine, Len(strLine) - 1) ' 最後のカンマを削除								
        Print #intFileNum, strLine								
        rs.MoveNext								
    Loop								
    								
    ' ファイルを閉じる								
    Close #intFileNum								
    								
    ' オブジェクトを解放								
    rs.Close								
    Set rs = Nothing								
    Set db = Nothing								
								
    MsgBox "CSVファイルのエクスポートが完了しました。", vbInformation
								
End Sub																																																																										

そっくりそのまま使用してください。このコードは、テーブルかクエリのデータをCSVファイルにエクスポートします。
①このコードを実行することで、指定したテーブルかクエリのデータをCSVファイルにエクスポートできます。ファイルパスと”YourTableName”を適宜変更してください。
②はフィールド名をCSVファイルに書き込みます。もし見出しが必要なければこのコードはコメントにして下さい。

以上、AccessでCSVデータをカンマ区切りで1行ずつエクスポートするVBAついてでした。このプログラムは非常に汎用性が高いので、是非とも有効活用して下さい。次回もまたよろしくお願いします。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
今回の記事はこれで締め切らせていただきます。 脇村の日常で役に立つ技術ー雑記ブログ記事、次回もよろしくお願い致します。

末筆ながら、本サイトのカテゴリーごとの記事です。
各記事の一番下の方に、関連記事のリンクが貼ってあるので、興味があれば参照お願い致します。
せどりで月商70万円達成する方法(ノーブランド品)
ダイナマイトモチベーションDM6「自分を愛すること」
日常のつぶやき―脇村(24年2月14日)
今の時代に必要な考え方(人間関係のトラブルを防ぐ方法)
コールドリーディング実践例その48
コールドリーディング講義(コールドリーディングの使えるフレーズ集)
おすすめ本「君しかいない!と言われる人になる」
今の時代を生き抜くために-脇村( 正社員と非正社員はどちらが得か)
Excel VBA L列規格半角文字にするVBA
電話占いの現場での嫌な質問が来た時について

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  • Kindle本 (電子書籍)も出版しております。

タイトル:人生の難易度を下げる知識・思考法2: テクニックの前にマインドセットが重要
リンク: https://www.amazon.co.jp/dp/B0D9ZKZF88/
タイトル:人生の難易度を下げる知識・思考法!ストレスを減らして楽になる
リンク: https://www.amazon.co.jp/dp/B0DK5TLVC8/
タイトル:どんな女も口説き落とす話術!コールドリーディングの秘技
リンク: https://www.amazon.co.jp/ebook/dp/B0DD8R2SP5/

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

ゲーム業界の転職・求人情報【G-JOB エージェント】

関連記事
AccessでExcelを開いていたら処理を停止するVBA
AccessでEXCELを最大化状態で最前面に表示するVBA
Accessでエラーテーブルを自動で削除するVBA
AccessでテーブルにIDというフィールドを追加するVBA
Accessでテーブルのデータ型を変更するVBA
Accessでテーブルに主力キーを2つ設定するVBA
AccessでDoCmd.TransferDatabaseメソッドで自DBへテーブルをエクスポートするVBA
Accessで本体右上の×を無効するVBA
Accessでフォームに変更した内容を保存するVBA
AccessでEXCELの最終行は指定しないでインポートする時のVBA
AccessでCSVを指定してインポートする時のVBA
Accessでカンマ区切りのCSVを書き出す時のVBA


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA