以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 菜鸟再一次请教高手 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77718) |
-- 作者:xiaoyuylx -- 发布时间:2015/11/24 10:36:00 -- 菜鸟再一次请教高手 子表关联列新增一个名称,如何在父表中自动新增一个 |
-- 作者:大红袍 -- 发布时间:2015/11/24 10:58:00 -- DataColChanged事件
If e.DataCol.name = "第一列" Then |
-- 作者:xiaoyuylx -- 发布时间:2015/11/24 16:09:00 -- 可是我发现子表新增的那行编辑好后,父表增加了好行,大师,这该怎么改正啊 |
-- 作者:大红袍 -- 发布时间:2015/11/24 16:45:00 -- 关联列如果重复修改,就肯定会添加很多行。但如果把修改的行删除也是矛盾的。你好好理一下你的逻辑。 |
-- 作者:xiaoyuylx -- 发布时间:2015/11/24 16:59:00 -- 大师,我大概知道是怎么回事了,还记得
Select e.DataCol.Name
Case "库位", "牌号", "包装规格" e.DataRow("序号") = e.DataRow("库位") + e.DataRow("牌号") + e.DataRow("包装规格")
End Select
这个事件么,而我关联的那列就是序号列,在编辑过程中,序号一共改变了三次,所以父表增加了三行 |
-- 作者:大红袍 -- 发布时间:2015/11/24 17:08:00 -- If e.DataCol.name = "序号" Then If e.DataRow.isnull("库位")=false andalso e.DataRow.isnull("牌号")=false andalso e.DataRow.isnull("包装规格")=false then Dim fdr As DataRow = DataTables("表B").Find("序号 = \'" & e.DataRow("序号") & "\'") If fdr Is Nothing Then fdr = DataTables("表B").AddNew fdr("序号") = e.DataRow("序号") End If End If End If |