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も見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
作成したレコードセットのCSV出力の方法
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
6
accessでSQL文を使ってcsvファイルをインポートする方法
Visual Basic(VBA)
-
7
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
8
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
9
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
10
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
11
Accessのテーブル、クエリをCSV形式でエクスポートしたい
Access(アクセス)
-
12
ACCESS で 項目名を出力せずにエクスポートしたい
その他(データベース)
-
13
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
14
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
15
ACCESS VBAでインポート定義の場所
Access(アクセス)
-
16
アクセス データエクスポートの形式について(時刻の削除)
Access(アクセス)
-
17
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
18
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
19
「RunSQL」と「Execute」の違い
Access(アクセス)
-
20
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
Access 複数のクエリの結果を...
-
EXCELの外部データ取得ができない
-
アクセスで空白がグループ化さ...
-
access VBAエクスポートについて
-
「年」と「月」だけの日付の表...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
差込印刷での全角表示について...
-
リンクされたテーブルのレコー...
-
ACCESSの時間帯の抽出について
-
Accessで、1つの項目に複数の...
-
Accessでリストの並び順を変更...
-
AccessのDLookUpの第3引数の値...
-
PCゲームから音声ファイルを抽...
-
今週分だけ表示させたい
-
AccessVBA SetFocusとGoToCon...
-
アクセス 項目毎にデータを横...
-
Access2013 クエリ内別フィール...
-
ACCESS2000で複数のクエリをフ...
マンスリーランキングこのカテゴリの人気マンスリー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を使用...
-
エクセルからアクセスの更新ク...
おすすめ情報