Foxtable(狐表)用户栏目专家坐堂 → 窗口加载数据慢


  共有2183人关注过本帖树形打印复制链接

主题:窗口加载数据慢

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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
窗口加载数据慢  发帖心情 Post By:2019/12/21 9:21:00 [显示全部帖子]

在窗口设计了一个控件,控件代码如下,并且在窗口放置了有关联关系的主表和明细表,在以前运行速度还可以接受,但近期速度特别慢,
是不是与数据量有关,现在主表数据量有1000条,明细表有6000条

Dim Filter As String
With e.Form.Controls("客户名称")
    If .Value IsNot Nothing Then
        Filter = "客户名称 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("订单编号")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "订单编号 = '" & .Value & "'"
    End If
End With
If Filter > "" Then
    Tables("铝窗订单主表").Filter = Filter
    
End If

Dim drs As List(Of DataRow) = DataTables("铝窗订单主表").Select("订单编号 = '" & e.form.controls("订单编号").Text & "'")
If drs.count > 0 Then
    e.form.controls("TextBox1").Text = drs(0)("备注")
    e.form.controls("TextBox2").Text = drs(0)("产品名称")
    e.form.controls("TextBox3").Text = drs(0)("铝窗颜色")
    e.form.controls("TextBox4").Text = drs(0)("玻璃类型")
    e.form.controls("TextBox5").Text = drs(0)("纱窗类型")
    e.form.controls("TextBox6").Text = drs(0)("锁向")
    e.form.controls("TextBox7").Text = drs(0)("一体窗材料")
Else
    e.form.controls("TextBox1").Text = Nothing
    e.form.controls("TextBox2").Text = Nothing
    e.form.controls("TextBox3").Text = Nothing
    e.form.controls("TextBox4").Text = Nothing
    e.form.controls("TextBox5").Text = Nothing
    e.form.controls("TextBox6").Text = Nothing
    e.form.controls("TextBox7").Text = Nothing
End If

 回到顶部
帅哥哟,离线,有人找我吗?
liuandwang
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2019/12/21 10:58:00 [显示全部帖子]

我取消赋值其他TextBox,速度没有变,还是慢,是不是还有其他原因



 回到顶部
帅哥哟,离线,有人找我吗?
liuandwang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2019/12/21 16:23:00 [显示全部帖子]

"铝窗订单主表"表事件currentchanged事件只有如下代码
Tables("铝窗订单明细表").Filter = "订单编号 = '"& Tables("铝窗订单主表").Current("订单编号") & "'"

 回到顶部
帅哥哟,离线,有人找我吗?
liuandwang
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2020/3/29 17:48:00 [显示全部帖子]

我可能找到影响速度的地方了,以前是按订单编号将“订单明细表”中的“面积”合计到“订单主表”中,

再通过计算返回到订单明细表的每个行,可能这里出现了问题。

我想直接在订单明细表中计算,具体公式:

 

按订单编号sum(面积数量),平均平方数=面积/产品个数,

if 平均平方数>3,不够平方单价=0

if 平均平方数>2,不够平方单价=10

if 平均平方数>1,不够平方单价=25

 

 

蓝老师,这代码怎么写,谢谢

 


 回到顶部
帅哥哟,离线,有人找我吗?
liuandwang
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2020/3/30 8:01:00 [显示全部帖子]

主要是在表事件中,写合计面积的代码,这个代码尝试很多次,不会写,得到的结果在“不够平方单价”列进行计算,

 回到顶部