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


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

主题:关于日期分期

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/19 11:26:00 [显示全部帖子]

If  Tables("合同").Current("付息方式") ="VIP客户" Then
    Dim d1 As Date = Tables("合同").Current("计息开始时间")
    Dim d2 As Date = Tables("合同").Current("计息结束时间")
    Dim d As Date = d1
    Do While d < d2
        Dim r As Row = Tables("利息").AddNew()
        r("客户编号")=Tables("合同").Current("客户编号")
        r("客户名称")=Tables("合同").Current("客户名称")
        r("合同编号")=Tables("合同").Current("合同编号")
        r("本金")=Tables("合同").Current("本金")
        r("付息方式")=Tables("合同").Current("付息方式")
        r("方式")=Tables("合同").Current("方式")
        r("利率")=Tables("合同").Current("利率")
        r("合同现状")=Tables("合同").Current("合同现状")
        r("本期起息日") = d
        If d.Month = 2 AndAlso d.Day = Date.DaysInMonth(d.year,2)
            d = new Date(d.year,3,31)
        Else
            d = d.AddMonths(1)
        End If
        If d > d2 Then
            d = d2
        End If
        r("本期结息日") =  d
    Loop
End If

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/22 8:39:00 [显示全部帖子]

Dim d1 As Date = Tables("合同").Current("计息开始时间")
Dim d2 As Date = Tables("合同").Current("计息结束时间")
Dim d As Date = d1
Do While d < d2
    Dim r As Row = Tables("利息").AddNew()
    r("客户编号")=Tables("合同").Current("客户编号")
    r("客户名称")=Tables("合同").Current("客户名称")
    r("合同编号")=Tables("合同").Current("合同编号")
    r("本金")=Tables("合同").Current("本金")
    r("付息方式")=Tables("合同").Current("付息方式")
    r("方式")=Tables("合同").Current("方式")
    r("利率")=Tables("合同").Current("利率")
    r("合同现状")=Tables("合同").Current("合同现状")
    r("本期起息日") = d
    Dim d1 As Date = d
    d= d.Addmonth(1)
    If d1.day = Date.DaysInMonth(d1.year,d1.month) Then
        d = new Date(d.year,d.month,Date.DaysInMonth(d.year,d.month))
    End If
    r("本期结息日") = d
    Dim Days As Integer =Date.DaysInMonth(d.year,d.month)
    Select Case d.month
        Case 1, 3, 5, 7, 8, 10, 12 ' AndAlso d.day = 30
            d = New Date(d.year,d.month,days)
            r("本期结息日")=new Date(d.year,d.month,31)
    End Select
Loop


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/22 9:15:00 [显示全部帖子]

我在命令窗口测试我的代码,没有问题的:

 

Dim d As Date = #5/31/2011#
Dim d2 As Date = #5/1/2012#
Do While d < d2
    Dim d1 As Date = d
    d= d.Addmonths(1)
    If d1.day = Date.DaysInMonth(d1.year,d1.month) Then
        d = new Date(d.year,d.month,Date.DaysInMonth(d.year,d.month))
    End If
    output.show(d)
Loop

 

 

[此贴子已经被作者于2011-7-22 9:14:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/22 10:20:00 [显示全部帖子]

Dim d As Date = #5/30/2011#
Dim d2 As Date = #5/1/2012#
Do While d < d2
    If d.day <> Date.DaysInMonth(d.year,d.month)
        d = new Date(d.year,d.month,Date.DaysInMonth(d.year,d.month))
    Else
        Dim d1 As Date = d
        d = d.Addmonths(1)
        If d1.day = Date.DaysInMonth(d1.year,d1.month) Then
            d = new Date(d.year,d.month,Date.DaysInMonth(d.year,d.month))
        End If
    End If
    output.show(d)
Loop


 回到顶部