Foxtable(狐表)用户栏目专家坐堂 → [求助]计算年功工资的代码不对


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

主题:[求助]计算年功工资的代码不对

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/3 21:17:00 [显示全部帖子]

这样?

 

Dim dr As DataRow = DataTables("年功表").Find("累计工龄 <= " & bm & "", "累计工龄 desc")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/3 22:00:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/3 23:54:00 [显示全部帖子]

如果报错。上传实例测试。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/4 9:14:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "连续工龄", "计发标准", "责任工资"          '
        If e.DataRow.IsNull("连续工龄") Then        '连续工龄是否为空
            e.DataRow("年功金额") = Nothing         '如果为空,则清除年功金额
        Else
            Dim bm As String = e.DataRow("连续工龄")  '声明变量为"连续工龄"
            Output.Show(Round2(bm, 0))                '将"连续工龄" 数值四舍五入为整数
            Dim dr As DataRow = DataTables("年功工资标准").Find("累计工龄 <= " & bm & "", "累计工龄 desc")
            If dr IsNot Nothing Then
                If e.DataRow.IsNull("责任工资") = False Then        '责任工资是否为空("Is"是/"IsNull"不是)
                    e.DataRow("年功金额") = Nothing         '不为空,则清除(或不写入)年功金额
                Else
                    e.DataRow("年功金额") = dr("计发标准")  '为空,写入
                End If
            End If
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/4 11:03:00 [显示全部帖子]

那你就改成

 

Select Case e.DataCol.name
    Case "连续工龄", "计发标准", "责任工资"          '
        If e.DataRow.IsNull("连续工龄") Then        '连续工龄是否为空
            e.DataRow("年功金额") = Nothing         '如果为空,则清除年功金额
        Else
            Dim bm As String = e.DataRow("连续工龄")  '声明变量为"连续工龄"
            Output.Show(Round2(bm, 0))                '将"连续工龄" 数值四舍五入为整数
            Dim dr As DataRow = DataTables("年功工资标准").Find("累计工龄 <= " & bm & "", "累计工龄 desc")
            If dr IsNot Nothing Then
                If e.DataRow("责任工资") <> 0 Then        '责任工资是否为空("Is"是/"IsNull"不是)
                    e.DataRow("年功金额") = Nothing         '不为空,则清除(或不写入)年功金额
                Else
                    e.DataRow("年功金额") = dr("计发标准")  '为空,写入
                End If
            End If
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/4 11:45:00 [显示全部帖子]

以下是引用hanzhang98在2019/4/4 11:41:00的发言:
谢谢甜老师。这下问题解决了。老师能解释下原因吗?释疑解惑。谢谢!

 

你想判断的是【值】是不是等于0,而不是是不是空。


 回到顶部