以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  分期付款的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=58627)

--  作者:prnd321
--  发布时间:2014/10/21 10:30:00
--  分期付款的问题

已有表A的数据,如何实现表B的自动计算功能,即分期的金额和付款的日期都根据表A中的数据自动计算出来?

 

 表A

 客户 成交金额  分期次数      成交日期
   甲   15000     3     2014-9-8   
   乙    4000    2    2014-10-15

 

表B

 

  客户    分期金额        付款日期  
   甲    5000    2014-10-8
   甲    5000    2014-11-8
   甲    5000    2014-12-8
   乙    2000    2014-11-15
   乙    2000    2014-12-15

--  作者:有点甜
--  发布时间:2014/10/21 10:32:00
--  
 foxtable的例子发上来。
--  作者:Bin
--  发布时间:2014/10/21 10:33:00
--  
for i as integer = 1 to e.datarow("分期次数") 
     dim r as row = tables(表A.表B).addnew
      r("分期金额")=e.datarow("成交金额")/e.datarow("分期次数") 
      r("付款日期")=e.datarow("成交日期").addmonths(i-1)
next

--  作者:prnd321
--  发布时间:2014/11/3 20:22:00
--  

问题已解决了。我写的代码如下,经测试完全达到设计要求:

 

Select Case e.DataCol.Name
    Case "客户"
        If e.DataRow.IsNull("客户") = False Then \'如果已经输入订单编号
            For i As Integer = 1 To e.DataRow("分期次数")
                Dim dr As DataRow = DataTables("表B").AddNew()
                dr("客户") = e.DataRow("客户")
                dr("分期金额") = e.DataRow("成交金额") / e.DataRow("分期次数")
                dr("付款日期")= e.DataRow("成交日期").addmonths(i)
            Next
        End If
End Select

 

不过还是感谢楼上给了我启发!