Foxtable(狐表)用户栏目专家坐堂 → 关于日期分期


  共有11954人关注过本帖平板打印复制链接

主题:关于日期分期

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/7/28 21:16:00 [只看该作者]

做了一个,似乎For ...Next 比 Do... Loop好点,后者增加行时有明显的跳跃感.

Dim Ls As String() = {"客户编号","客户名称","合同编号","本金","付息方式","方式","利率","合同现状"}
Dim d1,d2,d3,d As Date
Dim n,n1,i,y,m As Integer
Dim r1,r2 As Row
Dim t As Table

r1 = Tables("合同").Current
d1 = r1("计息开始时间")
d2 = r1("计息结束时间")
y = d1.year 
m= d1.month
d = New Date(y,m,Date.DaysInMonth(y,m))
n = DateDiff("m",d1,d2) + iif(d1< d,1,0)
t =Tables("利息")

t.StopRedraw
For i = 0 To n-1
    r2 = t.AddNew()
    For Each s As String In Ls
        r2(s) = r1(s)
    Next    
    If d1<d AndAlso i = 0 Then
        d2 = d1
        d3 = d
    Else
        n1 =iif(d1<d,i-1,i) 
        y = d.AddMonths(n1).year
        m = d.AddMonths(n1).month
        d2 = New Date(y,m,Date.DaysInMonth(y,m))
        y = d.AddMonths(n1+1).year
        m = d.AddMonths(n1+1).month
        d3 = New Date(y,m,Date.DaysInMonth(y,m))
    End If   
    r2("本期起息日") = d2
    r2("本期结息日") = d3
Next
t.ResumeRedraw

 回到顶部
总数 17 1 2 下一页