• ベストアンサー

Access2003でイベントが発生しないのはなぜ?

いつもお世話になっています。 Access2000を使用して作ったソフトで、 あるコマンドボタンクリック時に、 イベントプロシージャを記入しているのですが、 それを2003形式に変換して、2003の入っている別のPCで実行すると、 ボタンをクリックしても、うんともすんともいいません。 エラーすら飛んできません。 で、どこでつまずいているのか調べるために、 ブレークポイントを使用してコードを止めながら 一行ずつ実行していくと、 ・・・あれ?通った・・・ そして一度通った後は何事も無かったように、 ボタンクリックでイベントが発生するようになってしまった為、 原因がわかりません。 切り分けをしてみたところ、 そのボタンのプロパティ イベントのクリック時の [イベントプロシージャ]を指定してある横の[・・・]ボタンを 一度クリックしてVBAを開いてあげると、 通るようになるみたいです。 他のボタンではそのような現象はみられていませんし、 イベントに[イベントプロシージャ]も指定してありますし、 [・・・]をクリックすると、ちゃんと指定のコードにも飛びます。 おまけにAccess2000だと、何の問題もなく通ります。 似たような状態になった方や、 原因や対処方法をご存知の方が見えましたら、 ご教授頂けると幸いです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.3

補足:不可思議な現象と原因。 1、ネットワークを通じてのコピーによる不具合<-->コピー要領の変更。 2、Access テーブルの破損<-->Accessの修復。 3、Access 自体の不具合<-->再インストール。 4、VB6.0のバージョンとの兼ね合い<-->VB6.0のバージョンアップ。 5、Access の関数の誤動作<-->関数を削除し再作成。 6、ハードディスクの不具合<-->チェックディスク。 色々です。

chulara
質問者

お礼

返事が遅くなり申し訳ありません。 ご回答ありがとうございました。 参考にさせて頂きます。

その他の回答 (2)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

以前、同様の現象についてのご質問に回答したことがありましたので、そちらへの リンクを提示させて戴きます。 (質問者の方については解決に至らなかったようですので、参考になるかどうかも  微妙ですが(汗)) 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で統一する、 というのも、ひとつの策ではあります。

chulara
質問者

お礼

返事が遅くなり申し訳ありません。 ご回答ありがとうございました。 参考にさせて頂きます。

noname#140971
noname#140971
回答No.1

Q、Access2003でイベントが発生しないのはなぜ? A、Access2003でイベントが発生しないには理由があるのでは? どうしてなのかは文面からは判りません。 1、コード自体に問題があるかもしれないし・・・ 2、不具合が発生しているかもしれないし・・・ いずれにしろ、 1、Access2003 で新しいDBを作成。 2、関連部分のみを一からコピペじゃなく手打ちで書く。 で、<再現性のありやなしや>の確認が先決かと・・・。

chulara
質問者

お礼

返事がおそくなり申し訳ありません。 ご回答ありがとうございました。 参考にさせて頂きます。

関連するQ&A