以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于加载表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57468)

--  作者:实话实说
--  发布时间:2014/9/25 11:14:00
--  关于加载表

以下是窗口定时器代码,时间间隔1000。打开窗口后一般会加载表,近来偶尔不加载表,是不是数据量大了以后与1000ms的时间间隔有关?

TimerTick
If DataTables.Contains("成品总帐") = False And DataTables.Contains("成品明细") = False And DataTables.Contains("成品帐页") = False And DataTables.Contains("成品月结") = False Then
    e.Form.Controls("Label1").Text = "正在加载表...请稍候"
    Application.DoEvents() \'即刻暂停代码的执行,重新绘制控件后,继续执行代码
    DataTables.Load("成品总帐|成品明细|成品帐页|成品月结")
Else
    e.Form.TimerEnabled=False
    e.Form.Close()
End If
MainTable = Tables("成品总帐") \'切换主表
Forms("成品台帐").Open()


--  作者:有点甜
--  发布时间:2014/9/25 11:16:00
--  

 和这段判断有关

 

If DataTables.Contains("成品总帐") = False And DataTables.Contains("成品明细") = False And DataTables.Contains("成品帐页") = False And DataTables.Contains("成品月结") = False Then

 

 有可能是你之前加载了某个表导致判断出错。


--  作者:实话实说
--  发布时间:2014/9/25 11:32:00
--  
是不是应该将And改为OrElse?
--  作者:有点甜
--  发布时间:2014/9/25 11:35:00
--  
以下是引用实话实说在2014-9-25 11:32:00的发言:
是不是应该将And改为OrElse?

 

可以试试


--  作者:lsy
--  发布时间:2014/9/25 12:02:00
--  
For Each s As String In "婚姻状况|家系称谓关系|科研课题|临床部门".Split("|")
    If DataTables.Contains(s) = False Then
        e.Form.Controls("Label1").Text = "正在加载表【" & s & "】...请稍候"
        Application.DoEvents() \'即刻暂停代码的执行,重新绘制控件后,继续执行代码
        DataTables.Load(s)        
    End If
Next 
e.Form.Close()

--  作者:实话实说
--  发布时间:2014/9/25 14:02:00
--  

其实我一直都是用一楼的代码加载表,也一直正常,近来才发现数据量较大的表偶尔出现加载不了的情况,确实不存在2楼的情况,我想是否是时间间隔和数据量大小有关?


--  作者:Bin
--  发布时间:2014/9/25 14:04:00
--  
数据量太大,如果超过1秒没加载完成,又开始执行第二次又加载一次,此时就会出问题了.
--  作者:实话实说
--  发布时间:2014/9/25 14:20:00
--  
那如何选取时间间隔呢?除了用TimerTick加载表还有其它方法吗?

--  作者:有点甜
--  发布时间:2014/9/25 14:23:00
--  
以下是引用实话实说在2014-9-25 14:02:00的发言:

其实我一直都是用一楼的代码加载表,也一直正常,近来才发现数据量较大的表偶尔出现加载不了的情况,确实不存在2楼的情况,我想是否是时间间隔和数据量大小有关?

 

如果没有报错,就是判断出了问题,就是2楼的问题。


--  作者:实话实说
--  发布时间:2014/9/25 14:29:00
--  
以下是引用有点甜在2014-9-25 14:23:00的发言:

 

如果没有报错,就是判断出了问题,就是2楼的问题。

那6楼的问题是否可能存在呢?