このフィールドは、BeforeUpdateコードを使用して特定のフィールドが入力されているかどうかを確認します。これらのフィールドは必須で、記入する必要があります。レコードを保存しないでください。他のフィールドがIDとスタッフフィールドなしで入力されている場合、メッセージボックスにポップアップが表示されます(必須フィールドなど)。次のようにフォームを終了する前にアクセスする必要のあるフィールド
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Nz([ID], "") = "" Then
MsgBox "The ID field is required.", vbExclamation, "Required Field"
Cancel = True
End If
If Nz([Staff], "") = "" Then
MsgBox "Staff field is required.", vbExclamation, "Required Field"
Cancel = True
Me.[Staff].SetFocus
End Sub
私は、「フォームを閉じる」ボタンがあります。このボタンをクリックすると
Private Sub CmdCloseForm_Click()
DoCmd.Close , ""
End Sub
は、私はフィールドが満たされていないという警告が出たが、その後、フォームが閉じます。私はYes/Noメッセージボックスに、フォームを閉じたいかどうかをユーザーに確認するように求めます。 BeforeUpdateサブフォームにYes/Noメッセージボックスを作成しました。ただし、サブCmdCloseFormは停止しません。
メッセージボックスを作成してフォームを終了するかどうかを確認する方法はありますか?例えば
:
If MsgBox("Would you like to close the form still? Changes won't be saved.", vbYesNo + vbQuestion, "Warning") = vbNo Then
Exit Sub
End If
私はCmdCloseForm関数に上記のMsgBoxを入れた場合、それは彼らがID /スタッフフィールドが欠落していることを知らせる前にユーザーに要求します。
おそらく、ボタンのクリックイベントでデータの検証を行う必要があります。 – June7