MsAccess 表单 - 最初为空记录,但需要在数据输入开始后强制填写

MsAccess form - empty records originally, but needed to be filled mandatory, once the data entry started

我有 MsAccess 表单:

ClientName, ID fields - records filled with the information
Gender, Race, PrimaryLanguage fields (combo box type) are empty records

用户将使用该信息填写性别、种族和主要语言、主要残疾字段。 我的目标是 - 在用户移动到下一条记录之前,我希望他在这些字段(性别/种族)填满其内容之前无法继续。

问题是 - 性别 / 种族 / 主要语言, 现有客户的 PrimaryDisability 必须留空,但同时 - 当用户开始填写时,需要强制填写。

只有在我添加新记录的情况下,它才会以这种方式工作。 (我有所需的性别/种族字段)- 但不适用于现有记录。

PS - 下面提供的答案很好,但对我来说只适用于 2 个字段 3个或更多字段呢?

我想将事件过程添加到表单中的每个按钮,而不是 整个表格。 代码应该是这样的:

Private Sub Gender_BeforeUpdate(Cancel As Integer)
    If Nz(Me.Gender, "") = "" And (Nz(Me.Race, "") <> "" 
       Or (Nz(Me. PrimaryLanguage, "") <> ""  
       Or (Nz(Me. PrimaryDisability, "") <> "")
    Then
       MsgBox "Select Gender", vbInformation
       Cancel = True
   End If
End Sub

但是它说语法错误

请帮忙!

使用 BeforeUpdate 事件在移动到另一条记录之前取消对记录的更新

 Private Sub Form_BeforeUpdate(Cancel As Integer)


  If Nz(Me.ClientName, "") <> "" And Nz(Me.Gender, "") = "" And Nz(Me.Race, "") = "" And Nz(Me.PrimaryLanguage, "") = "" And Nz(Me.PrimaryDisability, "") = "" Then
          Exit Sub
  End If

  If Nz(Me.Gender, "") = "" Then
          MsgBox "Select Gender", vbInformation
          Cancel = True
          Exit Sub
     End If

    If Nz(Me.Race, "") = "" Then
          MsgBox "Select Race", vbInformation
          Cancel = True
          Exit Sub
     End If

     If Nz(Me.PrimaryLanguage, "") = "" Then
          MsgBox "Enter PrimaryLanguage", vbInformation
          Cancel = True
          Exit Sub
     End If

     If Nz(Me.PrimaryDisability, "") = "" Then
          MsgBox "Enter PrimaryDisability ", vbInformation
          Cancel = True
          Exit Sub
     End If
End Sub