dr("本期发生额_借方") = DataTables("表B").conpute("sum(本期发生额_借方)","年份='" & v(0) & "' And 月份='" & v(1) & "' and 科目代码='" & v(2) & "'")
Dim drs As List(Of DataRow) = DataTables("年月累计").Select("", "月份") '月份格式为:202301
For i As Integer = 0 To drs.count - 1
Dim dr As DataRow = drs(i)
Dim y As Integer = dr("月份").substring(0, 4) '提取前4位数
If i = 0 Then '如果是第一行
dr("本年累计") = dr("本月合计")
Else
Dim last As Date = drs(i - 1)("月份")
Dim y1 As Integer = last.substring(0, 4)
If y1 = y Then '如果和上一行同年
dr("本年累计") = dr("本月合计") + drs(i - 1)("本年累计")
Else
dr("本年累计") = dr("本月合计")
End If
End If
Next
老师,提示SubString不是Date成员,怎么修改
老师,出现运行错误,索引和长度必须引用该字符串内的位置,参数名Length
Dim pdr As DataRow = Nothing
For Each dr As DataRow In DataTables("年月累计").Select("", "品名,年度,月份,_Identify") '月份格式为202301
If pdr Is Nothing OrElse dr("品名") <> pdr("品名") OrElse dr("年度") <> pdr("年度") Then
dr("本年累计") = dr("本月合计")
Else
dr("本年累计") = pdr("本年累计") + dr("本月合计")
End If
pdr = dr
Next
这样就可以了