Foxtable(狐表)用户栏目专家坐堂 → 【求助】求助时间指定 计算与累加


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

主题:【求助】求助时间指定 计算与累加

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 17:52:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 20:38:00 [显示全部帖子]

For Each dr As DataRow In DataTables("账单分期").Select("")
    Dim fdr As DataRow = DataTables("银行卡信息").find("银行卡号 = '" & dr("银行卡号") & "'")
    Dim d As Date = dr("账单期间")
    d = new Date(d.year, d.Month, fdr("还款日"))
    For i As Integer = 1 To dr("分期数")
        Dim ndr As DataRow = DataTables("分期明细").find("银行卡号 = '" & dr("银行卡号") & "' and 还款期间 = #" & d.AddMonths(i) & "#")
        If ndr Is Nothing Then
            ndr = DataTables("分期明细").AddNew
        End If
        ndr("银行卡号") = dr("银行卡号")
        ndr("还款期间") = d.AddMonths(1)
    Next
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 21:25:00 [显示全部帖子]

没看懂你的需求。你要这样写?

 

        If d<d1 Then
            ndr("还款期间") = d.AddDays(fdr("还款日")-1).AddMonths(1)
        Else
            ndr("还款期间") = d.AddDays(fdr("还款日")-1)
        End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 21:49:00 [显示全部帖子]

For Each dr As DataRow In DataTables("账单分期").Select("")
    Dim fdr As DataRow = DataTables("银行卡信息").find("银行卡号 = '" & dr("银行卡号") & "'")
    Dim d As Date = dr("还款期间")
    d = new Date(d.year, d.Month, fdr("还款日"))
    Dim d1 As Date = dr("账单期间")
    d1 = new Date(d1.year, d1.Month, fdr("账单日"))
    For i As Integer = 1 To dr("分期数")
        Dim ndr As DataRow = DataTables("分期明细").find("银行卡号 = '" & dr("银行卡号") & "' and 账单期间 = #" & d1.AddMonths(i) & "#")
        If ndr Is Nothing Then
            ndr = DataTables("分期明细").AddNew
        End If
        ndr("银行卡号") = dr("银行卡号")
        ndr("银行名称")=dr("银行名称")
        ndr("每月金额")=dr("每月金额")
        ndr("每月利息")=dr("每月利息")
        If d<=d1 Then
            ndr("还款期间") = d.AddMonths(i+1)
        Else
            ndr("还款期间") = d.AddMonths(i)
        End If
        ndr("账单期间") = d1.AddMonths(i)
        ndr("分期序列")=0+i
    Next
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 22:01:00 [显示全部帖子]

 d.AddDays(fdr("还款日")-1).AddMonths(1)

 

这句代码的意思是

 

 在d的基础上,先增加 4-1填,然后增加 一个月

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 22:13:00 [显示全部帖子]

 如果明细表没有记录,就新增一行;如果明细表find到对应的记录,就不会新增行,直接修改find到的那一行。

 

 控制好你find的条件。

[此贴子已经被作者于2017/10/15 22:13:14编辑过]

 回到顶部