Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1375 / 2272 ツリー ←次へ | 前へ→

【7458】カーソル SK 06/3/7(火) 11:26 質問[未読]
【7459】Re:カーソル Gin_II 06/3/7(火) 11:30 回答[未読]
【7460】Re:カーソル SK 06/3/7(火) 12:19 質問[未読]
【7461】Re:カーソル SK 06/3/7(火) 12:27 お礼[未読]
【7463】Re:カーソル hatena 06/3/8(水) 9:15 回答[未読]

【7458】カーソル
質問  SK  - 06/3/7(火) 11:26 -

引用なし
パスワード
   宜しくお願いします。

ボックス XX に入力された値をチェックし、エラーだったら、"エラー”と表示し
カソールを XX に戻したいのですが、下記コーディングでそう動きません。
何故でしょうか。

Private Sub XX_EXIT(CANCEL As Integer)

If (条件) Then

  MsgBox ("エラー")
  DoCmd.GoToControl "XX"
    
End If

End Sub

ちなみに、

Private Sub YY_EXIT(CANCEL As Integer)

   DoCmd.GoToControl "XX"

End Sub

とすると、YY入力後、カーソルはXXに移動します。

【7459】Re:カーソル
回答  Gin_II  - 06/3/7(火) 11:30 -

引用なし
パスワード
   >カソールを XX に戻したいのですが、下記コーディングでそう動きません。

>  DoCmd.GoToControl "XX"

Cancel = True

に変更してみてください。

【7460】Re:カーソル
質問  SK  - 06/3/7(火) 12:19 -

引用なし
パスワード
   Private Sub XX_EXIT(CANCEL As Integer)

If (条件) Then

  MsgBox ("エラー")
  CANCEL = True

End If

End Sub

としましたが、結果は同じです。
何か間違っていますか?

【7461】Re:カーソル
お礼  SK  - 06/3/7(火) 12:27 -

引用なし
パスワード
   失礼。フォーカス喪失時イベントのチェックが知らないうちにはずれていました。
これで解決いたしました。
有難うございます。

【7463】Re:カーソル
回答  hatena  - 06/3/8(水) 9:15 -

引用なし
パスワード
   >これで解決いたしました。

解決済みのようですが、
入力チェックなら、更新前処理のイベントの方が適切です。

フォーカス喪失時だと下記の問題点があります。

データを更新した後、メニューの[レコート]-[レコードの保存]や
Shift+Enterなどで保存した場合、フォーカス喪失時イベントは
発生しないのでチェックできない。

1375 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free