Ms access 无效使用空访问VBA

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

当我使用这个按钮时,我得到一个错误,因为如果,给一个错误无效使用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
    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的值