dポイントプレゼントキャンペーン実施中!

VBA(Access95)で作成されたツールをAccess2000で動かすと、
コンパイルエラーになってうまく動きません。
今のところエラーになっている箇所は、
Dim xxx As Recordset
Global xxx As Database
です。
どうすれば問題なく動くようになりますか?
やっぱり、2000ではダメなんでしょうか??
よろしくお願いします。

A 回答 (2件)

Micorsoft DAO の参照設定がされていないためです。


Access2000が手元にないので、Access97の場合ですが、
モジュールを開いて、「ツール」-「参照設定」を選択し、
Microsoft DAO ObjectLibrayをチェックしてみてください。
それで対応できると思います。

この回答への補足

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
早速のご回答、どうもありがとうございました。
「ツール」-「参照設定」で、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を設定した状態で、
データベースの変換からやり直したところ、
『このデータベースを変換または有効にするときにコンパイルエラーが発生しました』
というメッセージはでるものの、なんとか動くようになりました。

かなり助かりました。どうもありがとうございました!!

補足日時:2001/04/18 10:45
    • good
    • 0
この回答へのお礼

早速のご回答、どうもありがとうございました。

「ツール」-「参照設定」で、Microsoft DAO ObjectLibrayを探してみました。
 Microsoft DAO 2.5/3.0 Compatibility Libray
 Microsoft DAO 3.0 Object Libray
 Microsoft DAO 3.6 ObjectLibray
それらしいのが上記の3つだったので、設定してみましたがコンパイルエラーになりました。

また、何かいい方法があったら教えて下さい。

お礼日時:2001/04/18 10:20

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~
のチェックを外しておけばよいと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

おかげさまで、何とか動くようになりました。

お礼日時:2001/04/18 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!