Function 在VB6中不返回任何内容
非常简单,我需要找出如何为VB6重写以下代码,以便我的应用程序不允许任何内容传递到textbox.text值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
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
Null
,而不是Nothing
:
Function GetDbValue(ByVal tb)
If tb.Text = "" Then
GetDbValue = Null
Else
GetDbValue = tb.Text
End If
End Function
在VB6中,至少有四种不同类型的nothing:
,作为对象的空指针无
,作为字符串的空指针vbNullString
,未初始化的变体为空
,传递给数据库或从数据库传递过来的空值Null
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中的语句用于,而不是退出函数。