合同编号 月份 期初 新增 退 期末
0001 1 1000 1000
0001 1 1000 2000
0001 1 500 2500
0001 2 2500
0001 3 2500
每一个月的第一次发生, 期初都等于同一个合同编号的上一个月最后一次发生的期末.
你这个代码有问题的,没有判断月份和合同编号,只是下一行等于上一行.
我写的比你好.只是在找一个按月份走的代码怎么测试也不行.
以下是引用blackzhu在2011-8-24 10:30:00的发言:
我写的比你好.只是在找一个按月份走的代码怎么测试也不行.
那还得靠您自己动手,多演练几遍即可!
修改了下,需要将月份设置为 “数字” 列 :
Dim a As Double = Tables("表A").Rows.Count -1
For i As Double = 1 To a
Dim x As Row =Tables("表A").Rows(i) '下一行
Dim s As Row =Tables("表A").Rows(i-1) '上一行
'output.show(x("月份") & " " & s("月份"))
If x("合同编号")=s("合同编号") And x("月份") - s("月份") =1 Then
x("期初")=s("期尾")
End If
Next
[此贴子已经被作者于2011-8-24 10:52:23编辑过]
这个代码不行!我贴上我的代码.
Dim bjs As List(Of String) = DataTables("本金").GetUniqueValues("","月份")
For Each bj As String In bjs
Dim drs As List(Of DataRow) = DataTables("本金").Select("客户编号='" & e.DataRow("客户编号") & "'And 月份='" & e.DataRow("月份") & "'")
For n As Integer = 0 To drs.Count - 1
If n > 0 AndAlso drs(n)("月份")= drs(n)("月份") Then
drs(n)("期初余额") = drs(n-1)("期末余额")
End If
Next
Next

此主题相关图片如下:tm截图未命名-1.jpg

我想的效果:

此主题相关图片如下:tm截图未命名-2.jpg
