質問: dbs.openrecordset("testdata", dbopendynaset) ヘルプ等を見ると、jetワークスペースでのみ 使用可と出てきます。 ado,dao,openrecordset等が理解しきれていないように思うのですが、 access97(dao?)では 何も出てこなかった上記のような内容、 何故accessプロジェクトでは 上手くいかないのでしょうか?
回答: vbaの画面を開いて、ツールの参照設定を見てごらん。microsoft activex data objects x.x libraryと、microsoft dao x.x objects libraryの両方にチェックが入っているんじゃないかなぁ・・・・。 もしそうなら、恐らくactivex data objectsの方が上になっているはずだ。daoの方が上にくるようにしてあげよう。これで一応は解決する・・・・はず。 daoとadoは、ものすごく簡単(そして不正確)に言ってしまうと ・daoはmdb内部を操作するもの ・adoは不特定多数のdbを操作するもので、jet dbを指定すればmdb内部も操作できるもの となる。 access2000以上はデフォルトでadoを使う設定になっているのだが、例えばaccess97からインポートしたようなmdbを使うと、そちらはdaoを使う設定になっていてバッティングが起こる事もある。 参照設定でdaoだけにチェックを入れてやってみてごらん。 もし最初からそうなっていたら私にはお手上げだ。