以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联表子表条件禁止重复 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87301) |
||||
-- 作者:manyifuwu -- 发布时间:2016/7/7 19:24:00 -- 关联表子表条件禁止重复 关联表子表条件禁止重复,比如第二列,第三列,第三列。如果内容一样,子表不能添加。只有父表的其中列改后才能添加子行。 我按帮助里的不行,是什么原因。谢谢!
|
||||
-- 作者:manyifuwu -- 发布时间:2016/7/7 19:25:00 --
|
||||
-- 作者:大红袍 -- 发布时间:2016/7/7 20:15:00 -- BeforeAddDateRow事件
Dim r As Row = Tables("表A").Current |
||||
-- 作者:大红袍 -- 发布时间:2016/7/7 20:15:00 -- 或者参考
http://www.foxtable.com/webhelp/scr/2481.htm
|
||||
-- 作者:manyifuwu -- 发布时间:2016/7/7 21:22:00 -- 我上传的就是按这个帮助弄的。但是就是不对,麻烦你帮忙看看,是那出错了呢?
假定产品表有型号和规格两列,禁止输入型号和规格相同的产品,可以将这个表的DataColChanging事件代码设置为: Select Case e.DataCol.name 上面的代码有点繁琐。 我们可以变通一下,改为DataColChanged事件事件代码 ,同样可以禁止输入型号和规格相同的行,而且代码会简洁一些: Select
Case e.DataCol.name |
||||
-- 作者:大红袍 -- 发布时间:2016/7/7 23:42:00 -- DataColChanged事件
Select Case e.DataCol.name |
||||
-- 作者:manyifuwu -- 发布时间:2016/7/8 1:24:00 -- 夜深了,水平有限,还是没有搞定! 是想实现:如果父表表第二列、第三列、第四列没有变化。则子表不能添加重复列。是增加子表行前执行,如果子行重复复了就不能增加。帮帮我!谢 [此贴子已经被作者于2016/7/8 1:30:55编辑过]
|
||||
-- 作者:manyifuwu -- 发布时间:2016/7/8 1:25:00 --
可以提示重复了,但还是会增加。希望第二列、第三列、第四列重复了,就不能添加子行。 [此贴子已经被作者于2016/7/8 1:25:39编辑过]
|
||||
-- 作者:Hyphen -- 发布时间:2016/7/8 8:48:00 -- BeforeAddDateRow事件 Dim parent As DataRow = e.DataRow.GetParentRow("父表") Dim count As Integer = DataTables("父表").compute("count(_Identify)", "第三列 = \'" & parent("第三列") & "\' and 第二列 = \'" & parent("第二列") & "\'and 第四列 = \'" & parent("第四列") & "\'")) If count > 1 Then msgbox("重复了") e.Cancel = True End If |
||||
-- 作者:大红袍 -- 发布时间:2016/7/8 9:32:00 -- Select Case e.DataCol.name e.DataRow.Delete |