Foxtable(狐表)用户栏目专家坐堂 → [求助]计算出勤补贴,代码出错。(已解决)


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

主题:[求助]计算出勤补贴,代码出错。(已解决)

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/10/16 20:39:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "核算标准","单位"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        Dim mqbt As Double
        If dr.IsNull("核算标准") OrElse dr.IsNull("单位") Then
            'mqbt = Nothing
        Else
            Dim filter As String
            filter = "核算标准 = '" & dr("核算标准") & "' And 单位 = '" & dr("单位") & "'"
            pr = DataTables("核算标准").Find(filter)
            If pr IsNot Nothing Then
                mqbt =CDbl( pr("满勤补贴"))
            End If
        End If
End Select
Select Case e.DataCol.Name
    Case "核算标准","单位"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        Dim qqkc As Double
        If dr.IsNull("核算标准") OrElse dr.IsNull("单位") Then
            qqkc = Nothing
        Else
            Dim filter As String
            filter = "核算标准 = '" & dr("核算标准") & "' And 单位 = '" & dr("单位") & "'"
            pr = DataTables("核算标准").Find(filter)
            If pr IsNot Nothing Then
                qqkc = CDbl(pr("缺勤扣除"))
            End If
        End If
End Select
If e.DataCol.Name = "出勤状况" Then
    If e.DataRow("出勤状况") = "√" Then
        e.DataRow("出勤补贴") = mqbt
    ElseIf e.DataRow("出勤状况") = "-1"
        e.DataRow("出勤补贴") = mqbt-qqkc*1
    ElseIf e.DataRow("出勤状况") = "-2"
        e.DataRow("出勤补贴") = mqbt-qqkc*2
    ElseIf e.DataRow("出勤状况") = "-3"
        e.DataRow("出勤补贴") = mqbt-qqkc*3
    ElseIf e.DataRow("出勤状况") = "-4"
        e.DataRow("出勤补贴") = mqbt-qqkc*4
    ElseIf e.DataRow("出勤状况") = "-5"
        e.DataRow("出勤补贴") = mqbt-qqkc*5
    Else
        e.DataRow("出勤补贴") = Nothing
    End If
End If

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
菜鸟求教  发帖心情 Post By:2011/10/16 21:34:00 [显示全部帖子]

Dim mqbt As Double
Dim qqkc As Double
Dim dr As DataRow = e.DataRow
Dim pr As DataRow
Dim filter As String
Select Case e.DataCol.Name
    Case "核算标准","单位","出勤状况"
        If dr.IsNull("核算标准") = False And dr.IsNull("单位") = False And dr.IsNull("出勤状况") = False Then
            filter = "核算标准 = '" & dr("核算标准") & "' And 单位 = '" & dr("单位") & "'"
            pr = DataTables("核算标准").Find(filter)
            If pr IsNot Nothing Then
                mqbt = CDbl(pr("满勤补贴"))
                qqkc = CDbl(pr("缺勤扣除"))
                If dr("出勤状况") = "√" Then
                    dr("出勤补贴") = mqbt
                ElseIf Val(dr("出勤状况")) = 0
                    dr("出勤补贴") = Nothing
                Else
                    dr("出勤补贴") = mqbt-qqkc*Math.Abs(Val(e.DataRow("出勤状况")))
                End If
            End If
        End If
End Select

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/10/16 21:41:00 [显示全部帖子]

还得加一行代码:

Dim mqbt,qqkc As Double
Dim dr As DataRow = e.DataRow
Dim pr As DataRow
Dim filter As String
Select Case e.DataCol.Name
    Case "核算标准","单位","出勤状况"
        If dr.IsNull("核算标准") = False And dr.IsNull("单位") = False And dr.IsNull("出勤状况") = False Then
            filter = "核算标准 = '" & dr("核算标准") & "' And 单位 = '" & dr("单位") & "'"
            pr = DataTables("核算标准").Find(filter)
            If pr IsNot Nothing Then
                mqbt = CDbl(pr("满勤补贴"))
                qqkc = CDbl(pr("缺勤扣除"))
                If dr("出勤状况") = "√" Then
                    dr("出勤补贴") = mqbt
                ElseIf Val(dr("出勤状况")) = 0
                    dr("出勤补贴") = Nothing
                Else
                    dr("出勤补贴") = mqbt-qqkc*Math.Abs(Val(e.DataRow("出勤状况")))
                End If
            End If
        Else
            dr("出勤补贴") = Nothing
        End If
End Select

 回到顶部