![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Access2003,WinXP
お世話になります。
自作のSQLを書いて、結果をTransferTextで手軽にCSVにできないかと考えてこんなのを書いてました。
Dim strSql AS String
Dim strPath AS String
strSql = 自作SQL文
strPath = c:\test.csv
Docmd.TransferText acExportDelim, , strSql, strPath, True
しかし、TransferTextでは「テーブル」か「クエリ」名を直接書くように指示してあり、これだと動かない?んでしょうか。
SQLは300個くらい出力する必要があるため(クエリ300個作れば解決するのですが・・・)上のようなコードをループして動かしたいのですが、何か他の簡単な出力方法があるのでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Dim dbs As Database
Dim qdf As QueryDef
Dim strSql AS String
Dim strPath AS String
Dim i As Integer
Set dbs = CurrentDB
'準備。「適当なクエリ名」と言うクエリを作る
qdf = dbs.CreateQueryDef("適当なクエリ名","SELECT * FROM 何か適当なテーブル");
Set qdf = Nothing 'qdfを開放
'ループ
For i = 1 to 300
strPath = "c:\test" & Format(i,"00#") & ".csv"
strSql = 自作SQL文
dbs.QueryDefs![適当なクエリ名].SQL = strSql
Docmd.TransferText acExportDelim, , strSql, strPath, True
Next
dbs.Close 'dbsをクローズ
Set dbs = Nothing 'dbsを開放
できました、できました!
サンプルまで作っていただいてすいません。
まさにこの通りの内容を探していました。クエリはSQLの中身を書き換えられるんですね、、、勉強になります。
一点、TransferTextの引渡しが上手く動きませんでしたので変更しています。
Dim db As Database
Dim qd As QueryDef
Set db = CurrentDb
Set qd = db.CreateQueryDef("test", "SELECT * FROM test_table")
Set qd = Nothing
~~~~~~~~~
Do Until rst.EOF
db.QueryDefs![test].SQL = '自作SQL
strPath = '出力先
DoCmd.TransferText acExportDelim, , "test", strPath, True
rst.movenext
Loop
ありがとうございました。
300個書かなくてよさそうです^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) Access VBAで条件を追加する(書き込む)場所 2 2022/03/23 12:05
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
作成したレコードセットのCSV出力の方法
その他(データベース)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
6
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
7
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
8
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
9
ACCESS で 項目名を出力せずにエクスポートしたい
その他(データベース)
-
10
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
11
「RunSQL」と「Execute」の違い
Access(アクセス)
-
12
accessでSQL文を使ってcsvファイルをインポートする方法
Visual Basic(VBA)
-
13
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
14
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
15
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
16
Accessで文字列の長さによって、フィールドの幅を自動で合わせる方法
Excel(エクセル)
-
17
Accessのテーブル、クエリをCSV形式でエクスポートしたい
Access(アクセス)
-
18
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
19
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
20
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
AccessでSQL結果を直接csvに書...
-
access追加クエリ実行時の重複...
-
Access 複数のクエリの結果を...
-
ログイン画面後のページの表取...
-
【Access2003 VBA】クエリをエ...
-
ACCESSで追加クエリを連続実行...
-
Access 特定の条件下で、メッ...
-
yes/no型のチェックができない...
-
アクセスで空白がグループ化さ...
-
ACCESS テーブル内の列...
-
アクセスのレベルアップ方法
-
ACCESSのフィールドの表示順が...
-
Access2000で抽出したデータに...
-
Accessで複数(200件程)の置換
-
自分のURLの後に不可解な文字が...
-
ACCESSでメッセージにクエリ結...
-
アクセスで複数のクエリを使っ...
-
Accessによる集計方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
yes/no型のチェックができない...
-
access追加クエリ実行時の重複...
-
AccessでSQL結果を直接csvに書...
-
Access 複数のクエリの結果を...
-
ACCESSのフィールドの表示順が...
-
アクセスで空白がグループ化さ...
-
Accessで複数(200件程)の置換
-
Accessで進行状況インジケータ...
-
ログイン画面後のページの表取...
-
Accessのエラーについてです。
-
ACCESSでメッセージにクエリ結...
-
ACCESS テーブル内の列...
-
Access2000で抽出したデータに...
-
Me.FilterOn = True は先でも後で
-
Webクエリで取り込みができない...
-
Access複数のクエリをExcelの1...
-
お世話になります ACCESSを使用...
-
Access 0で除算(並べ替...
おすすめ情報