以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  处理不同行的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86689)

--  作者:douglas738888
--  发布时间: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()

--  作者:大红袍
--  发布时间:2016/6/23 14:29:00
--  
 你把上面那段代码,写到你登陆窗口的确定按钮里面。
--  作者:douglas738888
--  发布时间: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编辑过]

--  作者:大红袍
--  发布时间:2016/6/23 15:52:00
--  

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

 

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


--  作者:douglas738888
--  发布时间: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

--  作者:大红袍
--  发布时间: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