ACCESS2000 ボタンメッセージについて
ACCESS2000を使用しております。
フォームのボタンを押すとレポートが開くようになっています。
フォームのフィールド「終了日」がうるう年の2/28だったら、ボタンを押した時に警告のメッセージが出るようにしたいです。
現在は以下の通り、「終了日」を更新した時にメッセージが出るようにしています。
---
Private Sub 終了日_BeforeUpdate(Cancel As Integer)
Const cMsg = "うるう年ですけど、2/29じゃなくて大丈夫ですか?"
If Format(Me.終了日.Text, "mdd") = "228" And _
IsLeapYear(Year(Me.終了日.Text)) Then
If MsgBox(cMsg, vbYesNo) = vbNo Then
Cancel = True
End If
End If
End Sub
---
これをボタンの方にも流用しようと思い、(終了日を更新しない状態でもボタンを押すことがある為、その時点でもチェックを掛けたい)
以下を「マウスボタン解放時」に入れてみましたが、エラーが出てしまいました。
---
Private Sub Ctl_新_証書新規_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Const cMsg = "うるう年ですけど、2/29じゃなくて大丈夫ですか?"
If Format(Me.終了日.Text, "mdd") = "228" And _
IsLeapYear(Year(Me.終了日.Text)) Then
If MsgBox(cMsg, vbYesNo) = vbNo Then
Cancel = True
End If
End If
End Sub
---
エラー内容は以下の通りです。
実行時エラー'2185'
コントロールがフォーカスを取得していない時に、コントロールのプロパティまたはメソッドを参照することはできません。
そのままコピペしたので、値の更新をするとかしないとか、
ボタンを押した場合では関係ないので、その辺がエラーになっているのだと思うのですが、
どこを直したら良いのか分からず、お知恵をお貸し下さい。
要は、ボタンを押した時に警告メッセージを出し、「はい」であればレポートを開き(クリック時に開くマクロが入ってます)、「いいえ」であれば、開かずに元の画面のままが良いです。
宜しくお願いいたします。
お礼
ありがとうございました。 今後は「ファイル」→「閉じる」を心がけます。 それで変化があるかどうか、様子をみてみます。
補足
言われたとおりにやってみました。 最近は症状が出なくなりました。 ありがとうございました。