以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]非等于比较  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=105348)

--  作者:lgj716330
--  发布时间:2017/8/17 14:29:00
--  [求助]非等于比较
Dim drs As List(of DataRow) = DataTables("表A").Select("""项目,日期"\'注意排序参数
drs(0)("累计支出") = drs(0)("支出"
\'设置第一行的累计支出
For 
i As Integer = 1 To drs.Count -  \'从第二行开始逐行计算累计支出
    If 
drs(i)("项目") = drs(i - 1)("项目") Then
        drs(i)("累计支出") = drs(i-1)("累计支出") + drs(i)("支出"
)
    Else

        drs(i)("累计支出") = drs(i)("支出"
)
    
End If
Next

帮助中的这段代码,如果下一年度从新开始累计,要如何修改

--  作者:有点甜
--  发布时间:2017/8/17 14:38:00
--  
Dim drs As List(of DataRow) = DataTables("表A").Select("", "项目,日期") \'注意排序参数
drs(0)("累计支出") = drs(0)("支出") \'设置第一行的累计支出
For i As Integer = 1 To drs.Count - 1  \'从第二行开始逐行计算累计支出
    If drs(i)("日期").year <> drs(i - 1)("日期").year Then
        drs(i)("累计支出") = drs(i)("支出")
    Else
        If drs(i)("项目") = drs(i - 1)("项目") Then
            drs(i)("累计支出") = drs(i-1)("累计支出") + drs(i)("支出")
        Else
            drs(i)("累计支出") = drs(i)("支出")
        End If
    End If
Next