Foxtable(狐表)用户栏目专家坐堂 → [求助] loadfilter -load 出错,死机


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

主题:[求助] loadfilter -load 出错,死机

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
[求助] loadfilter -load 出错,死机  发帖心情 Post By:2016/12/18 10:32:00 [只看该作者]

这个单击目录树代码:
Dim Filter As String
If e.node.name = "所有订单" Then
    filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim htmc As String = e.Node.DataRow("合同名称")
    Dim gys As String = e.Node.DataRow("供应商")
    Dim d1 As Date =new Date(year,1,1)
    Dim d2 As Date= new Date(Year,Month,1)
    Select Case e.Node.Level
        Case 0
 Return
        Case 1
            filter="合同名称 = '" & htmc & "'"
        Case 2
            filter = "进货日期 >= '" & d1 & "' and 进货日期 < '" & d1.AddYears(1) & "' And 合同名称 = '" & htmc & "'"
        Case 3
            Filter = "进货日期 >= '" & d1 & "' and 进货日期 < '" & d1.AddYears(1) & "'and 进货日期 >= '" & d2 & "'and 进货日期 < '" & d2.AddMonths(1) & "' And 合同名称 = '" & htmc & "'"
        Case 4
            Filter = "进货日期 >= '" & d1 & "' and 进货日期 < '" & d1.AddYears(1) & "'and 进货日期 >= '" & d2 & "'and 进货日期 < '" & d2.AddMonths(1) & "' And 合同名称 = '" & htmc & "' And 供应商 = '" & gys & "'"
    End Select
End If

If filter > "" Then
    DataTables("机具订单").RemoveFor(filter)
    DataTables("机具订单").AppendLoad(filter)
    Tables("机具订单").Filter= Filter
    Tables("机具订单").Sort = "进货日期 desc"
Else
    DataTables("机具订单").LoadFilter= Filter
    DataTables.load("机具订单")
    Tables("机具订单").Filter= Filter
    Tables("机具订单").Sort = "进货日期 desc"
End If

屏蔽其它 代码发现是下面代码问题。。初始,机具订单,没有数据,有加载 有。
Dim Filter As String
If e.node.name = "所有订单" Then
    filter = ""
end if 
DataTables("机具订单").LoadFilter= Filter
    DataTables.load("机具订单")(这个代码说:机具 订单已加载 。)           (DataTables("机具订单").load()这个代码直接死机)  (这两种写法,有什么区别 ?

请问,是什么问题?代码错误在哪里 ?



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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/18 10:42:00 [只看该作者]

其实,代码,是不用写的。

 

你也可以加判断

 

If DataTables.Contains("机具订单") = False Then

    DataTables.load("机具订单")

End If


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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/18 10:54:00 [只看该作者]

不是,我现在最主要的问题是:点:目录树,所有订单。。加载数据进来,会死机。而不是加载 机具订单 ,表的问题。

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/18 11:17:00 [只看该作者]

我发现这个:机具订单,表load就出错。
另一个采购入库load没事儿。有什么问题?

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/18 11:19:00 [只看该作者]

解决了,加载:订单明细,设置错了。 

OK了


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/18 11:40:00 [只看该作者]

1、数据量有多少?如果太多数据,肯定会死机。

 

2、把表事件的代码,都注释掉看看。


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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/18 12:13:00 [只看该作者]

不是数据量的事儿,是我把子表加载,原来写到,主表加载前加载 了。改到加载 后,加载就行了。

没事儿了

 回到顶部