Foxtable(狐表)用户栏目专家坐堂 → 为不同的用户加载不同的表


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

主题:为不同的用户加载不同的表

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
为不同的用户加载不同的表  发帖心情 Post By:2011/4/22 18:10:00 [只看该作者]

BeforeLoadInnerTable和BeforeLoadOuterTable事件都有一个未曾介绍的Cancel属性,将此属性设置为True,将不加载对应的表。

例如在BeforeLoadInnerTable(内部表)或BeforeLoadOuterTable(外部表)中设置代码:

 

Select Case e.DataTableName
   
Case "表A"
        e.Cancel = (e.User.Name =
"张三")
   
Case "表B"
        e.Cancel = (e.User.Name =
"李四")
   
Case "表C"
        e.Cancel = (e.User.Name =
"王五")
End
Select

 

这样张三打开项目,将不会加载表A,注意如果此时有代码使用表A,将会出错,因为此时不存在表A。
同样李四打开项目不会加载表B,王五打开项目不会加载表C。


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


加好友 发短信
等级:婴狐 帖子:64 积分:548 威望:0 精华:0 注册:2011/4/18 22:31:00
  发帖心情 Post By:2011/4/22 18:55:00 [只看该作者]

晕,我找不到这个事件在哪里呀,介绍详细点,表属性列属性,窗口属性我什么都没有看到


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/22 18:56:00 [只看该作者]

呵呵,这是项目事件,建议你抽时间系统看看帮助。


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


加好友 发短信
等级:婴狐 帖子:64 积分:548 威望:0 精华:0 注册:2011/4/18 22:31:00
  发帖心情 Post By:2011/4/22 19:13:00 [只看该作者]

找到了,你能不能写个每个用户只能加载相对应的表,这样子不是更好,要不然有的人家里面表表那么多,只限制一个或者多个好像比加载相对应表要麻烦~!


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


加好友 发短信
等级:婴狐 帖子:64 积分:548 威望:0 精华:0 注册:2011/4/18 22:31:00
  发帖心情 Post By:2011/4/22 19:23:00 [只看该作者]

 

If e.DataTableName = "订单"
    e.Filter =
"[业务员] = '" & e.User.Name & "'"
End
If

 

我有三四个用户,针对不同的的表,然后进去只显示今天的表格,要什么都写进去呢


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/23 8:25:00 [只看该作者]

表如果有日期列,加上一个日期列的条件

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/23 9:40:00 [只看该作者]

If e.DataTableName = "订单"
    e.Filter = "[业务员] = '" & e.User.Name & "' And 日期 = #" & Date.Today & "#"
End If

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


加好友 发短信
等级:婴狐 帖子:64 积分:548 威望:0 精华:0 注册:2011/4/18 22:31:00
  发帖心情 Post By:2011/4/23 9:57:00 [只看该作者]

 

Select Case e.DataTableName
   
Case "表A" ,“表D","表F"
        e.Cancel = (e.User.Name =
"张三")
   
Case "表B" “表D","表F"
        e.Cancel = (e.User.Name =
"李四")
   
Case "表C" “表D","表F"
        e.Cancel = (e.User.Name =
"王五")
End
Select

 

按照你上面的代码,张三、李四、王五,我设了多个表不加载的表,如果用张三进去,只显示表B表C,但如果用李四、王五进去,几个表会全部显示,不知道什么回事?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/23 10:06:00 [只看该作者]

以下是引用liuxing73151在2011-4-23 9:57:00的发言:

 

Select Case e.DataTableName
   
Case "表A" ,“表D","表F"
        e.Cancel = (e.User.Name =
"张三")
   
Case "表B" “表D","表F"
        e.Cancel = (e.User.Name =
"李四")
   
Case "表C" “表D","表F"
        e.Cancel = (e.User.Name =
"王五")
End
Select

 

按照你上面的代码,张三、李四、王五,我设了多个表不加载的表,如果用张三进去,只显示表B表C,但如果用李四、王五进去,几个表会全部显示,不知道什么回事?

 

建议你看看这一节的内容:

http://help.foxtable.com/topics/2242.htm

虽然讲的是计算的问题,但是道理一样

 

 


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2011/4/23 10:17:00 [只看该作者]

以下是引用狐狸爸爸在2011-4-22 18:10:00的发言:

BeforeLoadInnerTable和BeforeLoadOuterTable事件都有一个未曾介绍的Cancel属性,将此属性设置为True,将不加载对应的表。

例如在BeforeLoadInnerTable(内部表)或BeforeLoadOuterTable(外部表)中设置代码:

 

Select Case e.DataTableName
   
Case "表A"
        e.Cancel = (e.User.Name =
"张三")
   
Case "表B"
        e.Cancel = (e.User.Name =
"李四")
   
Case "表C"
        e.Cancel = (e.User.Name =
"王五")
End
Select

 

这样张三打开项目,将不会加载表A,注意如果此时有代码使用表A,将会出错,因为此时不存在表A。
同样李四打开项目不会加载表B,王五打开项目不会加载表C。

 

举一反三,好像所有的逻辑值参数都可以这样类似的使用!对吗?


 回到顶部
总数 21 1 2 3 下一页