以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]非关联表间的同步更新数据 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=67878) |
-- 作者:JK362223 -- 发布时间:2015/5/5 15:29:00 -- [求助]非关联表间的同步更新数据 有一个编辑窗口,父表为报销名单,子表为病案首页,出院记录,再入院记录,现改变报销名单中年龄一列数值,然后已新增一行的子表中年龄一列随之改变,照帮助上代码所写如下: 报销名单DataColChanged Select Case e.DataCol.name Case "身份证号","报销起日" Dim dr As DataRow = DataTables("病案首页").sqlFind("身份证号 = \'" & e.OldValue & "报销起日 = \'"& e.OldValue & "\'") Dim dr4 As DataRow = DataTables("出院记录").sqlFind("身份证号 = \'" & e.OldValue & "报销起日 = \'"& e.OldValue & "\'") Dim dr6 As DataRow = DataTables("再入院记录").sqlFind("身份证号 = \'" & e.OldValue & "报销起日 = \'"& e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("病案首页").AddNew() dr4 = DataTables("出院记录").AddNew() dr6 = DataTables("再入院记录").AddNew() dr("身份证号") = e.DataRow("身份证号") dr("报销起日") = e.DataRow("报销起日") dr("年龄") = e.DataRow("年龄") dr("床号") = e.DataRow("床号") dr("住院号") = e.DataRow("住院号") Else dr("身份证号") = e.DataRow("身份证号") dr("报销起日") = e.DataRow("报销起日") End If Case "年龄","床号","住院号" Dim dr As DataRow = DataTables("病案首页").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 =\'" & e.DataRow("报销起日") & "\'" ) Dim dr4 As DataRow = DataTables("出院记录").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 =\'" & e.DataRow("报销起日") & "\'" ) Dim dr6 As DataRow = DataTables("再入院记录").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 =\'" & e.DataRow("报销起日") & "\'" ) If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select 2、报销名单DataColChanging Dim dr As DataRow = DataTables("病案首页").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 = \'" & e.DataRow("报销起日") & "\'") Dim dr4 As DataRow = DataTables("出院记录").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 = \'" & e.DataRow("报销起日") & "\'") Dim dr6 As DataRow = DataTables("再入院记录").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 = \'" & e.DataRow("报销起日") & "\'") If dr IsNot Nothing Then dr.Delete() End If 求助如何修改? |
-- 作者:jk362223 -- 发布时间:2015/5/5 15:55:00 -- 急!求教老师指正修改! |
-- 作者:大红袍01 -- 发布时间:2015/5/5 16:01:00 -- 就是把代码拷贝几份也不写么?
Select Case e.DataCol.name
------------
Dim dr As DataRow = DataTables("病案首页").sqlFind("身份证号 = \'" & e.DataRow("身份证号") & "报销起日 = \'" & e.DataRow("报销起日") & "\'") |
-- 作者:JK362223 -- 发布时间:2015/5/5 16:26:00 -- 不是,就是照此写了一直处于报错状态 |
-- 作者:大红袍01 -- 发布时间:2015/5/5 16:27:00 -- 以下是引用JK362223在2015/5/5 16:26:00的发言:
不是,就是照此写了一直处于报错状态
报什么错?关键是你要理解代码啊,灵活变通啊。 |