Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル長押しコマンドの実装
記事No83226
投稿日: 2018/01/06(Sat) 16:16
投稿者azusa
解決済: ON
OS:windows7
Access Version:2010

こんにちは。
フォームに日付の非連結テキストボックスがあり、その横に「進む」と「戻る」のコマンドボタンが有ります。
日付に基づいたサブフォームがあるのですが、連動させたくないので、
日付を選んでから、別のコマンドボタンで、選択日付のデータを抽出という処理にしました。
しかし、数年分の日付があるため、「進む」「戻る」の長押しで、繰り返し処理にしたく、以下のようにコードを書きましたが、うまくいきません。

Private Sub btnBck_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)

Me.TimerInterval = 100

End Sub


Private Sub btnBck_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)

Me.TimerInterval = 0

End Sub


Private Sub Form_Timer()

Me.txt日付 = Me.txt日付 - 1

End Sub

上記は戻る場合で、進む場合は、+1としています。

しかし、戻るボタンを押しても何も起きず、マウスアップ時のコードを取ると、稼働します。

参照先のタイマーコントロールというのが、よく分かりませんでした。
enabled というのは、どのように設定するものでしょうか。

どなたか、ご教示よろしくお願い致します。


参照先:
http://tsware.jp/study/vol5/event_04.htm
https://okwave.jp/qa/q280828.html

タイトルRe: 長押しコマンドの実装
記事No83227
投稿日: 2018/01/06(Sat) 21:04
投稿者hatena
解決済: ON
> 日付に基づいたサブフォームがあるのですが、連動させたくないので、
> 日付を選んでから、別のコマンドボタンで、選択日付のデータを抽出という処理にしました。
> しかし、数年分の日付があるため、「進む」「戻る」の長押しで、繰り返し処理にしたく、
> 以下のようにコードを書きましたが、うまくいきません。

クリック時に設定して、「自動繰り返し」プロパティを「はい」にすればいいのでは。

Private Sub btnBck_Click()
Me.txt日付 = Me.txt日付 - 1
Me.Repaint
End Sub


Me.Repaint がないと、マウスボタンを離すまで再描画されません。


もし、繰り返しが速すぎるという場合は、下記を参考に。

コマンドボタンの自動繰り返しの繰り返しが早すぎる - hatena chips
http://hatenachips.blog34.fc2.com/blog-entry-510.html

タイトルRe: 長押しコマンドの実装
記事No83228
投稿日: 2018/01/07(Sun) 12:37
投稿者hatena
解決済: ON
> 参照先のタイマーコントロールというのが、よく分かりませんでした。
> enabled というのは、どのように設定するものでしょうか。

okwave の参照先は Visual Basic の場合の話ですので、AccessのVBAには当てはまりません。
タイマーコントロールはAccessにはありません。

また、Accessの場合、コマンドボタンを押している間はタイマー時イベントは発生しません。


タイマ時イベントで時刻判断するときの注意点 - hatena chips
http://hatenachips.blog34.fc2.com/blog-entry-269.html

タイトルRe^2: 長押しコマンドの実装
記事No83229
投稿日: 2018/01/08(Mon) 12:19
投稿者azusa
解決済: ON
hatena 様

いつも的確で分かりやすいご回答ありがとうございます。

me.repaintは、試したのですが、MouseDown時のイベントに入れていたのが良くなかったのですね。

実は、先の参照先以外に

http://tsware.jp/study/vol5/event_04.htm

こちらのページも参照して、何故かクリック時イベントは繰り返し処理も含めてボタンを離すまで
実行されないものと思い込んでいました。

先入観ですね。
色々試すことは大事だと思いました。

結果、思い通りの動作に至る事ができました。
ただ、やはり早すぎたので、API?(はじめて知りました)でうまく調整もできました。

まだまだ学ぶことが多いです。

ありがとうございました。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る