Foxtable(狐表)用户栏目专家坐堂 → 统计未打卡次数


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

主题:统计未打卡次数

美女呀,离线,留言给我吧!
zhangning
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
统计未打卡次数  发帖心情 Post By:2016/8/15 11:34:00 [只看该作者]

有 两个列“签到时间”和“签退时间”,
如这两列任意一个空值,就算未打卡一次,
请问老师如何写代码,谢谢!

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


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

具体问题代码或者例子说明

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/15 12:46:00 [只看该作者]

Dim Count1 As Integer
Dim Count2 As Integer
If e.DataCol.Name = "签到时间" Then
    If e.NewValue Is Nothing Then
        count1 = 1
    Else
        Count1 = nothing
    End If
End If
If e.DataCol.Name = "签退时间" Then
    If e.NewValue Is Nothing Then
        count2 = 1
    Else
        Count2 = nothing
        End If
        End If
e.DataRow("未打卡回") = count1 + count2

老师帮看看以上代码,错在哪儿


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


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

Select Case e.DataCol.Name
    Case "签到时间","签退时间"
        Dim count As Integer
        If e.DataRow.IsNull("签到时间") = False Then count += 1
        If e.DataRow.IsNull("签退时间") = False Then count += 1
        e.DataRow("未打卡回") =count
End Select

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


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

If e.DataCol.Name = "签到时间" OrElse e.DataCol.Name =  "签退时间" Then
    Dim count As Integer = 0
    If e.DataRow.isNull("签到时间") Then
        count += 1
    End If
    If e.DataRow.isNull("签退时间") Then
        count += 1
    End If
    e.DataRow("未打卡回") = count
End If

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/15 17:20:00 [只看该作者]

大红袍老师,如果再加上一个条件,未打卡理由认可”列(逻辑)选中的话,那么“未打卡回”等于0,否则就空值就算未打卡,
以下代码:
if e.DataRow("未打卡理由认可") = true then
    e.DataRow("未打卡回") = 0
    else
If e.DataCol.Name = "签到时间" OrElse e.DataCol.Name =  "签退时间" Then
    Dim count As Integer = 0    
    If e.DataRow.isNull("签到时间") Then
        count += 1
    End If
    If e.DataRow.isNull("签退时间") Then
        count += 1
    End If
    e.DataRow("未打卡回") = count
End If
end if


测试结果,感觉逻辑列不起作用,麻烦老师帮看看,谢谢!

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


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

If e.DataCol.Name = "签到时间" OrElse e.DataCol.Name =  "签退时间" OrElse e.DataCol.Name = "未打卡理由认可" Then
    If e.DataRow("未打卡理由认可") = True Then
        e.DataRow("未打卡回") = 0
    Else
        Dim count As Integer = 0
        If e.DataRow.isNull("签到时间") Then
            count += 1
        End If
        If e.DataRow.isNull("签退时间") Then
            count += 1
        End If
        e.DataRow("未打卡回") = count
    End If
End If

 回到顶部