我在Access 2010中创建了一个表单,并且我根据文本框(B和C)和选择表单组合框(A)填写了表单。问题是,如果任何文本框留空,我会得到“无效使用空值”错误。我注意到我可以避免这个错误,如果我昏暗的文本框作为Variant而不是Integer。我不确定这是否是正确的解决方案。我可以更改以下脚本以避免此错误吗?避免当字段为空时使用空错误无效
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
啊,愚蠢的,虽然 –