Foxtable(狐表)用户栏目专家坐堂 → 按条件统计列数


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

主题:按条件统计列数

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 13:50:00 [显示全部帖子]

请上传实例说明

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 14:15:00 [显示全部帖子]

刷新网页重新上传,重复试

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 15:20:00 [显示全部帖子]

大概:

汇总表datacolchanged
If e.DataCol.Name = "姓名" Then
    Dim dr As DataRow = DataTables("考勤").Find("姓名='" & e.NewValue & "' and 考勤月份='" & Format(Date.Today,"yyyy-MM") & "'")
    If dr IsNot Nothing Then
        Dim cnt As Integer = 0
        For i As Integer = 1 To Date.DaysInMonth(Date.Today.Year,Date.Today.Month)
            If dr.IsNull("考勤日期_" & i & "_休息日")
                cnt = cnt +1
            End If
        Next
        e.DataRow("应出勤天数") = cnt
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 17:22:00 [显示全部帖子]

我给的代码算的是自然月。跨月自己参考改改

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 11:10:00 [显示全部帖子]

If e.DataCol.Name = "编号" Then
    Dim dr As DataRow = DataTables("考勤").Find("编号='" & e.NewValue & "'")
    If dr IsNot Nothing Then
        Dim cnt As Integer = 0
        Dim dt1 As Date = Date(year,addmonth(-1),21)
        Dim dt2 As Date = Date(year,month,20)
        Do While dt1 <= dt2
            If dr.IsNull("考勤日期_" & dt1.Day & "_休息日")
                cnt = cnt +1
            End If
            dt1.AddDays(1)
        Loop
        e.DataRow("应出勤天数") = cnt
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 11:56:00 [显示全部帖子]

        Dim dt1 As Date =new Date(Date.Today.year,Date.Today.month,21).addmonth(-1)
        Dim dt2 As Date = new Date(Date.Today.year,Date.Today.month,20)

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 14:00:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 16:10:00 [显示全部帖子]

代码放到datacolchanged事件

具体上传实例测试

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/23 16:40:00 [显示全部帖子]

新建项目,导入相关表部分数据,把新项目发上来

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/24 9:02:00 [显示全部帖子]

If e.DataCol.Name = "编号" OrElse e.DataCol.Name = "考勤月份"  Then
    If e.DataRow.IsNull("编号") OrElse e.DataRow.IsNull("考勤月份")
        e.DataRow("应出勤天数")=Nothing
    Else
        Dim dr As DataRow = DataTables("考勤").Find("编号='" & e.DataRow("编号") & "' and 考勤月份='" & e.DataRow("考勤月份") & "'")
        If dr IsNot Nothing Then
            Dim cnt As Integer = 0
            Dim dt1 As Date = CDate(e.DataRow("考勤月份") & "-21").addmonths(-1)
            Dim dt2 As Date = CDate(e.DataRow("考勤月份") & "-20")
            
            Do While dt1 <= dt2
                If dr.IsNull("考勤日期_" & dt1.Day & "_休息日")
                    cnt = cnt +1
                End If
                dt1 = dt1.AddDays(1)
            Loop
            e.DataRow("应出勤天数") = cnt
        End If
    End If
End If

 回到顶部
总数 13 1 2 下一页