• ベストアンサー

AccessでOracleDBを扱う場合の操作性

初めまして。Accessを使ってAccessのmdbを作成、使用している者です。  会社で「ORACLEのDBもAccessから更新できるそうだから、そのデータの更新用画面等を作って」と言われ、準備をしているところです。  「裏技」本等を見て、ODBCドライバをAccessを使用するコンピュータへ導入し、リンクテーブル機能を使用すればORACLEのDBへアクセス可能なのは文章上で確認しました。が、その後の操作性が気になっています。  Accessで通常行っているクエリやフォーム、マクロの作成・実行方法は、ORACLEのDBが対象になっても全然変わらないのでしょうか?SQL文を一から作成しなければいけない、ということにはならないでしょうか?  単純に「対象テーブルがORACLEになるだけで、Access上の操作性は変わらないらしいよ」と会社の人には言われたのですが、その情報元が不明なのと、実際その方が担当する訳ではないので本当にそうなのか不安です。  ちなみに、ORACLEのDBはデータ準備中で、まだAccessでどうなるかと確認出来ていません。 質問の仕方が下手で申し訳ありませんが、どなたかお返事を頂けたら助かります。宜しくお願いします。

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

  • ベストアンサー
  • mebun
  • ベストアンサー率45% (10/22)
回答No.1

会社の方がいってる様にそんなに意識しないでいいとおもいます。 まず、Accsessのテーブルは同じで物なのですが、ODBCを使って外部リンクでOracleのテーブルをAccessに取込みます。 ここで、Oracleのテーブルリストから必要なテーブルを選択するとAccsessのテーブルが出来ます。 テーブルを選択する事とプライマリを選択くらいです。 (当然、OracleとAcsessは同じレイアウトです)

kb2006
質問者

補足

mebunさん、お返事ありがとうございます。 ということは、自動的に作成されたAccessのテーブルにOracleDBのレコードがコピーされるという事が、リンクテーブル設定の意味なのですね。てっきりリンクテーブルはOracleのデータを直接更新したりするものだと思っていました。 そうすると、一度Accessテーブルに取り込んだレコードに対して更新・削除・新規追加をした場合、そのAccessテーブルを最終的に保存する時点で、OracleDBに変更内容が一括に反映されるのでしょうか?改めてExport機能等を使用したりする必要はないですか? mebunさんのアドバイスを良く理解できていなかったらすみません…。お返事頂けたら助かります。

その他の回答 (2)

  • KAERU_VXV
  • ベストアンサー率60% (18/30)
回答No.3

Access2000にOracle7.3を外部リンクして使用しています。 ほとんど場合、問題なく動作していますが、追加クエリーでデータが追加できていないことがありました。 今は、処理終了後に必ず「CommitTrans」をし、oracleにデータを反映させるようにしています。  この現象は、追加クエリーを実行しリンクしているテーブルを確認すると確かにデータは追加されているのにAccessを閉じてから再度開くとデータは追加できていなかったというものです。追加できるときもあればできないときもありました。そのようなときは「CommitTrans」で解決できます。

  • mebun
  • ベストアンサー率45% (10/22)
回答No.2

少し説明不足でした。 外部リンクは常に有効です。Accessのテーブルに対する更新は自動的にOracleへ更新されます。 ただし、Oracleユーザの権限によっては、参照のみと なります。 Accessで外部データからの取込みを選ぶとインポートと外部リンクが選択できます。 インポートとはmdbへ取込むだけで、データはmdbで更新されます。 外部リンクはmdbへの更新を外部(Oracle)へリンクされるということになります。

関連するQ&A