以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]双表对应的行自动更新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82982) |
||||
-- 作者:benwong2013 -- 发布时间:2016/3/29 11:16:00 -- [求助]双表对应的行自动更新 此主题相关图片如下:飞信截图20160329110624.png 如上表两个表中均有“项目编号”和“表单编号”两个行,需要实现如下功能: 如果表一有更新数据的时候,表二能根据设定如下条件自动更新数据: 1.表二能根据表一列出的“项目编号”和“表单编号”自动更新,若在“项目编号”和“表单编号”同时存在的话将不会重复再写入,不一样的时候将继续写入; 2.若表一数据有变更的时候,表二的数据能依照第一点的要求自动更新; 请问应该如何处理?
|
||||
-- 作者:大红袍 -- 发布时间:2016/3/29 11:35:00 -- 帮助本来就有。
http://www.foxtable.com/help/topics/2490.htm
|
||||
-- 作者:benwong2013 -- 发布时间:2016/3/29 11:48:00 -- 之前有印象,今天找了好久没有找到,谢谢老师了 |
||||
-- 作者:benwong2013 -- 发布时间:2016/3/29 15:54:00 -- 此主题相关图片如下:7.png 我根据帮助设置了代码,但有如下问题: 1.在表一新增了,需要在表一点几次重置列之后才能更新到表二; 2.更新到表二应该是自动保存的,但后台查阅数据还是未保存状态,请问如何处理可以做到实时更新及自动保存; Select Case e.DataCol.name Case "报告表单编号" Dim dr As DataRow = DataTables("T_TestF").Find("报告表单编号 = \'" & e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("T_TestF").AddNew() dr("报告表单编号") = e.DataRow("报告表单编号") dr("报告编号") = e.DataRow("报告编号") dr("表单编号") = e.DataRow("表单编号") Else dr("报告表单编号") = e.DataRow("报告表单编号") End If Case "报告编号","表单编号" Dim dr As DataRow = DataTables("T_TestF").Find("报告表单编号 = \'" & e.DataRow("报告表单编号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select [此贴子已经被作者于2016/3/29 15:54:04编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/3/29 16:21:00 -- Select Case e.DataCol.name Case "报告表单编号" Dim dr As DataRow If e.oldvalue = Nothing Then dr = DataTables("T_TestF").Find("报告表单编号 = \'" & e.newvalue & "\'") Else dr = DataTables("T_TestF").Find("报告表单编号 = \'" & e.oldvalue & "\'") End If If dr Is Nothing Then dr = DataTables("T_TestF").AddNew() dr("报告表单编号") = e.DataRow("报告表单编号") dr("报告编号") = e.DataRow("报告编号") dr("表单编号") = e.DataRow("表单编号") Else dr("报告表单编号") = e.DataRow("报告表单编号") End If dr.save Case "报告编号","表单编号" Dim dr As DataRow = DataTables("T_TestF").Find("报告表单编号 = \'" & e.DataRow("报告表单编号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) dr.save End If End Select |
||||
-- 作者:benwong2013 -- 发布时间:2016/3/29 18:02:00 -- 还是没有办法做到实时更新; |
||||
-- 作者:大红袍 -- 发布时间:2016/3/29 18:07:00 -- 肯定能实时更新的,不然你做个具体例子发上来测试,说明怎么不能实时更新。 |
||||
-- 作者:benwong2013 -- 发布时间:2016/3/29 18:22:00 --
老师,在窗口中添加报告项目明细之后就会填写入T_Item表中
|
||||
-- 作者:大红袍 -- 发布时间:2016/3/29 18:32:00 -- 不要用表达式列。
|