以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  若判断重复的条件中,某些字段可能为空,则以下 代码判断失效,该如何处理啊?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120648)

--  作者:guosheng
--  发布时间:2018/6/21 10:37:00
--  若判断重复的条件中,某些字段可能为空,则以下 代码判断失效,该如何处理啊?
经过测试:只有compute内的判定条件的“所有字段”都不为空时,判断重复的提示才会跳转出来。若 某一个或几个字段可能为空,该怎么判断是否重复啊?
窗口的“确定”按钮的click事件:
……

ElseIf DataTables("工程合同及结算分摊明细表").Compute("Count([_Identify])","合同档案编号 = \'" & dr("合同档案编号") & "\' and 公司名称 = \'" & dr("公司名称") & "\' and 合作商名称 = \'" & dr("合作商名称") & "\' and 分包单位名称 = \'" & dr("分包单位名称") & "\'  and 专业名称 = \'" & dr("专业名称") & "\' and 专业细分 = \'" & dr("专业细分") & "\' ")>1 Then
    MessageBox.Show("已经存在相同的合同及专业的分摊明细行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
……

--  作者:有点甜
--  发布时间:2018/6/21 10:42:00
--  

Dim filter As String = "1=1"

If dr("第一列") = nothing then

    filter &= " and 第一列 is null"

else

    filter &= " and 第一列 = \'" & dr("第一列") & "\'"

End If

If dr("第二列") = nothing then

    filter &= " and 第二列 is null"

else

    filter &= " and 第二列 = \'" & dr("第二列") & "\'"

End If

 

msgbox(filter)