test.csv とtest2.csvから作成したレコードセットをtest3.csvに出力したいのですが、
”指定した式は、いずれかの引数とデータ型が対応していません。”
とエラーが帰ってきます。
色々試したのですがうまくいきません、
作成したレコードセットをCSVファイルにエクスポートする方法を教えてください。
Private Sub コマンド6_Click()
Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Set CN = New ADODB.Connection
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\;" & _
"Extended Properties='Text;HDR=YES'"
Set RS = CN.Execute("SELECT * FROM test.csv a LEFT JOIN test2.csv b ON a.tel = b.tel")
DoCmd.TransferText acExportDelim, , RS, "C:\test3.csv", True, ""
Set RS = Nothing
Set CN = Nothing
End Sub
No.3ベストアンサー
- 回答日時:
#2です
解決されたという解釈で良かったのでしょうか。
(記述を見直しました)(前のものでも一応動くとは思います)
ただ、気がかりなのがCドライブ直下と言う事で・・・・
(私はそこには作らないというだけの話ですが)
「test1.csv」「test2.csv」のありかを、「D:\HOGE」と仮定します。
作成する「test3.csv」の場所を「E:\hogehoge」と仮定します。
「E:\hogehoge\test3.csv」が存在したらエラーとなります。
「D:\HOGE」を★★に、「E:\hogehoge」を☆☆で置換えて記述したとすると
(#2の記述をチョッと変更しています。
変な改行表示されるので、一度メモ帳等にコピー&ペーストして確認ください)
Dim CN As ADODB.Connection
Dim sSql As String
Set CN = New ADODB.Connection
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=★★;" & _
"Extended Properties='Text;HDR=YES'"
sSql = "SELECT * INTO [test3.csv] IN '☆☆'[Text;FMT=Delimited;HDR=YES;IMEX=0;]" _
& " FROM [test.csv] AS a LEFT JOIN [test2.csv] AS b ON a.tel = b.tel;"
CN.Execute sSql
Set CN = Nothing
※ この辺については、Web上のブログで見たような気が気ます。
(SQLで CSV出力指定記述とか・・・)
※ [test3.csv] の後の IN句の記述について、いろいろ確認を取られたらと思います。
30246kiku様
>解決されたという解釈で良かったのでしょうか。
前回頂いたコードで、CSVの置き場所を変更することで当初の目的は果たしました、
今回頂いたコードを参考に知識を深めたいと思います。
今回はご丁寧な対応を頂き大変助かりました。
有難うございました。
No.2
- 回答日時:
以下でどうなりますか。
「test3.csv」が存在していたらエラーになったと思います。
Dim CN As ADODB.Connection
Dim sSql As String
Set CN = New ADODB.Connection
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\;" & _
"Extended Properties='Text;HDR=YES'"
sSql = "SELECT * INTO [test3.csv] IN '' 'Text;FMT=Delimited;HDR=YES;IMEX=0;DATABASE=C:\'" _
& " FROM [test.csv] AS a LEFT JOIN [test2.csv] AS b ON a.tel = b.tel;"
CN.Execute sSql
Set CN = Nothing
この回答への補足
30246kiku様
CSVファイルの置き場所を変えて実行したところ
頂いたコードでtest3.csvの出力が出来ました。
こちらのパソコンの環境(ファイルアクセス権)によるエラーと考えられます。
頂いたコードで試しました、
>「test3.csv」が存在していたらエラーになったと思います。
test3.csvをC:\に配置してコマンドを実行すると以下エラーになります。
テーブル'test3#csv'は既に存在しています
次にtest3.csv無で実行すると下記エラーが表示されました
オブジェクト'test3.csv'が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください
どうすればこの状況を乗り越える事が出来るのかもう少しだけお付き合い頂ければ大変助かります。
No.1
- 回答日時:
TransferText マクロ アクション
http://office.microsoft.com/ja-jp/access-help/HA …
「テーブル名」引数の説明より
---------------------------
テキスト データのインポート先、エクスポート元、またはリンク先の Access のテーブルの名前を指定します。また、エクスポート元として Access のクエリ (クエリ: テーブル内に格納されているデータについての問い合わせ、またはデータに対して処理を実行するための要求。クエリを使って複数のテーブルからデータを取り出して、そのデータをフォームまたはレポートのデータのソースとして使用できます。)名も入力できます。この引数は省略できません。
・・・・・・・
"TransferText/テキスト変換" アクションを使用している場合、エクスポートするデータは SQL ステートメント (SQL 文字列/ステートメント: SELECT、UPDATE、または DELETE などの SQL コマンドを定義し、WHERE および ORDER BY などの句を含む式。通常、SQL 文字列/ステートメントはクエリおよび集計関数で使用されます。)では指定できません。SQL ステートメントを使用する代わりに、クエリを作成して、そのクエリの名前をこの引数に指定します。
---------------------------
クエリが作れない状況なら
レコードセットを読みながら、テキストファイルに書き出す、
とか
Excel に CopyFromRecordset で貼り付け、CSVで保存する、
など。
早速のアドバイス有難うございます。
>クエリを作成して、そのクエリの名前をこの引数に指定します。
に従い
Set RS = CN.Execute("SELECT * FROM test.csv a LEFT JOIN test2.csv b ON a.tel = b.tel")
上記表記の後に下記追加しました
Set Qdf = CurrentDb.CreateQueryDef("test_q", RS)
今度は
実行時エラー 3421
データ型の変換エラーが発生しました
とエラーが出てしまいます、こちらも色々調べたのですが解決できません
出来ましたらアドバイス頂きたく存じます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
AccessでSQL結果を直接csvに書き出すには?
Word(ワード)
-
Access 1レコードずつcsvで出力したい
その他(データベース)
-
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
-
4
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
5
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
6
accessでSQL文を使ってcsvファイルをインポートする方法
Visual Basic(VBA)
-
7
ダブルコーテーション付きでCSV出力
Visual Basic(VBA)
-
8
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
9
アクセス データエクスポートの形式について(時刻の削除)
Access(アクセス)
-
10
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
11
レコードセット(ADO.Recordset)で処理レコードは何番目?
Visual Basic(VBA)
-
12
Access パラメータクエリをcsvでエクスポートしたい
Access(アクセス)
-
13
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
16
Access VBAで読み込んだ配列をcsvファイルにエクスポート
Access(アクセス)
-
17
レコードセットにnullの場合
Visual Basic(VBA)
-
18
IIF関数の使い方
Visual Basic(VBA)
-
19
ExcelVBAからAccessMDB内のテーブル存在チェックをしたい
Visual Basic(VBA)
-
20
VBScriptで引数を省略したい場合
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
MySQL Date型にNULLが設定でき...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
同じSQL文で極端に検索が遅くな...
-
DBファイルの中身を直接見れな...
-
PL/SQLをWindowsのBATファイル...
-
MySQLの文字化け
-
どの程度のデータベースなら、c...
-
数字で「そ」と「り」
-
SQL*Loaderで桁数チェック
-
複数行をINSERTで『ORA-00911: ...
-
MySQLのエラーメッセージ(エラ...
-
あるDBから別のDBのテーブルをs...
-
mysqlにおけるホストのパーセン...
-
イラストレーターでヒラギノの...
-
MySQL4.1以上で、機種依存文字...
-
csvファイルを自動で取り込み(...
-
htmlタグを含んだ文字のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
CSVを1行しかインポートしない...
-
MySQL Date型にNULLが設定でき...
-
MySQLで連続csvファイルを読み...
-
SQLサーバーにcsv.ファイル...
-
BAT処理でCSVデータのインポート
-
MySQLのLOAD文を使ってCSV...
-
BCPコマンドについて
-
MySQLデータベースにcsvファイ...
-
CSVファイルのインポートについて
-
CSVインポート,日本語文字化け
-
sqlite3でcsvのインポートがで...
-
phpMyAdminでのデータのインポ...
-
phpmyadminでcsvインポートで文...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
PL/SQLをWindowsのBATファイル...
-
DBファイルの中身を直接見れな...
おすすめ情報