我正在尝试编写一个QTP脚本,其工作方式如下 *从表检查中获取一列是否为空 如是 它在变量中添加了列名。
稍后该列名将用于向用户显示所有此类字段都留空。 像这样:
Set rsRecordset1 = dbConnection.Execute("select formcd,sndrpstlcd,recppstlcd,sndrcntrycd, from test_data where trk in ('"&tin&"')")
If rsRecordset1.EOF = false Then
Blank_field="blank_fields->"
formcd = rsRecordset1("formcd").value
typcd="formcd"
Call validatenull (typcd,Blank_field)
packaging = rsRecordset1("packaging").value
typcd="packaging"
Call validatenull (typcd,Blank_field)
......
Public function validatenull (typcd,Blank_field)
If (isnull(typcd) )Then
Blank_field = Blank_field & " " & typcd &", "
End If
End Function
blank_Field的值应该捕获值为" blank_fields-> Form_id,打包(考虑Form_id,打包传递Null值){它不应该将非空的值添加到blank_fields}
用简单的话说
ss = Null
call nnn(ss)
Public function nnn(ss)
If isnull(ss) Then
msgbox("yes")
End If
End Function
msgbox没有填充错误但是,
ss= Null
nnn(ss)
If isnull(ss) Then
msgbox("yes")
End If
将Msgbox填充为是 但我希望案例1正常工作,我不想再向函数名添加任何变量。
如果通过制作阵列我们可以做到,请建议。
答案 0 :(得分:1)
看来你的功能正常,但是你传递的是错误的值。来自您的代码段:
formcd = rsRecordset1("formcd").value
typcd="formcd"
Call validatenull (typcd,Blank_field)
当您致电' validatenull'时,您正在传递变量' typecd'。在上一行中,您使用字符串填充此变量,因此它永远不会为null。看起来你打算传递的是变量&form;'。你第二次打电话给'validatenull'做同样的事情。这是您修改的第一个调用以使用其他变量。
formcd = rsRecordset1("formcd").value
typcd="formcd"
Call validatenull (formcd,Blank_field)