Function 在VB6中不返回任何内容

Function 在VB6中不返回任何内容,function,textbox,vb6,nothing,Function,Textbox,Vb6,Nothing,非常简单,我需要找出如何为VB6重写以下代码,以便我的应用程序不允许任何内容传递到textbox.text值 Function GetDbValue(ByVal tb) If tb.Text = "" Then Return Nothing Else Return tb.Text End If End Function 我收到“不返回任何内容”的语法错误 编辑: 存储过程 Set prm = cmdDlrID.CreateParameter("@ContractNumberField

非常简单,我需要找出如何为VB6重写以下代码,以便我的应用程序不允许任何内容传递到textbox.text值

Function GetDbValue(ByVal tb)
 If tb.Text = "" Then
Return Nothing
Else
 Return tb.Text
End If
  End Function
我收到“不返回任何内容”的语法错误

编辑:

存储过程

 Set prm = cmdDlrID.CreateParameter("@ContractNumberField", adVarChar, adParamInput, 50, GetDbValue(txtContNum))
 cmdDlrID.Parameters.Append prm
像这样尝试(未经测试):

IIRC,在VB6/VBA中,您不需要使用
Return
关键字来返回函数值,而是将返回值分配给函数名。

像这样尝试(未测试):


IIRC,在VB6/VBA中,如果不使用
Return
关键字返回函数值,则将返回值指定给函数的名称。

如果我没有记错在VB6中返回值,则将函数设置为该值

所以你的代码看起来像这样

Function GetDbValue(ByVal tb as TextBox) as String
 If tb.Text = "" Then
    GetDbValue =  Nothing
 Else
    GetDbValue = tb.Text
 End If
End Function

可以找到关于子程序和函数的简短教程

如果我没有记错在VB6中返回一个值,您可以将函数设置为该值

所以你的代码看起来像这样

Function GetDbValue(ByVal tb as TextBox) as String
 If tb.Text = "" Then
    GetDbValue =  Nothing
 Else
    GetDbValue = tb.Text
 End If
End Function

在VB6中可以找到关于子程序和函数的简短教程。至少有四种不同类型的nothing:

  • ,作为对象的空指针
  • vbNullString
    ,作为字符串的空指针
  • 为空
    ,未初始化的变体
  • Null
    ,传递给数据库或从数据库传递过来的空值
如果要将函数传递到ADO参数中,则需要
Null
,而不是
Nothing

Function GetDbValue(ByVal tb)
    If tb.Text = "" Then
        GetDbValue = Null
    Else
        GetDbValue = tb.Text
    End If
End Function

在VB6中,至少有四种不同类型的nothing:

  • ,作为对象的空指针
  • vbNullString
    ,作为字符串的空指针
  • 为空
    ,未初始化的变体
  • Null
    ,传递给数据库或从数据库传递过来的空值
如果要将函数传递到ADO参数中,则需要
Null
,而不是
Nothing

Function GetDbValue(ByVal tb)
    If tb.Text = "" Then
        GetDbValue = Null
    Else
        GetDbValue = tb.Text
    End If
End Function

好的,这似乎是可行的,但当我尝试将此nothing存储到数据库中时,会出现“应用程序在当前操作中使用了错误类型的值”错误。我将使用我的程序看起来的样子进行编辑。我相信这是因为VB6 nothing的类型与DBNull.value的类型不同。只需在上面的代码中进行替换。那么将“Nothing”更改为DBNULL.Value?好吧,看起来似乎可以,但当我尝试将此Nothing存储到数据库中时,我得到了“应用程序在当前操作中使用了错误类型的值”错误。我将按照我的过程进行编辑,我认为这是因为VB6的类型与DBNull.Value的类型不同。只需在上面的代码中进行替换。因此,将“Nothing”更改为DBNULL.Value?+1 VB6中的语句用于,而不是退出函数+1 VB6中的语句用于,而不是退出函数。