Microsoft Access 掲示板

サブフォームに条件により入力必須をしたい / 1

7 コメント
views
1
hiroton 2025/05/30 (金) 11:06:02 2a718@f966d

未選択では先に進めないようにしたい

フォーカス喪失時イベントでCancel=Trueするとコントロールから抜け出せなくなりますね

Private Sub F3_Exit(Cancel As Integer)
    If (Nz(Me!F1, 0) = 9 Or Nz(Me!F2, 0) = 9) And IsNull(Me!F3) Then Cancel = True
End Sub

ただ、これのほかにF3にフォーカスを移す方法を考える必要があります。自然にF3にフォーカスが移動するような作りであればいいですが、「F1に9を設定したあと、マウスでいろいろ操作して別なレコードに移った」のようなそもそもF3を触らないことがある操作が想定されるのであれば、どこかでレコードの内容をチェックしてF3にフォーカスを移すような制御が必要です
また、F3から抜け出せない状態になっていても「閉じる」操作等できることもあるので、そのあたりにも注意が必要です

最強はF1,F2の更新後処理で9をチェックしてポップアップ、作業ウィンドウ固定のF3入力用フォームを表示するとかですかね?

通報 ...