Foxtable(狐表)用户栏目专家坐堂 → [求助]下边这段代码问题出在哪里,怎么不运行?


  共有2320人关注过本帖树形打印复制链接

主题:[求助]下边这段代码问题出在哪里,怎么不运行?

帅哥哟,离线,有人找我吗?
hrw68529
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1148 积分:8964 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]下边这段代码问题出在哪里,怎么不运行?  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1148 积分:8964 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1148 积分:8964 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1148 积分:8964 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2018/3/10 17:03:00 [显示全部帖子]

谢谢,问题解决了,十分感谢

 回到顶部