以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 禁止不同发货地址使用相同箱号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149314) |
||||
-- 作者:sanny -- 发布时间:2020/4/28 18:27:00 -- [求助] 禁止不同发货地址使用相同箱号 老师,请问一下如何禁止当前窗口表中的不同发货地址使用相同箱号。
比如一个箱号中只能是相同地址的,不同地址的就出现提示 “不同发货地址不能使用相同箱号”
谢谢了。 |
||||
-- 作者:sanny -- 发布时间:2020/4/28 18:27:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/28 20:23:00 -- DataColChanging事件 If e.DataCol.Name = "箱号" Then Dim dr As DataRow = e.DataTable.Find("箱号 = \'" & e.NewValue & "\' and 发货地址 <> \'" & e.DataRow("发货地址") & "\'") If dr IsNot Nothing Then MessageBox.Show("不同发货地址不能使用相同箱号!") e.Cancel = True End If End If |
||||
-- 作者:sanny -- 发布时间:2020/4/28 22:20:00 -- 谢谢老师,还有个问题就是,当这个表中有很多记录,但窗口表中只显示需要的记录时,我只想针对当前窗口中的记录对这个规则有效。也就是说这个大表有箱号1时,窗口表中发其它地方的箱号也可以是1。 目前是不能重复的。谢谢。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/4/28 22:33:00 -- 方法1、把窗口表改为sqltable dim filter as string = Tables("窗口表").filter if filter > "" then filter =filter & " and "
Dim dr As DataRow = e.DataTable.Find(filter & "箱号 = \'" & e.NewValue & "\' and 发货地址 <> \'" & e.DataRow("发货地址") & "\'" ) |