以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 跨表引用删除时的如何自动更新? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91418) |
||||
-- 作者:lilywang -- 发布时间:2016/10/10 15:22:00 -- 跨表引用删除时的如何自动更新? A表:合同号 出货日期 B表:合同号 出货日期 B表下的 DataColChanged If e.DataCol.Name = "出货日期" Dim Filter As String = "[合同号] = \'" & e.DataRow("合同号") & "\'" DataTables("A表").ReplaceFor("出货日期",e.NewValue,filter) End If A表跨表引用B表 B表同个合同号增加两条记录日期分别为10-01,10-02,然后删除10-02这条记录,A表的出货日期还是10-02 怎么让它自动更新?
|
||||
-- 作者:有点蓝 -- 发布时间:2016/10/10 16:13:00 -- 删除记录不会触发DataColChanged B表BeforeDeleteDataRow事件 Dim Filter As String = "[合同号] = \'" & e.DataRow("合同号") & "\'" dim dr as datarow = e.DataTable.find(Filter,"出货日期 desc") if dr is nothing then DataTables("A表").ReplaceFor("出货日期",nothing,filter) else DataTables("A表").ReplaceFor("出货日期",dr("出货日期"),filter) end if
|
||||
-- 作者:lilywang -- 发布时间:2016/10/10 16:32:00 -- 您好,我试了下还是没有触发更新 |
||||
-- 作者:有点蓝 -- 发布时间:2016/10/10 16:49:00 -- 请上传例子测试 |
||||
-- 作者:lilywang -- 发布时间:2016/10/10 17:16:00 -- 例子如下
[此贴子已经被作者于2016/10/10 17:18:09编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/10/10 17:27:00 -- Dim Filter As String = "[合同号] = \'" & e.DataRow("合同号") & "\'" Dim dr As DataRow = e.DataTable.find(Filter & " and 出货日期 <> \'" & e.DataRow("出货日期") & "\'","出货日期 desc") If dr Is Nothing Then DataTables("A表").ReplaceFor("出货日期",Nothing,filter) Else DataTables("A表").ReplaceFor("出货日期",dr("出货日期"),filter) End If
|
||||
-- 作者:lilywang -- 发布时间:2016/10/10 17:32:00 -- 学习了 感谢! |