Access 2010でフォームを作成し、テキストボックス(BとC)に基づいてフォームを入力し、選択フォームにコンボボックス(A)を入力します。問題は、テキストボックスのいずれかが空のままで、「無効なNull使用」エラーが発生した場合です。私はIntegerの代わりにVariantとしてテキストボックスを暗くするとこのエラーを回避できることに気付きました。これが正しい解決策であるかどうかはわかりません。このエラーを回避するために、次のスクリプトを変更することはできますか?フィールドが空のときにNullエラーを無効にする
Private Sub ABCBoxEnter_Click()
Dim A As String
Dim B As Integer
Dim C As Integer
If Not IsNull(Me!ComboBox.Value) Then
A = Me!ComboBox.Value
B = Afield
C = Bfield
values = "VALUES ("
values = values & "'" & ID & "','" & A & "','" & B & "','" & C & "')"
SQL = "INSERT INTO ContactTable (ID, A, B, C)"
SQL = SQL & values
DoCmd.RunSQL SQL
Me.B.Value = ""
Me.C.Value = ""
End If
End Sub
'Me!ComboBox.Value'が' Null'の場合、 'A = Me!ComboBox.Value'に無効なnullの使用がスローされます。ただし、' A'が 'Variant'として指定されている場合を除きます。 'A = CSql(Me!ComboBox.Value)'と 'B'と' C'の場合と同じことは、 'CSql'のときにもっと有効なアプローチになります。それで 'B'と' C'は文字列でなければなりません。 –
@ErikvonAsmuth:いいえ、それは直前の_If_(上記の行)によって除外されています。しかし_CSql_への私の追加されたリンクを見てください。 – Gustav
ああ、愚かな、まだ 'B'と' C'のためにtrue –