Foxtable(狐表)用户栏目专家坐堂 → 下面这段代码 运行时间有点长 能不能帮我优化一下 谢谢


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

主题:下面这段代码 运行时间有点长 能不能帮我优化一下 谢谢

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
下面这段代码 运行时间有点长 能不能帮我优化一下 谢谢  发帖心情 Post By:2022/9/21 21:05:00 [只看该作者]

下面这段代码 运行时间有点长 能不能帮我优化一下 谢谢
Dim Filter As String = "单据状态='已审核'"
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <='" & .Value & "'"
    End If
End With
Dim drs As List(of DataRow)  = DataTables("销售单").SQLSelect(filter)
Dim Sum As Integer
Dim s1 As Double
Dim s2 As Double
Dim s3 As Double
Dim s4 As Double
Dim s As String
Dim khmc As String
Dim khbm As String 
For Each dr As DataRow In drs
    khbm=dr("客户编码")
    s=dr("单据号")
    khmc=dr("客户名称")
    s1=dr("数量")
    s2 = DataTables("销售单明细").SQLCompute("Sum(辅助数量)","单据状态='已审核' and 单据号='" & s & "' and 客户编码='"  & khbm & "'")
    s3=DataTables("销售单明细").SQLCompute("Sum(辅助数量)","单据状态='已审核' and 单据号='" & s & "'")
    If s1<>s2
        msgbox(s & khmc )
             msgbox(s1)
            msgbox(s2)
    End If
    If s1<>s3
        msgbox(s & khmc )
             msgbox(s1)
            msgbox(s3)
    End If
Next
msgbox("ok")

 回到顶部