
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
accessでSQL文を使ってcsvファイルをインポートする方法
Visual Basic(VBA)
-
作成したレコードセットのCSV出力の方法
その他(データベース)
-
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
-
4
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
6
「RunSQL」と「Execute」の違い
Access(アクセス)
-
7
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
8
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
9
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
-
10
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
11
Access サブフォームでの選択行の取得
その他(データベース)
-
12
select文の戻り値を変数に格納したい。
Visual Basic(VBA)
-
13
ダブルコーテーション付きでCSV出力
Visual Basic(VBA)
-
14
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
15
MS-Accessのエクスポートで異常に時間がかかるようになった
その他(データベース)
-
16
Accessのテーブルからcsv出力する際に一部のフィールドを除いて出力したい
Access(アクセス)
-
17
Accessレポートのチェックボックスを大きくする方法
Access(アクセス)
-
18
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
19
Access-VBAでExcelファイルを作成する。
Excel(エクセル)
-
20
Access95のエクスポートで教えてください
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
AccessでSQL結果を直接csvに書...
-
Accessのエラーについてです。
-
EXCELの外部データ取得ができない
-
Accessでユニオンクエリを作成...
-
日付型のフィールドに空白を入...
-
アクセスのクエリー作成
-
年度ごとの最大値
-
ファイルメーカーのCase関数で
-
差込印刷での全角表示について...
-
テキストボックスにクエリ結果...
-
ピボットでの時間集計
-
2つのテーブルに共通するレコ...
-
アクセス 項目毎にデータを横...
-
ACCESS 重複データを1...
-
Accessの電話番号フィールド
-
ACCESSのクエリで抽出条件「ま...
-
アクセスで追加した項目に全て...
-
Accessで、1つの項目に複数の...
-
アクセスでの追加クエリでのエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
access追加クエリ実行時の重複...
-
Access 複数のクエリの結果を...
-
ACCESSのフィールドの表示順が...
-
yes/no型のチェックができない...
-
ログイン画面後のページの表取...
-
アクセスで空白がグループ化さ...
-
EXCELの外部データ取得ができない
-
ACCESSで追加クエリを連続実行...
-
Accessのエラーについてです。
-
AccessでSQL結果を直接csvに書...
-
Access複数のクエリをExcelの1...
-
Accessで複数(200件程)の置換
-
アクセス ADO レコードの件数...
-
Accessで進行状況インジケータ...
-
アクセスのフォーム単票形式の...
-
エクセルからアクセスの更新ク...
-
Accessでユニオンクエリを作成...
-
Access2000で抽出したデータに...
-
アクセスのクエリ抽出の仕方に...
おすすめ情報