以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]列数据更新代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132497) |
||||
-- 作者:老鼠 -- 发布时间:2019/3/23 9:31:00 -- [求助]列数据更新代码 目的:表A的地址列与联系电话列根据关联表B的内容自动更新为最后更新时间的内容。 [此贴子已经被作者于2019/3/23 9:30:51编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/3/23 9:38:00 -- 表A,DataColChanged事件代码: Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "关联列" If dr.IsNull("关联列") Then dr("地址") = Nothing dr("联系电话") = Nothing Else Dim dr2 As DataRow = DataTables("表B").Find("[关联列] = \'" & e.NewValue & "\'") If dr2 IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing dr("地址") = dr2("地址") dr("联系电话") = dr2+("联系电话") End If End If End Select [此贴子已经被作者于2019/3/23 9:44:02编辑过]
|
||||
-- 作者:老鼠 -- 发布时间:2019/3/23 10:04:00 -- 感谢老师的帮助! 首先结果不正确,其次它不会自动更新。
|
||||
-- 作者:老鼠 -- 发布时间:2019/3/23 10:06:00 -- 正确的内容应该是:表B更新时间列为最后日期的内容 |
||||
-- 作者:老鼠 -- 发布时间:2019/3/25 15:45:00 -- 以下是引用有点蓝在2019/3/23 9:38:00的发言:
表A,DataColChanged事件代码: Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "关联列" If dr.IsNull("关联列") Then dr("地址") = Nothing dr("联系电话") = Nothing Else Dim dr2 As DataRow = DataTables("表B").Find("[关联列] = \'" & e.NewValue & "\'") If dr2 IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing dr("地址") = dr2("地址") dr("联系电话") = dr2+("联系电话") End If End If End Select [此贴子已经被作者于2019/3/23 9:44:02编辑过] 请老师指导完善下代码好吗? |
||||
-- 作者:有点甜 -- 发布时间:2019/3/25 15:59:00 --
|
||||
-- 作者:老鼠 -- 发布时间:2019/3/25 23:26:00 -- 感谢有点甜老师的指点,但这个代码加入后;不能随表B的更新而更新表A的数据。 |
||||
-- 作者:有点甜 -- 发布时间:2019/3/26 11:48:00 -- 认认真真测试6楼,代码没问题。 |