以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 流水帐代码 帮助看一下 哪里有问题? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87381) |
-- 作者:jswjyjf -- 发布时间:2016/7/10 10:20:00 -- 流水帐代码 帮助看一下 哪里有问题? For Each dr As DataRow In DataTables("毛纱进货单").Select("[_SortKey] >= " & dr("_SortKey")) Dim Val1 As Double = DataTables("毛纱进货单").Compute("Sum(金额)","[_SortKey] <= " & dr("_SortKey")) Dim Val2 As Double = DataTables("毛纱进货单").Compute("Sum(已付金额)","[_SortKey] <= " & dr("_SortKey")) dr("结余金额") =Val1 - Val2 Next |
-- 作者:大红袍 -- 发布时间:2016/7/10 10:58:00 -- 你的_Sortkey有可能重复,重复会导致计算不正确。
方法一:重置_Sorktey列,弄成不重复的值。
方法二:用_Identiy列来比较。
|
-- 作者:jswjyjf -- 发布时间:2016/7/10 11:15:00 -- 谢谢 还有下面这段代码 计算不结果不对 Dim Filter As String Dim ye As Double For Each dr0 As DataRow In DataTables("毛纺厂").DataRows Filter = "毛纺厂名称= \'" & dr0("名称") DataTables("毛纱进货单").LoadFilter =filter ye=dr0("期初金额") messagebox.show(ye) For Each dr As Row In Tables("毛纱进货单").Rows ye=ye+dr("金额")-dr("已付金额") dr("结余金额")=ye Next DataTables("毛纱进货单").Save() Next |
-- 作者:大红袍 -- 发布时间:2016/7/10 11:49:00 -- Dim Filter As String
Dim ye As Double
For Each dr0 As DataRow In DataTables("毛纺厂").DataRows
Filter = "毛纺厂名称= \'" & dr0("名称") & "\'"
DataTables("毛纱进货单").LoadFilter =filter
DataTables("毛纱进货单").Load
ye=dr0("期初金额")
messagebox.show(ye)
For Each dr As Row In Tables("毛纱进货单").Rows
ye=ye+dr("金额")-dr("已付金额")
dr("结余金额")=ye
Next
DataTables("毛纱进货单").Save()
Next |