- ベストアンサー
Accessのバージョンの違いでうまく動かなくなるんですか?
VBA(Access95)で作成されたツールをAccess2000で動かすと、 コンパイルエラーになってうまく動きません。 今のところエラーになっている箇所は、 Dim xxx As Recordset Global xxx As Database です。 どうすれば問題なく動くようになりますか? やっぱり、2000ではダメなんでしょうか?? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Micorsoft DAO の参照設定がされていないためです。 Access2000が手元にないので、Access97の場合ですが、 モジュールを開いて、「ツール」-「参照設定」を選択し、 Microsoft DAO ObjectLibrayをチェックしてみてください。 それで対応できると思います。
その他の回答 (1)
- Nac
- ベストアンサー率63% (7/11)
ACCESS2000からはADO(ActiveX Data Object)が既定になっています。 ACCESS97までのDAO(Data Access Object)の記述のコードを使用する には参照設定でMicrosoft DAO 3.6 Object Libraryにチェックすれば OKです。 ただ、この時にDAOとADOが同時にチェックされている場合は優先順位が 高い方を優先的に参照するのでADOが上位の時はDAOであると明示する必要があります。 (例) Dim rs As DAO.Recordset DAOが上位ならば明示しなくても使用できます。 もし、ADOを使用しないのであれば参照設定でMicrosoft ActiveX Data Object~ のチェックを外しておけばよいと思います。
お礼
ご回答ありがとうございました。 おかげさまで、何とか動くようになりました。
お礼
早速のご回答、どうもありがとうございました。 「ツール」-「参照設定」で、Microsoft DAO ObjectLibrayを探してみました。 Microsoft DAO 2.5/3.0 Compatibility Libray Microsoft DAO 3.0 Object Libray Microsoft DAO 3.6 ObjectLibray それらしいのが上記の3つだったので、設定してみましたがコンパイルエラーになりました。 また、何かいい方法があったら教えて下さい。
補足
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 早速のご回答、どうもありがとうございました。 「ツール」-「参照設定」で、Microsoft DAO ObjectLibrayを探してみました。 Microsoft DAO 2.5/3.0 Compatibility Libray Microsoft DAO 3.0 Object Libray Microsoft DAO 3.6 Object Libray それらしいのが上記の3つだったので、設定してみましたがコンパイルエラーになりました。 また、何かいい方法があったら教えて下さい。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ と、先程お知らせしたのですが、Microsoft DAO 3.6 Object Librayを設定した状態で、 データベースの変換からやり直したところ、 『このデータベースを変換または有効にするときにコンパイルエラーが発生しました』 というメッセージはでるものの、なんとか動くようになりました。 かなり助かりました。どうもありがとうございました!!