2016-11-20 23 views
0

私はコーディングが新しく、データベースを作成できるユーザーフォームを開発しようとしています。VBAでの固定タイプの不一致エラー13

私は、userformを使用してデータベースに入力できるデータの検証をいくつか設定しようとしています。

私がこれに使用しているコードは、以下のとおりです。ここで、Regは私のuserformのコントロールの名前です。

コードのこの部分を実行すると、最初の行で停止し、種類の不一致エラー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

関連する問題