以文本方式查看主题

-  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
--  
感谢老师的帮助!
首先结果不正确,其次它不会自动更新。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:老鼠
--  发布时间: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
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:老鼠
--  发布时间:2019/3/25 23:26:00
--  
感谢有点甜老师的指点,但这个代码加入后;不能随表B的更新而更新表A的数据。
--  作者:有点甜
--  发布时间:2019/3/26 11:48:00
--  
认认真真测试6楼,代码没问题。