Foxtable(狐表)用户栏目专家坐堂 → 下面代码执行速度很慢 有没有好的方法实现这个要求?


  共有2438人关注过本帖平板打印复制链接

主题:下面代码执行速度很慢 有没有好的方法实现这个要求?

帅哥哟,离线,有人找我吗?
jswjyjf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
下面代码执行速度很慢 有没有好的方法实现这个要求?  发帖心情 Post By:2016/6/7 15:46:00 [只看该作者]

根据库存表的期初数和某段期间的进货 销售 要实现新的库存数 下列代码 执行 速度很慢 有没有好的办法?
Dim dt As DataTable = DataTables("区间进销存_Table1")
For Each dr As DataRow In dt.DataRows
    Dim filter2 As String
'  filter2="产品名称 = '" & dr("产品名称") & "' and 颜色 = '" & dr("颜色") & "' and 仓库 = '" & dr("仓库") & "' and 日期 >= #" & e.Form.Controls("startdate").value & "# " & " And 日期 <= #" & e.Form.Controls("enddate").value & "#"
  filter2="产品名称 = '" & dr("产品名称") & "' and 仓库 = '" & dr("仓库") & "' and 日期 < #" & e.Form.Controls("startdate").value & "#"

   Dim s1 As Double = DataTables("进货单明细").sqlCompute("sum(数量)", filter2)
    Dim s2 As Double = DataTables("销售单明细").sqlCompute("sum(数量)", filter2)
    Dim s3 As Double = DataTables("其他出库单明细").sqlCompute("sum(数量)", filter2)
    Dim s4 As Double = DataTables("其他入库单明细").sqlCompute("sum(数量)", filter2)
    dr("期初_数量") += s1+s4 - s2 - s3
    Dim s5 As Double = DataTables("进货单明细").sqlCompute("sum(金额)", filter2)
    Dim s6 As Double = DataTables("销售单明细").sqlCompute("sum(金额)", filter2)
    Dim s7 As Double = DataTables("其他出库单明细").sqlCompute("sum(金额)", filter2)
    Dim s8 As Double = DataTables("其他入库单明细").sqlCompute("sum(金额)", filter2)
    dr("期初_金额") += s5+s6-s7-s8
Next


 回到顶部