Foxtable(狐表)用户栏目专家坐堂 → 关于关联表自动更新的问题


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

主题:关于关联表自动更新的问题

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


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

项目表,Datacolchanged事件


Select Case e.DataCol.Name
    Case "开始时间","结束时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("结束时间") = False AndAlso dr.IsNull("开始时间") = False AndAlso dr("开始时间") <= dr("结束时间") Then
            Dim d As Date = dr("开始时间")
            Dim nr As Row
            Dim qd As String = Format(dr("签署日期"),"yyyyMM")
            Dim amount As Integer = dr("金额")
            If Format(d,"yyyyMM") = Format(dr("结束时间"),"yyyyMM") Then
                nr = Tables("项目.收益").AddNew()
                nr("分期时间") = Format(d,"yyyyMM")
                nr("分期金额") = dr("金额")
                nr("确认时间") = qd
            Else
                Dim sum As Integer = 0
                nr = Tables("项目.收益").AddNew()
                nr("分期时间") = Format(d,"yyyyMM")
                sum = (Date.DaysInMonth(d.Year,d.Month) - d.Day + 1)*100
                nr("分期金额") = math.Min(sum,amount)
                nr("确认时间") = qd
                If sum >= amount Then Return
                d = new Date(d.Year,d.Month,1).AddMonths(2).AddDays(-1)
                Do While d < dr("结束时间")
                    nr = Tables("项目.收益").AddNew()
                    nr("分期时间") = Format(d,"yyyyMM")
                    nr("确认时间") = qd
                    Dim fqje As Integer = Date.DaysInMonth(d.Year,d.Month)*100
                    If fqje + sum > amount Then
                        nr("分期金额") = amount - sum
                        Return
                    End If
                    nr("分期金额") = fqje
                    sum += fqje
                    d = d.AddMonths(1)
                Loop
                If sum < amount Then
                    d = dr("结束时间")
                    nr = Tables("项目.收益").AddNew()
                    nr("分期时间") = Format(d,"yyyyMM")
                    nr("分期金额") = amount - sum
                    nr("确认时间") = qd
                End If
            End If
        End If
End Select

 回到顶部