Foxtable(狐表)用户栏目专家坐堂 → 工作日期


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

主题:工作日期

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
工作日期  发帖心情 Post By:2017/10/26 16:22:00 [显示全部帖子]

结束日期 = 开始日期 加上 天数(除去周六、周日)减去法定节假日, 请老师指教,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作日期.zip


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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/10/30 8:05:00 [显示全部帖子]

谢谢

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/10/30 17:06:00 [显示全部帖子]

老师,好像不对

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作日期.zip


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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/10/30 17:29:00 [显示全部帖子]

谢谢

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/10/30 22:23:00 [显示全部帖子]

老师,还想请教,因中国假期特殊性,有时放假前一天是周六或周日,后一天也有可能是周六或周日,我在法定假期表名称列以“上班”来区分,如图:

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171030221835.png
图片点击可在新窗口打开查看
Select Case e.DataCol.Name
    Case "开始日期","天数"
        Dim dr,drr As DataRow
        dr = e.DataRow
        If dr.IsNull("开始日期") OrElse dr.IsNull("天数") Then
            dr("结束日期") = Nothing
        Else
            Dim c As Integer = 0
            Dim d As Date
            Dim i As Integer = 0
            Dim drs = DataTables("法定假期").Select("")
            Do While True
                d = dr("开始日期").AddDays(i)
                If d.DayOfWeek >= 1 AndAlso d.DayOfWeek <= 5 Then
                    c += 1
                    For Each cdr As DataRow In drs
                        Dim sd As Date = cdr("开始日期")
                        If sd <= d AndAlso sd.AddDays(cdr("天数")) >= d Then
                            c -= 1
                            Exit For
                        End If
                    Next
                End If
                If c = dr("天数") Then
                    Exit Do
                End If
                i += 1
            Loop
            Dim cmd As New SQLCommand
            Dim dt As DataTable
            cmd.CommandText = "Select  Sum(天数) As 天数,名称 Fr om {法定假期} WHERE 开始日期 >= #" & dr("开始日期") & "# And 开始日期 <= #" & dr("结束日期") & "# GROUP BY 名称"
            dt = cmd.ExecuteReader()
            drr = dt.Find("名称 = '上班'")
            If drr Is Nothing Then
                dr("结束日期") = dr("开始日期").AddDays(i)
            Else
                dr("结束日期") = dr("开始日期").AddDays(i-dt.DataRows(0)("天数"))
            End If
        End If
End Select

老师怎样?请指教,谢谢!


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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/10/31 9:08:00 [显示全部帖子]

谢谢

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/11/14 14:25:00 [显示全部帖子]

老师按您意见,怎样把假期按放假减掉、把上班的加上,请老师指教,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作日期.zip


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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/11/15 8:58:00 [显示全部帖子]

老师发现一个奇怪问题,除周六、周日外,3、6、9月都少1天,其它月份都对,9月是21天,计算是20天。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171115084114.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2017/11/15 9:14:00 [显示全部帖子]

谢谢老师

 回到顶部