Foxtable(狐表)用户栏目专家坐堂 → 关于年龄工龄计算的问题


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

主题:关于年龄工龄计算的问题

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


加好友 发短信
等级:幼狐 帖子:93 积分:1503 威望:0 精华:0 注册:2015/11/18 22:18:00
关于年龄工龄计算的问题  发帖心情 Post By:2016/3/21 17:33:00 [只看该作者]

老师好!我按帮助在datacolchanged设置了年龄、工龄自动计算,发布后用户使用都能正常计算。今天有用户反映插入记录行后,出现此行年龄计算出现负数,其他行可以自动计算,工龄整列不能自动计算了,我用开发者账户登录,发现问题依旧,请问老师问题可能出自哪里?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/21 21:29:00 [只看该作者]

贴出你计算年龄的代码。


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


加好友 发短信
等级:幼狐 帖子:93 积分:1503 威望:0 精华:0 注册:2015/11/18 22:18:00
  发帖心情 Post By:2016/3/22 8:31:00 [只看该作者]

Select Case e.DataCol.name
    Case "工作时间"
        If e.DataRow.IsNull("工龄") Then
            e.DataRow("工龄") = Nothing
        Else
            e.DataRow("工龄") = e.DataRow("统计日期").Year - e.DataRow("工作时间").Year
        End If
End Select

Select Case e.DataCol.name
    Case "出生日期"
        If e.DataRow.IsNull("出生日期") Then
            e.DataRow("年龄") = Nothing
        Else
            e.DataRow("年龄") = e.DataRow("统计日期").Year - e.DataRow("出生日期").Year
        End If
End Select


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/3/22 9:02:00 [只看该作者]

If e.DataRow.Isnull("统计日期") = False Then
    Select Case e.DataCol.name
        Case "工作时间"
            If e.DataRow.IsNull("工龄") Then
                e.DataRow("工龄") = Nothing
            Else
                e.DataRow("工龄") = e.DataRow("统计日期").Year - e.DataRow("工作时间").Year
            End If
        Case "出生日期"
            If e.DataRow.IsNull("出生日期") Then
                e.DataRow("年龄") = Nothing
            Else
                e.DataRow("年龄") = e.DataRow("统计日期").Year - e.DataRow("出生日期").Year
            End If
    End Select
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/22 9:10:00 [只看该作者]


Select Case e.DataCol.name
    Case "工作时间"
        If e.DataRow.IsNull("工作时间") OrElse e.DataRow.IsNull("统计日期") Then
            e.DataRow("工龄") = Nothing
        Else
            e.DataRow("工龄") = e.DataRow("统计日期").Year - e.DataRow("工作时间").Year
        End If
    Case "出生日期"
        If e.DataRow.IsNull("出生日期")  OrElse e.DataRow.IsNull("统计日期")  Then
            e.DataRow("年龄") = Nothing
        Else
            e.DataRow("年龄") = e.DataRow("统计日期").Year - e.DataRow("出生日期").Year
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:93 积分:1503 威望:0 精华:0 注册:2015/11/18 22:18:00
  发帖心情 Post By:2016/3/22 9:28:00 [只看该作者]

谢谢老师!我的问题解决了,出现年龄为负数是因为新增行的统计日期没有数据。

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


加好友 发短信
等级:婴狐 帖子:3 积分:86 威望:0 精华:0 注册:2018/2/2 10:55:00
  发帖心情 Post By:2018/2/2 11:34:00 [只看该作者]

请教连续计算工龄的表达式!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/2 11:35:00 [只看该作者]

以下是引用shddrh在2018/2/2 11:34:00的发言:
请教连续计算工龄的表达式!

 

具体一点你的问题,做一个foxtable例子发上来测试。


 回到顶部