2 Replies Latest reply: Apr 26, 2012 5:17 PM by 932847 RSS

    Oracle9i Accessでパススルークエリ

    932847
      こちらに投稿するべきなのかはわかりませんので、間違っていたらご指摘ください。


      Access2000 Oracle9iです。

      Access2000からはODBCでOracleへ接続しています。
      ODBCドライバーはOracle(10.01.00.31)です。

      Accessのフォームのレコードソースにパススルークエリーを設定しています。
      AccessのVBAからパススルークエリーを発行しています。
      パススルークエリーの結果は表示しますので、接続には問題ないと思います。

      1.フォームを表示させ、必要なレコードを表示する。←正しい結果
      2.別のアプリからOracleのテーブルのデータを変更する。
      3.「1」のフォームを表示する。←「2」のデータの変更が反映されない。

      MDBファイルを一旦閉じて、再度フォームを表示させると正しい結果が表示されます。
      また、MicrosoftのODBCドライバーを使用すると「3」で正しい結果が表示されます。

      これを回避する方法はあるでしょうか。
        • 1. Re: Oracle9i Accessでパススルークエリ
          hamadeguchi
          Form.Requeryメソッドは実行してみましたか?
          • 2. Re: Oracle9i Accessでパススルークエリ
            932847
            Requeryメソッドは試してみましたが、結果は変わりませんでした。

            自分なりに調べた結果、OracleのODBCドライバーのバージョンで結果が違
            うようです。


            「9.02.00.00」 ← OK

            「10.01.00.31」 ← NG

            「11.02.00.01」 ← OK

            上記の結果となりました。
            パッチが出ているのかはわかりませんが、「10.01.00.31」のバージョンの
            ドライバーでは、Oracleでのデータ更新がAccessのフォームに反映されな
            いようです。
            「9.02.00.00.」および「11.02.0.01」のドライバーの場合は、データの更新
            が、反映されました。
            できれば、「10.01.00.31」のドライバーのパッチを探したいのですが、どこ
            にあるかご存知でしょうか。
            宜しくお願い致します。