以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 跨表更新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122749) |
-- 作者:DLW77 -- 发布时间:2018/8/1 15:27:00 -- 跨表更新 老师,我在员工表写入这个代码,我先是在员工表中录入姓名,性别等资料,后在另一个表中录入银行卡资料,但这个要重置列后才会更新,如果我想在银行卡资料表中录入银行卡号时,员工表就能更新,不用重置列,要怎么改这个代码? If e.DataCol.Name = "姓名" Then If e.NewValue Is Nothing Then e.DataRow("银行卡号") = Nothing Else Dim dr As DataRow dr = DataTables("银行卡登记").Find("[姓名] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("银行卡号") = dr("银行卡号") End If If e.DataCol.Name = "银行卡号" Dim Filter As String = "[姓名] = \'" & e.DataRow("姓名") & "\'" DataTables("员工资料").ReplaceFor("银行卡号", e.NewValue, Filter) End If End If End If |
-- 作者:有点甜 -- 发布时间:2018/8/1 15:36:00 -- If e.DataCol.Name = "姓名" Then If e.NewValue Is Nothing Then e.DataRow("银行卡号") = Nothing Else Dim dr As DataRow dr = DataTables("银行卡登记").Find("[姓名] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("银行卡号") = dr("银行卡号") End If End If End If If e.DataCol.Name = "银行卡号" OrElse e.DataCol.Name = "姓名" then Dim Filter As String = "[姓名] = \'" & e.DataRow("姓名") & "\'" DataTables("员工资料").ReplaceFor("银行卡号", e.datarow("银行卡"), Filter) End If [此贴子已经被作者于2018/8/1 15:36:44编辑过]
|
-- 作者:DLW77 -- 发布时间:2018/8/1 15:42:00 -- 老师,还是要重置列才能显示 老师,我刚改了代码,重新了新增,还是要重置列才能显示 |
-- 作者:有点甜 -- 发布时间:2018/8/1 15:44:00 -- 银行卡资料表的datacolchanged事件,写代码
If e.DataCol.Name = "银行卡号" OrElse e.DataCol.Name = "姓名" then |
-- 作者:DLW77 -- 发布时间:2018/8/1 15:49:00 -- 谢谢老师,可以了 谢谢老师,可以了 |