更新前访问表单字段中的VBA只能输入数字



我有一个表格,我想在其中填写资产或位置,并填写主管或领导或船员或工作组或工作组或工作人员工作组。我有代码并且它可以工作,但它只允许我在这些字段中输入数字。我希望能够在这些字段中输入数字和字母。

Private Sub Form_BeforeUpdate(Cancel As Integer)

If IsNull(Form_frmAddPM.Asset Or Form_frmAddPM.Location) Then
MsgBox "Please enter a value in an asset or location."
Cancel = True
End If

If IsNull(Form_frmAddPM.Supervisor Or Form_frmAddPM.Lead Or 
Form_frmAddPM.Crew Or Form_frmAddPM.Work_Group Or 
Form_frmAddPM.Crew_Work_Group) Then
MsgBox "Please enter value in Supervisor, Lead, Crew, Work Group, or 
Crew 
Work Group."
Cancel = True
End If
End Sub

我尝试将整数更改为不同的类型。使用上面的代码,当我尝试在表单中输入字母时,会弹出不匹配类型错误。

提前感谢您的帮助。

您使用的是按位OR运算符,该运算符要求您使用它的两个值都是整数(请参阅文档,VB.Net 但在 VBA 中的工作方式相同(

相反,您应该单独检查每个字段是否为 null:

Private Sub Form_BeforeUpdate(Cancel As Integer)

If IsNull(Form_frmAddPM.Asset) Or IsNull(Form_frmAddPM.Location) Then
MsgBox "Please enter a value in an asset or location."
Cancel = True
End If

If IsNull(Form_frmAddPM.Supervisor) Or IsNull(Form_frmAddPM.Lead) Or 
IsNull(Form_frmAddPM.Crew) Or IsNull(Form_frmAddPM.Work_Group) Or 
IsNull(Form_frmAddPM.Crew_Work_Group) Then
MsgBox "Please enter value in Supervisor, Lead, Crew, Work Group, or 
Crew 
Work Group."
Cancel = True
End If
End Sub

最新更新