以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  是不是我那个筋搭错了 这个简单的代码不管存在不存在都会提示!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79906)

--  作者:blackzhu
--  发布时间:2016/1/12 9:32:00
--  是不是我那个筋搭错了 这个简单的代码不管存在不存在都会提示!
Select Case e.DataCol.Name
    Case "城市"
        Dim r As DataRow = e.DataRow
        Dim lr As DataRow = DataTables("承运商报价").Find("客户名称 = \'" & r("客户名称") & "\' And 承运商编号=\'" & r("承运商编号") & "\' And 区域=\'" & r("区域") & "\' And 城市=\'" & r("城市") & "\'")
        If lr IsNot Nothing Then
            MessageBox.Show("该区域的目的地已经存在,请核对后另外换目的地","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            r("城市")=Nothing
        End If
End Select

--  作者:大红袍
--  发布时间:2016/1/12 9:36:00
--  

可定是找到,才会弹出。

 

执行 msgbox("客户名称 = \'" & r("客户名称") & "\' And 承运商编号=\'" & r("承运商编号") & "\' And 区域=\'" & r("区域") & "\' And 城市=\'" & r("城市") & "\'")


--  作者:blackzhu
--  发布时间:2016/1/12 9:38:00
--  
条件 都符合的呀 奇了怪了 

Select Case e.DataCol.Name
    Case "城市"
        Dim r As DataRow = e.DataRow
        Dim lr As DataRow = DataTables("承运商报价").Find("客户名称 = \'" & r("客户名称") & "\' And 承运商编号=\'" & r("承运商编号") & "\' And 区域=\'" & r("区域") & "\' And 城市=\'" & r("城市") & "\'")
        If lr IsNot Nothing Then
            MessageBox.Show("该区域的目的地已经存在,请核对后另外换目的地","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            r("城市")=Nothing
else
msgbox("不存在"
        End If
End Select

我加了不存在居然也会弹出,  条件不管符合不符合  MessageBox.Show("该区域的目的地已经存在,请核对后另外换目的地","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)  也会弹出

我疯了 就这么一句代码呀


在条件不符合的情况下两个弹窗都可以执行.


 我判断错误 r("城市") = nothing  会提示不存在的
[此贴子已经被作者于2016/1/12 9:43:08编辑过]

--  作者:大红袍
--  发布时间:2016/1/12 9:46:00
--  

1、调试,加上msgbox啊。

 

2、你在里面修改列值,肯定再次触发datacolchanged代码啊

 

暂停执行 http://www.foxtable.com/help/topics/2218.htm

 


--  作者:blackzhu
--  发布时间:2016/1/12 9:46:00
--  
一定要加上主键列才行 
--  作者:大红袍
--  发布时间:2016/1/12 9:49:00
--  

如果是查本表,肯定要加上主键列。别表不需要加主键列。