こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ACCESS テーブルの扱い方

環境:
WINDOWS XP PRO
ACCESS 2000
Oracle 9i

[現状]
フォームの作成時にて、「サブフォーム/サブレポート」を使ってOracleで作成したデータシート形式の(購入履歴)テーブルを表示しています。

[質問内容]
購入履歴テーブルには次のような情報が入っているのですが、
特定の顧客コードの購入履歴のみを動的に変化させて表示させる事は可能でしょうか?
(動的にとは、フォーム側(プログラム側)で入力した顧客コードに対応した購入履歴を表示させるという意味で使用しています。)

宜しくお願い致します。


[購入履歴テーブル]
顧客コード 商品名 購入日付
━━━━━━━━━━━━━━
00001   みかん  01/11/11
00001   リンゴ  01/12/22
00002   バナナ  01/08/24
00003   リンゴ  01/09/09


投稿日時 - 2007-04-30 17:52:40

QNo.2962720

暇なときに回答ください

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

オラクルにはどのような形で接続されているのでしょうか?

アクセス内で処理するためには(リンクテーブルなどを使っている場合)
特定の顧客(入力された顧客コードによる)選択クエリを作成し、
そのクエリをレコードソースとしたフォームを作成すればよのですが、
レコード数が増えてくるとパフォーマンス上問題が出てくるかもしれません。
顧客コードの入力内容に変更があった際や、リフレッシュボタンを押した際に、
オラクルにSQLを発行して購入履歴をとってくるほうがよいかもしれません。

投稿日時 - 2007-05-01 08:41:26

補足

>オラクルにはどのような形で接続されているのでしょうか?
ODBCを用いてOracleで作成した購入履歴テーブルのビューに接続し、
「テーブルのリンク」(リンクテーブルの事だと思います)を使用してクエリを作成後、
「サブフォーム/サブレポート」にてクエリ(テーブル)を表示させているのが現状になります。
ACCESS側で扱うクエリに対してはADOを用いて接続しています。

投稿日時 - 2007-05-01 10:12:25

お礼

御回答頂き真に有難うございます。
16August様の仰る様に、
前者の方法では顧客数が未知数な今回の状況には不向きかと思います。

後者の方法を利用したいのですが、
「オラクルにSQLを発行して購入履歴をとってくる」にて、
SQLを発行して取得した「購入履歴」を表示する為のフォームは「テーブルのリンク」で可能でしょうか?
それとも、ACCESSには空の表(空のテーブル)等のフォームが用意されており、
その表に対して取得した値を入れて表示する事が出来るのでしょうか?
質問ばかりで申し訳ありません、
WEB検索のキーワードを教えて頂けると助かります。

重ねての質問を失礼致します、
他回答者様にも本題の質問と併せて宜しくお願い致します。

投稿日時 - 2007-05-01 10:40:13

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

私が作るとしたら、データベースに直結するコントロールを使うか(DBList,DBComboなど)、もしくはただのリストボックスなどにデータを書き込むかのどちらかだと思います。 仮テーブルを使う際は、mdbがどんどん膨れ上がっていく可能性があり、最適化などを適宜行う配慮が必要です。

投稿日時 - 2007-05-01 11:25:26

お礼

続けて回答頂き有難う御座います。
アドバイス頂いたDBList,DBComboについて調べ、
分らなければリストボックスを代替して利用したいと思います。

長文・質問にお付き合い頂き、真に有難う御座いました。

投稿日時 - 2007-05-01 11:57:51

あなたにオススメの質問