Foxtable(狐表)用户栏目专家坐堂 → [求助]周期增加


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

主题:[求助]周期增加

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


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

看不懂你的逻辑,上传实例看看

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


加好友 发短信
等级:超级版主 帖子:106732 积分:542855 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/19 20:55:00 [显示全部帖子]

Dim dt As DataTable = DataTables("派工")
Dim r As Row = Tables("客户资料").current
Dim sd As Date = r("开始日期")
Dim ed As Date = r("结束日期")
Dim d As Date = new Date(sd.Year,sd.Month,1)
Dim ndr As DataRow = dt.addnew
ndr("编号") =r.DataRow("编号")
Dim zq As Integer = r("周期")
Dim xq As Integer = r("周")
Dim dw As Integer = d.DayOfWeek
If dw = 0 Then dw = 7
Dim d1 As Date
If dw > xq Then
    d1= d.AddDays(7*zq - (dw - xq))
Else
    d1 = d.AddDays(xq - dw+7*(zq-1))
End If
If d1.Day < sd.Day Then
    d1 = d1.AddDays(Math.Ceiling((sd.Day - d1.Day) / 7) * 7)
End If
ndr("截止日期") = d1
d = d.AddMonths(1)

Do While d <= ed
    ndr = dt.addnew
    ndr("编号") =r.DataRow("编号")
    ndr("截止日期") = d
    dw  = d.DayOfWeek
    If dw = 0 Then dw = 7
    If dw > xq Then
        ndr("截止日期") = d.AddDays(7*zq - (dw - xq))
    Else
        ndr("截止日期") = d.AddDays(xq - dw+7*(zq-1))
    End If
    
    d = d.AddMonths(1)
Loop

 回到顶部