以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 禁止发货地址不同使用相同BOX  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145390)

--  作者:sanny
--  发布时间:2020/1/18 11:38:00
--  [求助] 禁止发货地址不同使用相同BOX

你好,老师,

 

请问 如何禁止发货地址不同使用相同BOX,如图,感谢。


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:禁止重复.foxdb


--  作者:有点蓝
--  发布时间:2020/1/18 12:00:00
--  
参考:http://www.foxtable.com/webhelp/topics/2481.htm

If e.DataCol.Name = "BoxNo" Then
    If e.DataRow.IsNull("地址") = False
        Dim dr As DataRow
        dr = e.DataTable.Find("BoxNo = \'" & e.NewValue & "\' and 地址 <> \'" & e.DataRow("地址") & "\'")
        If dr IsNot Nothing Then
            MessageBox.Show("BoxNo被别人用了!")
            e.Cancel = True
        End If
    End If
ElseIf e.DataCol.Name = "地址" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("BoxNo = \'" & e.DataRow("BoxNo") & "\' and 地址 <> \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("BoxNo被别人用了!")
        e.Cancel = True
    End If
End If

--  作者:susanhe
--  发布时间:2020/1/18 12:53:00
--  

 

[此贴子已经被作者于2020/1/18 12:58:30编辑过]

--  作者:sanny
--  发布时间:2020/1/18 13:00:00
--  

谢谢,老师,因为这样一加对表中所有的记录都生效了。

 

可不可以用区域来进行限制,如图,只要在同一区域中的就执行这个。不同区域还是可以用相同的BOX号。麻烦了。


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/1/18 14:22:00
--  
加多一个条件就不会了?

dr = e.DataTable.Find("BoxNo = \'" & e.NewValue & "\' and 地址 <> \'" & e.DataRow("地址") & "\' and 区域 =\'xx参考地址用法自己改改xx\'")