以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于加载出现了小问题(较严重)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70376)

--  作者:乡里出城
--  发布时间:2015/6/19 18:19:00
--  [求助]关于加载出现了小问题(较严重)
关于帮助里的

2、在项目的LoadUserSetting( [标题编号])事件中设置代码,加载用户负责的订单:

If User.Name = "张经理" Then
    DataTables
("
订单").LoadFilter = ""
Else
    DataTables
("
订单").LoadFilter = "业务员 = \'" & User.Name & "\'"
End
If
DataTables
("
订单").Load()


我原的代码是:


If User.Group = "最高级" Then

    DataTables("账号").LoadFilter = ""

ElseIf User.Group = "领导2" Then

    DataTables("账号").LoadFilter = ""

Else

    DataTables("账号").LoadFilter = "出纳人员 = \'" & User.Name & "\' OR 会计人员 = \'" & User.Name & "\' OR 主管财务人员 = \'" & User.Name & "\'" 

End If

DataTables("账号").Load()



已运行很一个多月了,一直各用户打开表都只能正常加载自己的数据,但今天有出纳人员反映下述问题已经出现过两次了,她今天正常输入她账号打开表,但她的“账号”表加载了所有数据行(包括其他用户的数据),重新关掉后再打开又变正常了,只加载了她自己的数据行,她说这问题已经出现两次了,我现在请问各高手怎么解决,代码怎么改或怎么完善,如果我不是亲眼看到她截的图,我都不相信的,我就怀疑在网络加载过程中出现问题,软件起动时不知道是不是出现什么错误,然后就越过LOADFITER 全部加载了,我水平有限只能这样理解

[此贴子已经被作者于2015/6/19 18:25:09编辑过]

--  作者:sloyy
--  发布时间:2015/6/20 1:29:00
--  
改为 
Select Case User.Group
    Case
 
"最高级"
        代码1

    Case
 
"领导2" 
        代码2

    Case
 
"出纳人员
        代码3

    Case
 Else
        代码X
End Select
可能对付网络不好的情况比较好

--  作者:大红袍
--  发布时间:2015/6/23 9:31:00
--  

 加载全部数据,应该和这段代码是无关的。

 

 应该是这段代码之前,你有别的代码出错影响了不去执行最后的Load函数。

 

 你应该在项目一打开的时候,就不要加载任何数据。http://www.foxtable.com/help/topics/2256.htm

 


--  作者:乡里出城
--  发布时间:2015/6/23 9:56:00
--  [求助]
里面是有其他代码,但一般正常下每个账号只会加载本账号负责的数据,我也测试过很多次了都是正常的,只是他们反映偶然出现一两次的全部加裁,如果是我其他的代码所导致的,如果代码顺序怎么处理,还是我把其他代码也发上来,那些代码也是帮助里取的?我现在想找解决问题的方案,如果还是按帮助里的第二段(下图)来写代码的,那问题还没解决,因为我代码就是参考帮助写的,求解,难道要换一种思路,先不加载,登陆后再按加载?如果这样的话就不便利了。

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150623094822.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/6/23 10:04:26编辑过]

--  作者:乡里出城
--  发布时间:2015/6/23 10:08:00
--  
还有,如果没有LOAD函数,我打开好像是不会加裁的吧
--  作者:大红袍
--  发布时间:2015/6/23 13:11:00
--  

 设置最初的情况下,不加载任何数据啊。

 

 有可能你网络有问题导致出错不执行load函数了啊


--  作者:乡里出城
--  发布时间:2015/6/23 16:24:00
--  
那问题还是没很好解决,我的想法是,可不可以先通过项目加载,然后加载完后再表加载,相当实现一次两次过滤,我之前是这样想的,
--  作者:大红袍
--  发布时间:2015/6/23 16:43:00
--  
以下是引用乡里出城在2015/6/23 16:24:00的发言:
那问题还是没很好解决,我的想法是,可不可以先通过项目加载,然后加载完后再表加载,相当实现一次两次过滤,我之前是这样想的,

 

什么没有很好解决。

 

1、控制最初不加载任何数据,那打开以后,即便没有运行到Load函数,也不至于让人看到全部数据;

 

2、代码没有问题,基本就是网络异常的时候,会导致系统奔溃,代码不执行。