Foxtable(狐表)用户栏目专家坐堂 → 根据日期增加行


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

主题:根据日期增加行

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


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
根据日期增加行  发帖心情 Post By:2019/11/14 12:22:00 [只看该作者]

Dim d,d1 As Date
d = e.Form.Controls("开始日期").Value
d1 = e.Form.Controls("结束日期").Value
Dim lst1,lst2 As New List(of Date)
For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d & "# and 日期 <= #" & d1 & "# and 名称 Not Like '%补班'")
    lst1.Add(dr("日期"))
Next
For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d & "# and 日期 <= #" & d1 & "# and 名称 Like '%补班'")
    lst2.Add(dr("日期"))
Next
Dim TotalDays As Integer
Do While d <= d1
    If (d.DayOfWeek = 0 OrElse d.DayOfWeek = 6 OrElse lst1.Contains(d)) And lst2.Contains(d) = False
    Else
        TotalDays += 1
    End If
    d = d.AddDays(1)
Loop
For i As Integer = 0 To TotalDays
    Dim dr = DataTables("托管日况").AddNew
    dr("学生编号") = e.Form.Controls("学生编号").text
    dr("托管班级") = e.Form.Controls("托管班级").text
    dr("托管日期")  = d.AddDays(i)
    dr("录入日期") = Format(Date.Now,"yyyy-MM-dd")
    dr("录入人") = _UserJgbh
Next

按日期增加行,除去周六、周日、假期,加上调休。请老师指教,谢谢!

 

[此贴子已经被作者于2019/11/14 12:49:40编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106732 积分:542855 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/14 13:55:00 [只看该作者]

Dim lst3 As New List(of Date)
Do While d <= d1
    If (d.DayOfWeek = 0 OrElse d.DayOfWeek = 6 OrElse lst1.Contains(d)) And lst2.Contains(d) = False
    Else
lst3.add(d)
    End If
    d = d.AddDays(1)
Loop
For each d2 as date in lst3
    Dim dr = DataTables("托管日况").AddNew
    dr("学生编号") = e.Form.Controls("学生编号").text
    dr("托管班级") = e.Form.Controls("托管班级").text
    dr("托管日期")  = d2
    dr("录入日期") = Format(Date.Now,"yyyy-MM-dd")
    dr("录入人") = _UserJgbh
Next
[此贴子已经被作者于2019/11/14 13:55:09编辑过]

 回到顶部