Foxtable(狐表)用户栏目专家坐堂 → 处理不同行的问题


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

主题:处理不同行的问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
处理不同行的问题  发帖心情 Post By:2016/6/23 13:14:00 [只看该作者]

请教老师,我按照帮助中把代码写在LoadUserSetting里面,不同登录用户加载不同行,但没有作用

条件:打开主窗口后,点击按钮,打开“工作日志主表”

问题:在“工作日志主表”的过滤条件设置了[_Identify] Is Null ,登录后不加载任何符合登录姓名的行,是空表标题头 ;不写过滤条件,又加载全部行,

而不是登录人员符合的行   ,考虑到是通过按钮打开 “工作日志主表”, 我在代码最前面也尝试写了 If Forms("窗口1").Opened() Then,也没有反应,还是加载空表标题头

loadusersetting里面的代码

If _UserGroup = "负责人"  Then
    DataTables("工作日志主表").LoadFilter = ""
Else
    DataTables("工作日志主表").LoadFilter = "员工 = '" & _UserGroup & "'"
End If
DataTables("工作日志主表").Load()

把代码换成如下,也同样没有反应,加载还是空表

If _UserName = "马云"  Then
    DataTables("工作日志主表").LoadFilter = ""
Else
    DataTables("工作日志主表").LoadFilter = "员工姓名 = '" & _UserName & "'"
End If
DataTables("工作日志主表").Load()

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/23 14:29:00 [只看该作者]

 你把上面那段代码,写到你登陆窗口的确定按钮里面。

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/6/23 14:33:00 [只看该作者]

老师,如果有多个表都需要这样控制权限,是否都要写到 确定 按钮里面? 如果表多,那都要写吗,还是有其他更好的方法?

另外,如果在表的AFTERLOAD里设置加载条件  比如:

Dim dt As Date = Date.Today.AddDays(-7)
DataTables
("订单").LoadFilter = "日期 > #" & dt & "#"
DataTables
("订单").Load()

这样的话,在登录窗口确定按键里的代码就不起作用了,那加载的时间条件和 确定 按钮代码的同步作用,应该把加载的时间条件放在哪里,也是放在确定里面吗?

不设置加载条件,就全部加载进来了。
[此贴子已经被作者于2016/6/23 15:49:09编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/23 15:52:00 [只看该作者]

1、全部都要写到登陆按钮里去,如果内容都一样,可以写成循环的形式嘛

 

2、你AfterLoad事件的代码,也要根据确定按钮里面的条件进行控制。


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/6/23 16:43:00 [只看该作者]

这个代码,我写的有问题,请老师指导一下

If _UserGroup = "总经理" Then
    DataTables("变电主表").LoadFilter = ""
Else
    Dim dt1 As Date = Date.Today.AddDays(-60)
    DataTables("变电主表").LoadFilter = "负责人 = '" & _UserName & "'" And "日期 > #" & dt1 & "#"
DataTables("变电主表").Load()
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/23 16:49:00 [只看该作者]

If _UserGroup = "总经理" Then
    DataTables("变电主表").LoadFilter = ""
Else
    Dim dt1 As Date = Date.Today.AddDays(-60)
    DataTables("变电主表").LoadFilter = "负责人 = '" & _UserName & "' And 日期 > #" & dt1 & "#"
    DataTables("变电主表").Load()
End If

 回到顶部