Forms Microsoft access VBA MsgBox没有响应,我做错了什么?

Forms Microsoft access VBA MsgBox没有响应,我做错了什么?,forms,ms-access,vba,checkout,msgbox,Forms,Ms Access,Vba,Checkout,Msgbox,所以我准备了一份资产结算表。有一个签出按钮,如果用户ID字段留空,我希望在单击时显示一条提示“需要用户ID”的消息。然而,我当前的代码并非如此,它只接受按钮点击,不管发生什么。我是不是遗漏了什么?(代码如下) 看起来用户ID字段没有注册为NULL,而是一个空字符串 更改行: If(IsNull(Me.USER\u ID))则 致: 如果(Nz(Me!USER_ID.Value)=“”),则 如果将if条件的第一行从if(IsNull(Me.User\u ID))更改为if(IsNull(Me.U

所以我准备了一份资产结算表。有一个签出按钮,如果用户ID字段留空,我希望在单击时显示一条提示“需要用户ID”的消息。然而,我当前的代码并非如此,它只接受按钮点击,不管发生什么。我是不是遗漏了什么?(代码如下)


看起来用户ID字段没有注册为
NULL
,而是一个空字符串

更改行:

If(IsNull(Me.USER\u ID))则

致:

如果(Nz(Me!USER_ID.Value)=“”),则


如果将
if
条件的第一行从
if(IsNull(Me.User\u ID))更改为
if(IsNull(Me.User\u ID)),则应捕获空用户ID

,然后将
更改为
if(IsNull(Me.User\u ID)或Me.User\u ID=“”)然后
它能工作吗?如果你在if语句上放置一个断点,并将鼠标悬停在
Me.USER\u ID
上,你将来可以看到发生了什么。然后您会看到它是一个空字符串,不为null。Nz更方便:
如果Nz(Me!USER_ID.Value)=“那么
Private Sub CHECK_OUT_BUTTON_Click()
    If (IsNull(Me.USER_ID)) Then
        MsgBox "User ID is required."
    Else
        If Me.Status.Value = "Checked Out" Then
           MsgBox "This device is currently in use."
        Else
            If (Me.Status.Value = "Available") And (Not IsNull(Me.USER_ID)) Then
                Me.Status.Value = "Checked Out"
                RunCommand acCmdSaveRecord
                Me.Requery
            End If
        End If
    End If
End Sub