- ベストアンサー
Access2003でイベントが発生しないのはなぜ?
いつもお世話になっています。 Access2000を使用して作ったソフトで、 あるコマンドボタンクリック時に、 イベントプロシージャを記入しているのですが、 それを2003形式に変換して、2003の入っている別のPCで実行すると、 ボタンをクリックしても、うんともすんともいいません。 エラーすら飛んできません。 で、どこでつまずいているのか調べるために、 ブレークポイントを使用してコードを止めながら 一行ずつ実行していくと、 ・・・あれ?通った・・・ そして一度通った後は何事も無かったように、 ボタンクリックでイベントが発生するようになってしまった為、 原因がわかりません。 切り分けをしてみたところ、 そのボタンのプロパティ イベントのクリック時の [イベントプロシージャ]を指定してある横の[・・・]ボタンを 一度クリックしてVBAを開いてあげると、 通るようになるみたいです。 他のボタンではそのような現象はみられていませんし、 イベントに[イベントプロシージャ]も指定してありますし、 [・・・]をクリックすると、ちゃんと指定のコードにも飛びます。 おまけにAccess2000だと、何の問題もなく通ります。 似たような状態になった方や、 原因や対処方法をご存知の方が見えましたら、 ご教授頂けると幸いです。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
補足:不可思議な現象と原因。 1、ネットワークを通じてのコピーによる不具合<-->コピー要領の変更。 2、Access テーブルの破損<-->Accessの修復。 3、Access 自体の不具合<-->再インストール。 4、VB6.0のバージョンとの兼ね合い<-->VB6.0のバージョンアップ。 5、Access の関数の誤動作<-->関数を削除し再作成。 6、ハードディスクの不具合<-->チェックディスク。 色々です。
その他の回答 (2)
- DexMachina
- ベストアンサー率73% (1287/1744)
以前、同様の現象についてのご質問に回答したことがありましたので、そちらへの リンクを提示させて戴きます。 (質問者の方については解決に至らなかったようですので、参考になるかどうかも 微妙ですが(汗)) http://oshiete1.goo.ne.jp/qa3039265.html ADO/DAOを使用されているのであれば、そこの部分でADO/DAOを明示した宣言を 行うと(Dim dbs As Database → Dim dbs As DAO.Database 等)、もしかしたらですが 解消するかもしれません。 (Access2000はDAO優先、一方Access2003はADO優先のため、前者で作成した DAO準拠のコードが、後者で開いた場合はADOで解釈され、DAOにしかない プロパティ等を参照した際に、内部で何らかのエラーとなっているのではないか、と: 上記推測が正しいなら、エラーメッセージが出ないのはAccessそのもののバグ ということになるかと思いますが) なお、私自身については、その後、職場のOfficeも2003に切り替わったためか、 自宅持ち帰り時にも現象は再発しなくなりました。 ですので、解決の方向性としては邪道ですが(汗)、可能であれば2003で統一する、 というのも、ひとつの策ではあります。
お礼
返事が遅くなり申し訳ありません。 ご回答ありがとうございました。 参考にさせて頂きます。
Q、Access2003でイベントが発生しないのはなぜ? A、Access2003でイベントが発生しないには理由があるのでは? どうしてなのかは文面からは判りません。 1、コード自体に問題があるかもしれないし・・・ 2、不具合が発生しているかもしれないし・・・ いずれにしろ、 1、Access2003 で新しいDBを作成。 2、関連部分のみを一からコピペじゃなく手打ちで書く。 で、<再現性のありやなしや>の確認が先決かと・・・。
お礼
返事がおそくなり申し訳ありません。 ご回答ありがとうございました。 参考にさせて頂きます。
お礼
返事が遅くなり申し訳ありません。 ご回答ありがとうございました。 参考にさせて頂きます。