以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]afterloadsetting 与 loadusersetting合并后 出现问题!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=13619)

--  作者:gaoyong30000
--  发布时间:2011/10/20 9:46:00
--  [求助]afterloadsetting 与 loadusersetting合并后 出现问题!

合并的目的是为了 切换用户这一功能! 而且我看说明 loadusersetting 与afterloadsetting 本质是一样的

 

 

1.由于  不同用户权限  部分菜单会不可用   

       程玉楼 默认登录后  取消申请  和 申请操作 这2个菜单是不可用的

 

       其它人(除了何雪峰) 登录后 默认是  批准  与  驳回不可用的

 

 

现在发现 如果我先用程玉楼登录  然后 再用 马维登录后    取消申请,申请操作,批准,驳回 均不可用了。。。。。

 

 

2.切换用户后 弹出错误  如果把代码里 remove代码删除 就没这个问题了  

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 

 

项目如下

 

 


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1.rar

[此贴子已经被作者于2011-10-20 9:46:32编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/10/20 10:27:00
--  

afterloadsetting 是加载表设置的时候执行。

loadusersetting是切换用户的时候执行。

两者有本质差别。

 

这样的代码不应该出现在LoadUserSetting事件中

Tables("销售意向客户进度管制").Cols.Remove("编号","销售顾问","区域区分")

 

你想一下,某个用户登录中,移除了这些行,某个用户再次登陆,执行此行代码一定会出错,因为这些行已经不存在了。

 

建议:系统不要有切换用户功能,将LoadUserSetting事件中的代码,放在AfterOpenProject事件中。


--  作者:gaoyong30000
--  发布时间:2011/10/20 11:25:00
--  

切换用户 比较方便 比如我们单位 有的电脑比较老旧 如果每次都要打开项目的话 非常缓慢  所以我想用这个功能!

 

如果要实现  我代码里的功能 请问 要修改哪些?

 

就这2个问题 如何解决

 

第一个问题  貌似可以通过 loadusersetting加入 菜单先全部可用  然后再执行下面的不可用代码

 

 

第二个问题  hide 能否可以?

[此贴子已经被作者于2011-10-20 11:29:50编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/10/20 11:36:00
--  

如果一定要这么做的话,在REmove之前,先判断相关列是否存在:

看看这里头的Contains方法:

 

http://www.foxtable.com/help/topics/0561.htm

 


--  作者:gaoyong30000
--  发布时间:2011/10/20 11:43:00
--  

哦   我研究下了~

 

 

假如:不包含A列 想恢复A列 如何弄呢?

 

 

还有第一个问题 菜单不可见 叠加的问题  如何解决?

 

 

 

[此贴子已经被作者于2011-10-20 11:43:21编辑过]