Foxtable(狐表)用户栏目专家坐堂 → 到期日期问题


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

主题:到期日期问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

主表_DataColChanged事件

不足一个月的算一次么

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


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

Dim cs() As String = {"开始日期","结束日期","间隔周期", "合同号"}
If array.IndexOf(cs, e.DataCol.name) > -1 Then
    Dim flag As Boolean = True
    For Each c As String In cs
        If e.DataRow.Isnull(c) Then
            DataTables("明细表").DeleteFor("合同号 = '" & e.DataRow("合同号") & "'")
            flag = False
            Exit For
        End If
    Next
    If flag Then
        DataTables("明细表").DeleteFor("合同号 = '" & e.DataRow("合同号") & "'")
        Dim n As Integer = e.DataRow("间隔周期")
        Dim sd As Date = e.DataRow("开始日期")
        Dim ed As Date = e.DataRow("结束日期")
        Dim y,m,d As Integer
        DateYMD(sd, ed,y,m,d)
        Dim ms As Integer = (y*12+m)/n
        Dim d2 As Date
        Dim i As Integer
        For i = 1 To ms
            Dim ndr = DataTables("明细表").addnew
            ndr("合同号") = e.DataRow("合同号")
            ndr("期数") = i
            ndr("开始日期") = sd.AddMonths((i-1)*n)
            d2 = sd.AddMonths(i*n).AddDays(-1)
            ndr("到期日期") = d2
        Next
        If d2 < ed And d > 0 Then
            Dim ndr = DataTables("明细表").addnew
            ndr("合同号") = e.DataRow("合同号")
            ndr("期数") = i
            ndr("开始日期") = d2.AddDays(1)
            ndr("到期日期") = ed
        End If
    End If
End If
[此贴子已经被作者于2017/9/11 22:46:57编辑过]

 回到顶部