こんにちは脇村です。僕のブログでは、本業での実務上の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/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
関連記事
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