• 締切済み

困っています

ACCESSのフォームにテキストボックスとコマンドボタンをつくり テキストボックスのBeforeUpdateに If Len(Me.テクスト) = 1 Then MsgBox "Error" End If コマンドボックスのClickイベントに MSGBOX "クリック" のように書いたとき テキストボックスに1文字入れてコマンドボタンを押すと 先に "Error"が出てしまいます コマンドボタンをクリックしたときにクリックイベントを先に走らす方法って有るのでしょうか? もしくはテキストの BeforeUpdate か LostFocus イベントでコマンドボタンをクリックしたのを判別する方法って有るのでしょうか? よろしくお願いします

みんなの回答

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

コマンドボタンをクリックしたときに、テキストボックスの入力値の判定をしたい、ということと推測した上で、お答えします。 (見当違いでしたらすみません) テキストボックスのBeforeUpdateイベントには何も置かず、コマンドボタンのOnClickイベントにその内容を記述してはどうでしょうか。 (その上で、Exit Subなどで処理を中止、と)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>テキストボックスに1文字入れてコマンドボタンを押すと先に "Error"が出てしまいます ボタンをクリックした時に更新前処理などはテキストボックスのイベントが先に処理されます。 メッセージだけ表示するなら更新前処理のイベントにMSGBOX "クリック"を先に記述しないとダメじゃないですか? Private Sub テクスト_BeforeUpdate(Cancel As Integer) MSGBOX "クリック" If Len(Me.テクスト) = 1 Then MsgBox "Error" End If End Sub のように

関連するQ&A