忍者ブログ
日常だったりネタだったり作品の進捗だったり……色々書きます。不定期に。
04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 管理画面

    [PR]

    ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    Access VBA―マウスホイール制御

    こんばんは若槻です。きりちゃんのところにぽんと投下してきた
    VBAの修正版が出来たから載っけてみます。


    「Access VBA マウスホイール制御」
    ○やりたいこと
    →フォームでマウスホイールをするとレコードが移動してしまうので
     それをなくす

    ○ソース

    Dim bbb As Integer

    '=============================================
    ' フォームの読み込み時
    '=============================================
    Private Sub Form_Load()
      bbb = 0
    End Sub

    ☆やっていること
    フォームの読み込み時に変数bbbに0を入れる


    '=============================================
    'レコード移動時
    '=============================================
    Private Sub Form_Current()
     If Me.NewRecord Then Exit Sub
     
     Me.[コントロール名].SetFocus
     Me.Dirty = True
    End Sub

    ☆やっていること
    レコード移動時の処理。
     1.次のレコードが新しいレコードの時は作用しない
     2.どれでもいいからコントロールを選んでおく。これを選ばないとエラーになる
     3.「Dirty」はカレントレコードの変更の有無を表す。今はTrueなので変更有り 
       →変更有り=更新前処理が入る


    '=============================================
    ' マウスホイールを動かした時
    '=============================================
    Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
      bbb = Count
    End Sub

    ☆やっていること
    マウスホイールが動かされたらbbbにCountの値を入れる
    (Countの値=ホイールされて動こうとしているレコードの数)


    '=============================================
    ' レコードに変更があった時
    '=============================================
    Private Sub Form_BeforeUpdate(Cancel As Integer)
      If bbb <> 0 Then
        Cancel = True
        bbb = 0
      End If
    End Sub

    ☆やっていること
    bbbの値が0でない時にCancelをTrueにして処理をキャンセルする。
    ※1ここでキャンセルされると移動もキャンセルになる
    ※2判断は必ず「0でない」にする。bbbの値はマイナス値にもなる
    ※3bbbの値を初期化しておく
    (上のレコード移動時の処理を超えると自動的に入ってくる)


    =======================
    ◎修正前
    →前回はString型で文字を入れる感じでやっていたのですが、
     思いっきりホイールすると動いてしまったので数値型にしました。
     (きりちゃん報告。自分で確認しろよって話ですね分かりまs)

    細かい原理は理解しきれてませんが多分一気にやるとどっかしらで
    値が入らなくなるんだと思います。
    というわけで数値型でFA。

    ※注意※
    上のソースは若槻が触る分には特に問題はありませんでしたが、
    プログラムによっては不具合を起こす可能性、動作しない可能性も
    あります。その場合にこちらで責任を取ることは出来ませんので
    ご了承ください。



    =2013/07/04 追記=
    VBAやPC系で学んだことをまとめる備忘録ブログを
    作りました。


    若風備忘録


    内容は徐々に増えますが、こちらの内容もそちらに
    入っています。

    この記事に関しては説明等の内容は特に変わりません。






    以下拍手返信です。
    サイト拍手含め名無しの拍手の方々もありがとうございます!

     


    拍手[4回]





    ~マコトさん~
    拍手&コメントありがとうございます^^
    きゃーお久しぶりですー! 実は昨日どうなさってるかなーって
    思ってたんです。なんというナイスタイミングv

    「砂糖菓子」ご覧いただきありがとうございます!
    「男女の友情なんてないよ」と言われがちですがどうしても
    書きたくなる性分でして……!
    顔をにやけさせられたのならば勝利と思ってよいですね(・∀・*)!?←


    また、おとといの件についてもコメントありがとうございます。
    本当に、身近に訳の分からない人間がいると疲れますね。
    私も母にスルーしなさいと言われるのですがカチンと来ると
    ついつい反論してしまいまして……未熟なんですorz

    休日はやりたいことやりつつまったりしようと思いますノ

    PR

    お名前
    タイトル
    文字色
    URL
    コメント
    パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
    非公開コメント
    [502]  [500]  [499]  [497]  [496]  [495]  [494]  [493]  [492]  [491]  [490
    カレンダー
    03 2024/04 05
    S M T W T F S
    1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30
    ブログ内検索
    最新コメント
    [05/27 きり]
    [01/13 きり]
    [06/06 わんこ]
    [03/30 サイトウ]
    [06/09 yu]
    カウンター
    アクセス解析


    フリーエリア
    コガネモチ


        ◆ graphics by アンの小箱 ◆ designed by Anne ◆

        忍者ブログ [PR]