
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でSQL文を使ってcsvファイルをインポートする方法
Visual Basic(VBA)
-
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
6
select文の戻り値を変数に格納したい。
Visual Basic(VBA)
-
7
作成したレコードセットのCSV出力の方法
その他(データベース)
-
8
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
9
AccessのSQL文で1件のみヒットしたら終了させる構文。
その他(データベース)
-
10
クエリの存在チェック
Access(アクセス)
-
11
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
12
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
13
Access 1レコードずつcsvで出力したい
その他(データベース)
-
14
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
15
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
16
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
17
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
18
Accessのテーブルからcsv出力する際に一部のフィールドを除いて出力したい
Access(アクセス)
-
19
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
20
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
アクセスのフォーム単票形式の...
-
access追加クエリ実行時の重複...
-
EXCELの外部データ取得ができない
-
yes/no型のチェックができない...
-
ACCESSのフィールドの表示順が...
-
Access 複数のクエリの結果を...
-
ACCESSでメッセージにクエリ結...
-
Accessクエリでの並べ替えについて
-
Accessのエラーについてです。
-
Webクエリで取り込みができない...
-
アクセス クエリで計算式の累積
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Accessのテーブルのフィールド...
-
access vbaにてテンポラリーテ...
-
Excleピボットでデータのない部...
-
Accessで、1つの項目に複数の...
-
アクセスで追加した項目に全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
yes/no型のチェックができない...
-
Access 複数のクエリの結果を...
-
access追加クエリ実行時の重複...
-
EXCELの外部データ取得ができない
-
ACCESS テーブル内の列...
-
Accessでユニオンクエリを作成...
-
ACCESSのフィールドの表示順が...
-
AccessでSQL結果を直接csvに書...
-
アクセスで空白がグループ化さ...
-
Accessで複数(200件程)の置換
-
ログイン画面後のページの表取...
-
Webクエリで取り込みができない...
-
Accessのエラーについてです。
-
Accessで進行状況インジケータ...
-
ACCESSでメッセージにクエリ結...
-
アクセスでクロス集計をレポー...
-
【Access2003 VBA】クエリをエ...
-
Excel「外部データの取り込み」...
-
ACCESSで追加クエリを連続実行...
おすすめ情報