Foxtable(狐表)用户栏目专家坐堂 → 关于加载表


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

主题:关于加载表

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
关于加载表  发帖心情 Post By: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()


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/9/25 11:32:00 [显示全部帖子]

是不是应该将And改为OrElse?

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/9/25 14:02:00 [显示全部帖子]

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


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/9/25 14:20:00 [显示全部帖子]

那如何选取时间间隔呢?除了用TimerTick加载表还有其它方法吗?

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/9/25 14:29:00 [显示全部帖子]

以下是引用有点甜在2014-9-25 14:23:00的发言:

 

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

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


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/10/9 10:19:00 [显示全部帖子]

还是没有搞清楚,Bin和有点甜版主的解答不一样。我现在怀疑用TimerTick 加载表是否合适,随着数据量加大,或者网络偶尔不畅会导致加载时间过长而出错,总不能把时间间隔设为几分钟吧,不知版主有何建议。

2楼的问题确实不存在。


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/10/9 12:02:00 [显示全部帖子]

以下是引用blackzhu在2014-10-9 11:34:00的发言:
把这个代码放在计时器里面? 

是的,不妥?


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/11/3 9:01:00 [显示全部帖子]

这个问题一直没有解决,我再重复描述一下。大多数情况下使用正常,只是偶尔出现不能加载某个表,(其它表加载正常)退出foxtable再运行,还是加载不了。在任务管理器中也无foxtable的进程,只得重启电脑才行。
    问题1:在网络正常的情况下,为什么有的表有偶尔连接不上数据库?(同样环境中有的表加载正常)
    问题2:以下是我用的加载代码,在4个表中,如果有的表已经加载了,如何继续加载其它的表?(请根据1楼代码完善)

    关于问题1,它确实不是由问题2产生的,也不是网络的问题,有朋友提醒我,是不是局域网中有客户端同时在加载这个表导致冲突,而且,在数据库文件夹中出现了与.mdb同名的.ldb文件,怎么也删不掉,只有重启电脑后才不见了。


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/11/3 10:23:00 [显示全部帖子]

以下是引用有点甜在2014-11-3 9:12:00的发言:
 不要写判断,直接加载表啊。

这样会频繁加载表的,加载表的窗口是通过菜单打开的:

If DataTables.Contains("成品总帐") = True And DataTables.Contains("成品明细") = True And DataTables.Contains("成品帐页") = True And DataTables.Contains("成品月结") = True Then
    MainTable = Tables("成品总帐") '切换主表
    Forms("成品台帐").Open()
Else
    Forms("产成品仓加载表").Open() 
End If

[此贴子已经被作者于2014-11-3 10:23:03编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2014/11/3 10:39:00 [显示全部帖子]

我是通过菜单命令按钮加载表的,如果不判断会频繁重复加载表。我也想用加载树,可是操作者不习惯。


 回到顶部
总数 14 1 2 下一页