- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オラクルからAccessにデータ追加)
オラクルからAccessにデータ追加する方法
このQ&Aのポイント
- オラクルから抜き出したデータをAccessのテーブルに書き込む方法について教えてください。
- オラクルのテーブルをAccessにリンクする方法がうまくいかないため、他の方法を探しています。
- オラクルから抽出したデータをAccessのテーブルに追加するためには、ループでデータを1行ずつ追加する方法や、INTO句を使用して直接テーブルを作成する方法などが考えられますが、どちらが適切なのかわかりません。アドバイスをいただけると嬉しいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
もし、既存のテーブルにデータをいれるというのであれば、 No1でいいのですが。「新しいテーブル名」→「既存のテーブル名」。 既存のテーブルにデータが存在するのか、あるいはデータを 入れ替えるのかによって方法はことなりますが、 データの取り扱いがわからないので No1とNo2の両方を回答とすることにします。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
回答No.2
No1です。失礼しました。 >実際動かすPCにはAccessRuntime これを見逃していました。ランタイム環境では テーブルなどの新規のオブジェクトは作成できないので、 取り出したデータをどうするのかによりますが、 たとえば、Excelなり、テキストなりに出力 するコードを作るというのはどうですか。
- piroin654
- ベストアンサー率75% (692/917)
回答No.1
新しいテーブルを作り、 フィールドはカラム1からカラム3を設定し、 以下のコードを追加してテーブルに取り込めば いいのでは? フィールドの型は各カラムの型にあわせるか、あるいは テキスト型にしておくかですか。 Dim rs2 As ADODB.Recordset rs2.Open "新しいテーブル名", CurrentProject.Connection, adOpenKeyset, adLockOptimistic rs.MoveFirst Do Until rs.EOF rs2.AddNew rs2!カラム1 = rs!カラム1 rs2!カラム2 = rs!カラム2 rs2!カラム3 = rs!カラム3 rs2.Update rs2.Close: Set rs2 = Nothing
お礼
piroin654様 3回もアドバイス頂きありがとうございます。 Access側のテーブルは作成済みなので、1の方法で問題ありません。 また、Rantimeの制限について、お教え頂きありがとうございます。 これ、ずっと悩んでました、なるほどRantimeでは新規テーブルが作れないですね。 以前作った、動かなかったシステムで、確かにテンポラリー新規テーブル作成してました。 あわせて、"rs2" コネクションとレコードセットを別に作ればよいのですね、試してみます。 ご親切にアドバイス頂きありがとうございます。