以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]帮忙看看我使用外部数据表的进销存代码对不对 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21036) |
-- 作者:a9858 -- 发布时间:2012/6/28 10:07:00 -- [求助]帮忙看看我使用外部数据表的进销存代码对不对 我使用的外部数据表每次打开软件时,库存都是空的,怎么回事,我代码有问题吗, 我使用内部数据表做了一遍,库存是正常的。 请老师帮忙改一下,谢谢!!! Select Case e.DataCol.name Case "日期","车号","入库柴油数量","加油" Dim dr1 As DataRow = e.DataRow Dim dr2 As DataRow For Each dr As DataRow In e.DataTable.Select("[_SortKey] >= " & e.DataRow("_SortKey")) Dim Val1 As Double = e.DataTable.Compute("Sum(入库柴油数量)","[_SortKey] <= " & dr("_SortKey")) Dim Val2 As Double = e.DataTable.Compute("Sum(加油)","[_SortKey] <= " & dr("_SortKey")) dr("库存柴油") = Val1 - Val2 Next If dr1.IsNull("日期") OrElse dr1.IsNull("车号") Then dr1("上次里程表数") = Nothing Else dr2 = e.DataTable.Find("车号 = \'" & dr1("车号") & "\' And 日期 < #" & dr1("日期") & "#","日期 Desc") If dr2 IsNot Nothing Then dr1("上次里程表数") = dr2("本次里程表数") End If End If End Select |
-- 作者:狐狸爸爸 -- 发布时间:2012/6/28 14:09:00 -- 这种代码,不管你是内部表还是外部表,结果都是一样的。
|
-- 作者:程兴刚 -- 发布时间:2012/6/28 14:50:00 -- 不是数据源的问题,修改第一行或者最后一行在报错
增加判断解决,当第一行时,[_SortKey] <= " & dr("_SortKey")的行没有,反之[_SortKey] >= " & dr("_SortKey")的行也没有,因此报错,自己修改一下吧,您能够自己完成的! |