• ベストアンサー

オラクルからレコードを取得

VBをoo4oでオラクルの接続していますが、オラクルのテーブルをレコードごとにEXCELのシートに出力したいです。 たとえばテーブルのレコード数が5の場合EXCELのsheet1からsheet5に分け出力したいです。 教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.2

ExcelをVBで操作する方法はいいのでしょうか? そうでしたら (1)VBでExcel起動 (2)シートを1つ設定 (3)oracleからでデータを1件取得 (4)シート1をアクティブにしてデータをいれる (5)Oracleを1つ追加 (6)oo4oでデータを1件取得 (7)シート2をアクティブにしてデータをいれる … という具合にできると思います。(説明が上手く伝わらなかったらすみません) (2)~(4)の部分を5回繰り返せばシートが5つできるはずです。 VBAのサイトも参考にして下さい。

参考URL:
http://www.bcap.co.jp/hanafusa/index.html
hayachama
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

SQLは わかりますでしょうか? VBのバージョンは? もしかして ExcelのVBA? 補足要求でした。

hayachama
質問者

お礼

ご回答ありがとうございます。

関連するQ&A

  • VBからオラクルの先頭レコードを取得

    VB6をoo4oでオラクルに接続しています。オラクルのテーブルの先頭レコード値や次のレコードの値の取得方法を教えて下さい。フィールドの値を参照して取得するのではなく、ただ単に先頭レコードや次のレコードの値を取得したいです。教えて下さい!

  • VB&ORACLEのパフォーマンス

    知っている方がいたら教えて下さい。 VBにて、OO4OでORACLEに接続し、マスタ存在のチェック(テーブル数:10テーブル、チェックデータ数:10000件)を行うとします。 下記の2つの処理では、1の方が速度が早いという認識だったのですが、実際のところどうなのでしょうか? また、どの位の差が出るのでしょうか? 1.ORACLEのストアドを作成し、チェック処理を行う。 2.VBより、SQL文を10回(テーブル数)発行し、チェック処理を行う。 テーブル数、データ数は特に気にしませんので、上記のような変更を行った方がいらしたら、どの位の速度改善になったのか、参考の為に教えて下さい。 よろしくお願いします。

  • VBからOracleへの接続方法

    VBからOracleへの接続方法として、ADO、DAO、ODBC、oo4oなど色々と方法があるようですが、どれが一番いいんでしょうか。 oo4oは別途インストールが必要でしょうか。 環境はまっさらなXPから、Excelマクロでサーバ上のOrcleに接続します。

  • .NETのOracle接続

    Oracleへの接続で、「oo4o」と「ADO.NET」などがあると思いますが、 Webで調べてみたら、「ADO.NET」が推奨されていますが、何故なのでしょうか? 開発環境は以下のとおりです。 言語:VB2005 Oracle:10g 両者の違いがよく分かりません。。 基本的な事かも知れませんが、ご教授いただければ幸いです。

  • ExcelVBAでのOracleデータベースへのSQL文発行

    Excelにデータベースのデータ構造を書いたファイルがあります。 それをVBAでOracleに直接SQL文を発行してテーブルを作成したいのですが、VBみたいにoo4oをつかって、Oracleに接続することは可能ですか? カテゴリーが違うかもしれませんが、ここで聞いたほうがわかるとおもったので、質問させてもらいました。 よろしくおねがいします。

  • oo4oの代わりは?

    oo4oの代わりは? VB6で、Oracleに接続する場合は、たいていoo4oを使用していましたが、vb2002以降の.netで、Oracleと接続する場合は、実際、開発現場では、何を使用していますか?私は、vb6しか知りませんので、教えてください。ADO.NET使ってるのかな?

  • oracle DB内のデータを増幅する方法について

    Oracle 10gにて、DB内のデータを「指定されたレコード数」だけ増幅したいのですが、実現方法が思い浮かびません。 私が試した実現方法は、以下の通りです。 エクスポートして、EXCELやCSVに出力し、ほしいレコード数に修正することを考えましたが、 EXCELやCSVの最大行数?を超えているため正しく出力されませんでした。。。 ※ちなみに、私はエクスポート=テーブルの全データを出力と考えています。エクスポートで出力レコード数を指定することはできるのでしょうか? どうか、ご教授願います。

  • VB2005でOracle接続

    こんにちわ。 VB2005で作ったプログラムでOracleに接続するんですが Oracleのバージョンが"7"なんです。 この組合せの場合、接続するためにはoo4oしか方法はないんでしょうか? どなたかご教授願います。

  • オラクルのレコードカウントの制御

    プログラム初心者です。 オラクル(11g)で、10個のPCで10人が、あるテーブルのデータを更新していく、システムを作成(VB2005)しています。 例として下記のようなデータがあります。 テーブルC 日付順 番号はユニーク 日付_番号_レコードカウント(Rc) 1/3____1_____0 1/5____2_____1 1/6____5_____2 (Rc2) 1/7____7_____3 (Rc3) 1/20__ 9_____4 2/1___10_____5 この全データをSQLで、【【毎回】】読込みます。 A氏が例えば1/6のデータを編集したとします。レコードカウント2(以降Rc2) 【編集したデータは、同テーブルが更新される場合と、他のテーブルに移動するケースがあります。 更新された場合でも、他のテーブルに移動する場合でも、A氏は次に1/7(Rc3)のデータを編集させたいです。】 この場合、更新されたら、レコードカウントを次に移行すればいいのですが(Rc2+1で Rc3)、 1/6のデータを編集後、他のテーブルに移動された場合、Rc3を見ても(SQL再読込後)、1/20のデータが抽出されて しまいます。 なので、このケースは、テーブルが移動された場合、レコードカウントは据え置きで、Rc2をみるという プログラムを作らなくてはいけません・・・・・。 これも問題ですが、さらに大きな問題は、 1/6のデータを編集後、そのデータが移動されたときに、その間にB氏とC氏により、1/3,1/5のデータ更新後移動 されたケースがさらに悩んでいます。 Rc2で据え置きで 1/7のデータを読みに行こうとしたら、1/3,1/5のデータが既になくなっているので、 Rc2をみると、2/1のデータを見ることになってしまいます。 こうした多くの人がデータを編集、移動する場合のテーブルを、日付順に作業させていく場合は、どのような制御 (またはオラクルの機能)をすれば、可能なのかご指導頂ければ助かります。

  • ORACLEからの値取得字の文字化けについて

    いつもお世話になっております。 ORACLE9iのテーブル内容に"1~4"という文字が入ってまして、 そのデータをVB6でoo4oを用いて取得したのですが、 取得文字が"1?4"となってしまいました。 ?にReplace("1?4","?","~")というのもやってみたのですが、 変換されないので、?とはかかれてますが?ではない文字に化けてしまっているのかと思います。 どうすれば正しく取得できるのでしょうか、、、 ちなみにデータは"1(半角)~(全角)4(全角)"というわけの分からない形になっています。 この問題を解消する手立てをご存知の方、どうかアドバイスをお願い致します。

専門家に質問してみよう