以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]下边这段代码问题出在哪里,怎么不运行? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115625) |
-- 作者:hrw68529 -- 发布时间:2018/3/10 15:37:00 -- [求助]下边这段代码问题出在哪里,怎么不运行? Select Case e.DataCol.Name Case "个人类别","岗位等级" Dim dr As DataRow If e.DataRow("个人类别") = Nothing OrElse e.DataRow("岗位等级") = Nothing Then e.DataRow("基本工资_职务工资") = Nothing ElseIf e.DataRow("个人类别") = "事业单位专业技术" Then dr = DataTables("事业单位工资标准").Find("[专业技术人员_级别] = \'" & e.DataRow("岗位等级") & "\'") If dr IsNot Nothing Then e.DataRow("基本工资_职务工资") = dr("专业技术人员_岗位工资") End If End If End Select
|
-- 作者:有点蓝 -- 发布时间:2018/3/10 15:45:00 -- If e.DataRow.isnull("个人类别") OrElse e.DataRow.isnull("岗位等级") Then |
-- 作者:hrw68529 -- 发布时间:2018/3/10 16:04:00 -- 这是其中一部分,刚才我运行了一下,上述代码单独运行时可以,但加入整体代码就不行了,请专家看看整体代码哪儿出了问题,谢谢。 代码: Select Case e.DataCol.Name Case "个人类别","现任职务","职务区分" Dim dr As DataRow If e.DataRow.IsNull("个人类别") OrElse e.DataRow.IsNull("现任职务") OrElse e.DataRow.IsNull("职务区分") Then e.DataRow("基本工资_职务工资") = Nothing Else dr = DataTables("公员工资标准").Find("[职务] = \'" & e.DataRow("现任职务") & "\'") If e.DataRow("个人类别")= "公员" And e.DataRow("职务区分")= "领导职务" And dr IsNot Nothing Then e.DataRow("基本工资_职务工资") = dr("职务工资_领导职务") ElseIf e.DataRow("个人类别")= "公员" And e.DataRow("职务区分")= "非领导职务" And dr IsNot Nothing Then e.DataRow("基本工资_职务工资") = dr("职务工资_非领导职务") End If End If Case "个人类别","岗位等级" If e.DataRow("个人类别") <> Nothing AndAlso e.DataRow("岗位等级") <> Nothing Then Dim tname As String = "机关工勤工资标准" If DataTables.Contains(tname) = False Then msgbox("不存在表" & tname) Else Dim dt As DataTable = DataTables(tname) Dim filter As String = "职务 = \'" & e.DataRow("现任职务") & "\'" Dim fdr As DataRow = dt.find(filter) If fdr IsNot Nothing Then e.DataRow("基本工资_职务工资") = fdr(e.DataRow("岗位等级")) Else e.DataRow("基本工资_职务工资") = Nothing End If End If Else e.DataRow("基本工资_职务工资") = Nothing End If Case "个人类别","现任职务","岗位等级" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("个人类别") Then dr("基本工资_职务工资") = Nothing Else Dim filter As String If dr("个人类别") = "事业单位专业技术" Then filter = "专业技术人员_级别 = \'" & dr("岗位等级") & "\'" pr = DataTables("事业单位工资标准").Find(filter) If pr IsNot Nothing Then dr("基本工资_职务工资") = pr("专业技术人员_岗位工资") End If ElseIf dr("个人类别") = "事业单位管理岗" Then filter = "管理人员_级别 = \'" & dr("岗位等级") & "\'" pr = DataTables("事业单位工资标准").Find(filter) If pr IsNot Nothing Then dr("基本工资_职务工资") = pr("管理人员_岗位工资") End If ElseIf dr("个人类别") = "事业单位工人" Then filter = "工人_岗位 = \'" & dr("现任职务") & "\'" pr = DataTables("事业单位工资标准").Find(filter) If pr IsNot Nothing Then dr("基本工资_职务工资") = pr("工人_岗位工资") End If End If End If End Select [此贴子已经被作者于2018/3/10 16:06:59编辑过]
|
-- 作者:hrw68529 -- 发布时间:2018/3/10 16:08:00 -- 问题出现在第三段代码,如下代码,前边的代码运行正常。 如下: Case "个人类别","现任职务","岗位等级" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("个人类别") Then dr("基本工资_职务工资") = Nothing Else Dim filter As String If dr("个人类别") = "事业单位专业技术" Then filter = "专业技术人员_级别 = \'" & dr("岗位等级") & "\'" pr = DataTables("事业单位工资标准").Find(filter) If pr IsNot Nothing Then dr("基本工资_职务工资") = pr("专业技术人员_岗位工资") End If ElseIf dr("个人类别") = "事业单位管理岗" Then filter = "管理人员_级别 = \'" & dr("岗位等级") & "\'" pr = DataTables("事业单位工资标准").Find(filter) If pr IsNot Nothing Then dr("基本工资_职务工资") = pr("管理人员_岗位工资") End If ElseIf dr("个人类别") = "事业单位工人" Then filter = "工人_岗位 = \'" & dr("现任职务") & "\'" pr = DataTables("事业单位工资标准").Find(filter) If pr IsNot Nothing Then dr("基本工资_职务工资") = pr("工人_岗位工资") End If End If End If
|
-- 作者:有点蓝 -- 发布时间:2018/3/10 16:23:00 -- 原因:http://www.foxtable.com/help/scr/2242.htm |
-- 作者:hrw68529 -- 发布时间:2018/3/10 17:03:00 -- 谢谢,问题解决了,十分感谢 |