我是编码的新手,我正在尝试开发一个允许我填充数据库的用户表单。
我正在尝试为可以通过userform输入到数据库的数据设置一些验证。
我正在使用的代码如下所示,其中Reg是我的用户窗体上控件的名称。
当我运行这部分代码时,它会在第一行停止并显示Type Mismatch Error 13消息框。
非常感谢您提供的任何帮助。
Sub ValidCombo1()
If Reg18.Value = "" And ((Reg17.Value <> "1" Or (Reg15.Value <> "0" Or "") Or Reg16.Value <> "A" Or Reg19.Value <> "") Or (Reg17.Value <> "" And Reg15.Value <> "" And Reg16.Value <> "" And Reg19.Value <> "")) Then
MsgBox "Invalid Foundations combination"
Reg13.Value = ""
ElseIf Reg25.Value = "" And ((Reg24.Value <> "1" Or (Reg22.Value <> "0" Or "") Or Reg23.Value <> "A" Or Reg26.Value <> "") Or (Reg24.Value <> "" And Reg22.Value <> "" And Reg23.Value <> "" And Reg26.Value <> "")) Then
MsgBox "Invalid Inverts and Aprons combination"
Reg13.Value = ""
答案 0 :(得分:2)
您的代码可能还有其他问题,但
等表达式Reg15.Value <> "0" Or ""
是类型不匹配。 ""
是一个字符串,而不是布尔值。
以
取代Reg15.Value <> "0" Or ""
Reg15.Value <> "0" And Reg15.Value <> ""
(我认为是你的意图)将消除那些类型不匹配。