Ms access 无效使用空访问VBA
当我使用这个按钮时,我得到一个错误,因为如果,给一个错误无效使用null,有人能解释吗Ms access 无效使用空访问VBA,ms-access,vba,Ms Access,Vba,当我使用这个按钮时,我得到一个错误,因为如果,给一个错误无效使用null,有人能解释吗 Sub Concluído_Click() Dim novonome As String Dim dataadmi As Date Dim datanasc As Date Dim Email As Hyperlink Dim Cargo As String Dim Categoria As String Dim ingless As String
Sub Concluído_Click()
Dim novonome As String
Dim dataadmi As Date
Dim datanasc As Date
Dim Email As Hyperlink
Dim Cargo As String
Dim Categoria As String
Dim ingless As String
Dim inglesw As String
Dim coordeq As String
Dim relcli As String
Dim Java As String
Dim SQL As String
Dim PHP As String
Dim wserv As String
Dim Vendas As String
Dim dgraf As String
Set table = New ADODB.Recordset
With Form_Funcionários
**If Len(.Nome.value & "") = 0 Or _
ValornaColuna(.Nome.value, "Funcionários", "Nome") = True Then**
MsgBox "Campo Nome do Formulario encontra-se vazio ou ja existe! Por favor altere o seu valor!", vbOKOnly, "Campo Vazio"
End If
End With
HideAll
End Sub
Private Function ValornaColuna(ByVal value As String, ByVal formTable As String, ByVal formColumn As String) As Boolean
Dim valueToCompare As String
Dim C As Boolean
Set table = New ADODB.Recordset
table.Open formTable, CurrentProject.Connection, adOpenDynamic, adLockReadOnly
C = False
While table.EOF = False And ExistsInColumn = False
valueToCompare = table.Fields(formColumn)
If StrComp(valueToCompare, value, vbTextCompare) = 0 Then
C = True
End If
table.MoveNext
Wend
table.Close
End Function
每当.Nome.value
为Null时,这将抛出一个错误(无效使用Null),因为ValornaColuna
要求字符串作为其第一个参数的数据类型。Null不是字符串类型
如果Len(.Nome.value&“”)=0或_
ValornaColuna(.Nome.value,“functionários”,“Nome”)=则为真
只要.Nome.value
为空,就可以使用Nz
传入空字符串来避免该错误
如果Len(.Nome.value&“”)=0或_
Valornacouna(新西兰(.Nome.value,vbNullSting),“functionários”,“Nome”)=那么为真
谢谢--我遇到过一个类似的情况,我将一个例程声明为公共函数EmailField(Title,Value)为String
在我“改进”参数列表,使其成为公共函数EmailField(Title为String,Value为String)为String后开始抛出错误。我的最终答案是公共函数EmailField(标题为String,值)为String
,然后在例程中处理可能为null的值