• ベストアンサー

Access97 マウスホイールでレコード移動させない方法?

Access97のフォームでマウスホイールを動かすとレコードが勝手に移動してしまいます。ジャンプでは無く、一レコードずつのスクロールです。ホイールを動かす向きに従い、先頭レコードまたは最終レコードへ移動します。移動中は、フォームの各コントロール値が目まぐるしく変化し、先頭か最終に到達するまでは、移動が止まりません。 移動は次の状態で発生します。 フォーム詳細部に設定したテキストボックスで且つフォーカスを取得しているボックス(カーソル点滅状態)にマウスカーソルを位置付けしてホイールを動かした時です。 テキストボックスがテーブルフィールドと連結・非連結に無関係に移動が発生します。 この移動を止める方法を教えて下さい。

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

  • ベストアンサー
noname#4564
noname#4564
回答No.2

サブクラス化で、WM_MouseWheel( = &H20A)のメッセージを抑止するしかありません。 しかし、Access 97 のVBAではAddressOf演算子が使えないので少々面倒です。 (↓下記を参照)

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=472635
kurichanchi
質問者

お礼

回答して戴いた内容がちょっと難しいですが、挑戦してみます。有り難うございました。

その他の回答 (1)

  • kbannai
  • ベストアンサー率32% (88/268)
回答No.1

レコード件数が多いときに、誤って(いつもの癖で)ホイールを回してしまうと、ビックリしてしまいますよね。 私もAccess97を使っていたときには、これに困りました。今では、Access2000にバージョンアップしましたので、このような症状はなくなりました。 Access97を使っていたときには、 1)フォームではホイールを使わず、専らEnterキーとTabキーを使うようにしていました。 (Enterキーで「次のレコードに移動する」設定にしています) 2)万一、ホイールを回してしまっていても、長時間待たされないために、条件で抽出して、件数を少なくしていました。 …設定でこの症状を回避できるなら、ぜひ私も知りたいです!

kurichanchi
質問者

お礼

Access2000へのバージョンアップも検討してみます。有り難うございました。

関連するQ&A