以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 跨表引用,如何设置只引用部分数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93549) |
-- 作者:misamisali -- 发布时间:2016/12/1 10:18:00 -- 跨表引用,如何设置只引用部分数据 我现在有3个表:工资表, 岗位薪级表, 特殊薪级表 1、通过“岗位薪级表” ,引用不同“职务”对应的“岗位工资”,引用到工资表中。 2、但是其中有3个人,是通过“特殊薪级表”来匹配的,引用“姓名”对应的“岗位工资”,引用到工资表中。 问题,我怎么下面代码中,剔除这三个人,在代码1中不执行引用。 代码1: If e.DataCol.Name = "职务" Then If e.NewValue Is Nothing Then e.DataRow("岗位工资") = Nothing e.DataRow("保密津贴") = Nothing e.DataRow("竞业限制金") = Nothing Else Dim dr As DataRow dr = DataTables("岗位薪级表").Find("[职务] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("岗位工资") = dr("岗位工资") e.DataRow("保密津贴") = dr("保密津贴") e.DataRow("竞业限制金") = dr("竞业限制金") End If End If End If 代码2: If e.DataCol.Name = "姓名" Then If e.NewValue Is Nothing Then e.DataRow("岗位工资") = Nothing e.DataRow("保密津贴") = Nothing e.DataRow("竞业限制金") = Nothing Else Dim dr As DataRow dr = DataTables("特殊薪级表").Find("[姓名] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("岗位工资") = dr("岗位工资") e.DataRow("保密津贴") = dr("保密津贴") e.DataRow("竞业限制金") = dr("竞业限制金") End If End If End If [此贴子已经被作者于2016/12/1 10:43:28编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/12/1 10:35:00 -- If e.DataCol.Name = "职务" Then If e.NewValue Is Nothing orelse e.DataRow.isnull("姓名") Then e.DataRow("岗位工资") = Nothing e.DataRow("保密津贴") = Nothing e.DataRow("竞业限制金") = Nothing Else Dim dr As DataRow dr = DataTables("其他薪级表").Find("[姓名] = \'" & e.DataRow("姓名") & "\'") If dr Is Nothing dr = DataTables("岗位薪级表").Find("[职务] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("岗位工资") = dr("岗位工资") e.DataRow("保密津贴") = dr("保密津贴") e.DataRow("竞业限制金") = dr("竞业限制金") End If End If End If End If
|
-- 作者:misamisali -- 发布时间:2016/12/1 10:45:00 -- 版主,你代码两边都无效了…… 引用职务 和姓名 无法执行了。 我的意思是:代码1,A,B,C三个人的姓名来取消他们的引用效果。 A,B,C, 三人在代码2中引用
|
-- 作者:有点蓝 -- 发布时间:2016/12/1 10:48:00 -- 代码2保持不变,代码1 改为2楼的代码 |
-- 作者:misamisali -- 发布时间:2016/12/1 10:58:00 -- 代码1不运行,代码2是好的,就是能不能在代码1中,加一个判断条件,如果姓名是 A,B,C这三个人,则取消代码1的引用。 |
-- 作者:有点蓝 -- 发布时间:2016/12/1 11:02:00 -- 贴出事件完整代码,或者上传例子测试 |