2016-11-20 52 views
0

我是編碼新手,正在嘗試開發一個允許我填充數據庫的用戶表單。VBA中的修復類型不匹配錯誤13

我想爲可以通過用戶窗體輸入到數據庫的數據設置一些驗證。

我正在使用的代碼如下所示,其中Reg是我的用戶窗體上控件的名稱。

當我運行這部分代碼時,它停在第一行並顯示類型不匹配錯誤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

你可以把if語句放入代碼塊嗎? – user1

回答

2

您的代碼可能有其他的問題,但這樣的表達式

Reg15.Value <> "0" Or "" 

是一個類型不匹配。 ""是一個字符串,不是布爾值。

通過

Reg15.Value <> "0" And Reg15.Value <> "" 

(我認爲這是你的意圖)更換Reg15.Value <> "0" Or ""將消除這些類型不匹配。

+0

謝謝約翰,這似乎已經清除了它。 – Wizard0800