Accessのデータをテキストファイルで出力する方法を教えてください。
クエリで抽出したデータをテキストファイルに出力したいのですが、下記のような記述では""や,で区切られてしまいます。
DoCmd.TransferText acExportDelim, "", "クエリ名", "出力ファイル.txt"
フィールドごとに改行して出力する方法はないでしょうか?
<クエリ結果>
フィールド1 フィールド2 フィールド3
aaa bbb ccc
<出力テキストファイル>
aaa
bbb
ccc
No.2ベストアンサー
- 回答日時:
ADO の GetString メソッドを使って直に文字列を作って出力してみてはいかがでしょうか。
(GetStringのヘルプを参照してください)
列間の区切り、および行間の区切りに vbCrLf を指定します。
出来上がった文字列の最終には vbCrLf が付いているので、それを削除した文字列を出力します。
記述例)
Private Sub Sample()
Dim rs As New ADODB.Recordset
Dim vTmp As Variant
Dim ffn As Integer
Const sQueryName As String = "クエリ名"
Const sOutputFileName As String = "C:\Hoge\HogeTest.txt" '出力ファイル名
rs.Open sQueryName, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
If (Not rs.EOF) Then
vTmp = rs.GetString(adClipString, , vbCrLf, vbCrLf)
End If
rs.Close
If (Not IsEmpty(vTmp)) Then
ffn = FreeFile
Open sOutputFileName For Output As #ffn
Print #ffn, Left(vTmp, Len(vTmp) - Len(vbCrLf))
Close #ffn
End If
End Sub
No.3
- 回答日時:
<クエリ結果>
フィールド1 フィールド2 フィールド3
aaa bbb ccc
aaa2 bbb2 ccc2
が
aaa
aaa2
bbb
bbb2
ccc
ccc2
でよいならEXCELも考えますが、邪道なので。
VBAで行います。
TransferText を使わなければ、いろいろできます。
出力ファイルOPEN
クエリ1件目取得
レコード無くなるまで繰り返し
1項目目出力&改行
2項目目出力&改行
3項目目出力&改行
・・・
クエリn件目取得
No.1
- 回答日時:
VBA上でOPENコマンドとPRINT#でできると思います
OPEN "C:\TEST.TXT" FOR OUTPUT #1
PRINT #1,フィールド1
PRINT #1,フィールド2
PRINT #1,フィールド3
CLOSE #1
てな感じで、データに合わせてループを入れるといいでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) お世話になっています いまクエリを作っています。。 デザインビューの画面の集計の欄で、「グループ化」 4 2022/09/17 17:03
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
Word差し込み印刷のハイフン(...
-
ACCESSのデータに自動で半角ス...
-
エクセルデータをワードで差し...
-
クエリーで、全角混じりデータ...
-
オープンしているレコードセッ...
-
フィールドの更新がない
-
ACCESS 重複データを1...
-
エクセルにおける「フィールド...
-
「Access2007」でレポートが作...
-
ACCESSの入力文字数の制限について
-
Access 複数のフィールドの平均...
-
アクセスでのテキストデータ取...
-
Accessのハイパーリンクをクリ...
-
ACCESSで条件によってフォーム...
-
アクセスVBAでの添付ファイルの...
-
クエリで割り算する方法を教え...
-
ACCESSでフィールド名の変更(...
-
実行時エラー '3464': 抽出条件...
-
英数字のチェックをしたい ACC...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
クエリで割り算する方法を教え...
-
フィールドの更新がない
-
ACCESS 重複データを1...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
実行時エラー '3464': 抽出条件...
-
Accessのハイパーリンクをクリ...
-
ACCESSで条件によってフォーム...
-
クエリーで、全角混じりデータ...
-
Acsess アクセス のクエリで...
-
ACCESSでフィールド名の変更(...
-
Wordの差込印刷時間の表示について
-
ACCESSで複数の写真ファイルを...
-
「Access2007」でレポートが作...
-
sqlserverにはグループ集計のfi...
-
ワードファイルの文字数制限ロ...
-
アクセスでのテキストデータ取...
おすすめ情報