Forms Microsoft access VBA MsgBox没有响应,我做错了什么?
所以我准备了一份资产结算表。有一个签出按钮,如果用户ID字段留空,我希望在单击时显示一条提示“需要用户ID”的消息。然而,我当前的代码并非如此,它只接受按钮点击,不管发生什么。我是不是遗漏了什么?(代码如下)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字段没有注册为
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