• ベストアンサー

Access2002のコマンドボタンについて

Windows2000とWindowsXP上でAccess2002で作ったソフトを動かしています。 現象が絞りきれていないのですが、時々、VBAソースの一部を修正すると、 コマンドボタンのClickイベントが効かなくなります。 ソースはそのまま存在します。 困ったことに、動かなくなってから特に何も修正をしないまま、 デバッグを何度かすると元通りにイベントが発生するように戻ります。 このような場合、どのような点から原因を調査するのが良いのでしょうか? また、このような事例をご経験された方がいましたら、 アドヴァイスをお願いいたします。

  • nobil
  • お礼率90% (27/30)

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

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

参考になるかわかりませんが・・・ 以下は、私が職場(WinXP・Home&Acc2000)で作成したコードを 自宅(WinXP・Pro&Acc2003)に持ち帰って作業する際に頻発して いるエラーへの、私の対応方法です。 1)適当なモジュールを開く 2)メニューで「ツール(T)→参照設定(R)」を選択 3)優先順位を「VBA・Access Object・OLE Automation・DAO・ADO」に  変更 4)「OK」ボタンをクリック 5)メニューで「デバッグ(D)→○○のコンパイル(L)」を実行 ・・・以上です。 ADOよりDAOの優先順位を上げているのは、私がDAOベースでDBを 作成しているからなのですが、このエラー対策でのポイントは、むしろ 「OLE Automation」の優先順位が、DAO等より上位になっている点、 のような感じがしています。 *ネットを探せば、参照設定の優先順位を自動で変えるコードも見つけ  られるかもしれませんが・・・結局探すことなく今に至っています(汗)

nobil
質問者

お礼

DexMachinaさん、ご回答ありがとうございます。 今回のは、前任者が作ったソフトで、ADOもDAOも混在したもので、 なかなか手を焼いています。(^^; この参照設定の優先順位を変えるという手法をやってはみましたが、 どうも現象的には変わらないようです。 また、違う手段を模索してみます。 ありがとうございます。

関連するQ&A

  • Accessのコマンドボタンについて

    Access97を使用しています。 Accessのレポート(単票形式)を作成したのですが、画面上のコマンドボタンをクリックしようとしてもカーソルが「虫眼鏡マーク」のままで作動しません。 超初心者なので「フォーム」と「レポート」の区別が今一つ付いていないのですが、「レポート」上ではコマンドボタンは使えないのでしょうか? やりたいことは、 (1) コマンドボタンを押すと、入力用フォームから該当するレコードの単票形式レポートが出力されるよう、設定したい(いちいち該当ページ番号を指定して印刷するのが面倒なので)。 (2) コマンドボタンを押すと、該当するレコードの入力用フォームと単票レポートとの間を行ったり来たり出来るようにしたい(修正・追記が多いので)。 現在は、入力用と出力用の2つの「フォーム」を作成してデータの行き来をしているのですが、レイアウトが違うだけでデータソース自体は全く同じなので、何となく間が抜けている気がするのです。メモリも食いそうだし。 初歩的な質問で申し訳ありませんが、宜しくお願いします。

  • コマンドボタンがきかなくなる

    アクセスのフォーム上にコマンドボタンがいくつかあります。 たまにですが、コマンドボタンを押しても何も反応しなくなる時があります。 プロパティでクリック時に[イベント プロシージャ]と書いてあり、 VBE画面を見てみると ちゃんとイベントが記載してあります。 しかしフォームビューにしてそのコマンドボタンをクリックすると何も起きません。 新規にコマンドボタンを作って、vbe画面で同じイベントを張り付けると 新規のコマンドボタンのほうではクリックしてイベントが実行されます。 だから、その新規のコマンドボタンの名前を変えて使い続けるのですが、 しばらくするとほかのコマンドボタンがまたきかなくなる時があります。 これはアクセスのバグでしょうか? 原因がわかりません。 バージョンは2010です。

  • AccessからExcelのコマンドボタンイベント

    Access2003 WinXP です。宜しくお願いします。 AccessのVBAでExcelファイルをコピーしたり開いたり テキストボックスの内容を書き換えたりしています。 Excelにてコントロールツールボックスから作成したコマンドボタンがあるのですが、このボタンのクリックイベントを AccessのVBAから実行させる方法を探しています。 ちなみに訳あって標準モジュールに書かれているわけではないので マクロを呼び出す方法は不可でした;; 標準モジュールに移すのは無しの方向で どなたか分かる方いらっしゃいましたらお願いします。

  • アクセスのコマンドボタンについて

    アクセスについて教えて下さい。 コマンドボタンで、フォームのデータをワンクリックで開くように設定したいのですが、コマンドボタンウィザードを使って、 フォームの操作→フォームを開く→フォームを指定 という操作でボタンを作りました。 ですが、ボタンをクリックして操作しようとすると、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました:名前が適切ではありません:(フォーム名)_Click   *マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。   *関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージが出てきて、フォームを開くことができませんでした。 ウィザードだけではフォームを開くボタンを作成することはできないのでしょうか? 何か対処があれば教えて下さい。 よろしくお願いいたします。

  • アクセスで、コマンドボタンを出現させるには

    VBAの初心者です。 アクセスで、情報検索の画面をつくっています。 フォーム上に、情報の検索結果と、「編集画面へ」というボタンがあります。 いま、検索して出た結果を自分で修正して、「確定」というボタンを押すと、修正結果が反映されようにしたいです。 そのために、「編集画面へ」というボタンを押すと、「確定」ボタンが画面に現れるようにしたいのですが、どうすれば出来るようになるでしょうか。 どなたか教えてください。

  • アクセスでテーブルで使用するコマンドボタンの作り方

    アクセスは詳しくありませんが、今言われて困っています。 コマンドボタンはすぐにつくれるのでしょうか? VBAを使うとか? マクロとか? 言われたのですが・・・ 勉強を始めたばかりでまだ良くわかっていません。 教えて下さい。 便利はサイトがあればそこのURLも教えて欲しいです。 よろしくお願い致します。

  • コマンドボタンの使い方

    エクセルVBAでシート上にコマンドボタンを配置して コマンドボタンに二つの動作を割り当てしたいのですが、できますか? コマンドボタンを押すと、ボタンがくぼんだ状態(B)になって、くぼんだ状態で押すと ボタンが元の状態(A)に戻るようなイメージです。 状態Aが通常状態で状態Bがコマンドボタンが押されたままの状態です。 説明が難しいです。

  • コマンドボタンを押すとHPにアクセスVBA

    エクセルVBAの質問です。 コマンドボタンを押すと「インターネットホームページにアクセスします、宜しいでしょうか?」とMsg Boxpが出現して「はい」を選択すると、パソコンに入ってるMozilla Firefoxでホームページ(https://www.monotaro.com/)を開くVBAは、どの様にすれば宜しいでしょうか?

  • accessで ラベルをクリックしたときにコマンドボタンのような動作をさせたいのです。

    こんにちは。よろしくお願いします。m(__)m アクセスのフォームに、コマンドボタンを貼り付けて、クリック時にいろいろな動作を設定しているのですが、コマンドボタンには色をつけられないので、なんだか味気ないのです。 それで、ラベルを使うと色もつけられるし、クリック時のイベントプロシージャーも使えるし、便利だよと教えてもらったのですが、クリックしても、したのかどうか、わからないので、頼りないのです。 そこで、マウスボタンクリック時と、解放時のイベントプロシージャーを設定してやるといいよときいて、そうかぁ、なるほどぉ!! と思い、やってみようとしているのですが、どのように設定したらいいのか、さっぱりわかりません。 クリックしたときに、コマンドボタンのような動作をさせるには、どのように設定したらいいのか、教えていただけるとうれしいです。 よろしくお願いします。

  • 下の移動ボタンと同じような動きをコマンドボタンで実

    アクセスです。 フォームの下の移動ボタンと同じような動きをコマンドボタンで実行したいです。 下のボタンは小さすぎて押しずらいので、 前へ、次へと言うコマンドボタンを作り Private Sub cmd_前へ_Click() Call Form_Current End Sub と言う形で、Currentイベントを呼び出してるのですが、 確かにCurrentイベントは実行されるのですが 次へのレコードへの移動はできません。 VBAで下の移動ボタンと同じように前後のレコードに移動する方法はありますか?

専門家に質問してみよう