お世話になります。
現在、既存のデータベースソフトで、BDE+Access97をNativeで接続し、
使用しているものがあるんですが、ごく稀に「IDDA3532.DLL」の
アクセス違反が発生するケースがあり困っています。
調べてみたところ、テーブルをオープン中にFilterプロパティを
更新した時に内部的にハンドルが解放されてしまっている可能性が
高いというところまでは突き止めました。エラーが発生する処理の
寸前でデータベースの開き直しを行うとアクセス違反は発生しなく
なります。
ただ、根本的な解決方法が見つからないため、またどこで再発するか
わからないような状況です。
何か情報をお持ちでしたら、ご教授いただきたいと思います。
すいませんが、宜しくお願いします。
テーブルのActiveを調べたらどうでしょう。
テーブルのActiveはTrueになっており、問題は無いように見えました。
なお、実質のエラーはFilter設定直後にLocateを行っており、Locate
で発生していました。
FilterやLocateは使ったこと無いので良くわからんですが
ちなみにLocateって検索結果でレコードが複数あったら
どうなるんじゃろう?等と考えました。
愚返信でした・・・。
私もFilterは使ったことがないのです。TQueryのSQL文で絞るのはだめでしょうか?BDEは、もうサポートされていないのですが、5.2まではあるようです。
私もFilterは使ったことがないのですが、
Accessのmdbデータベースを扱うのであれば、TADOConnectionとTADOQueryという選択もいいかも知れません。
ツイート | ![]() |