以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  加载条件的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118628)

--  作者:lungby
--  发布时间:2018/5/7 17:46:00
--  加载条件的问题

在项目属相的beforeloadinnertable 中写了如下代码,想在加载工作日志表时如果登录用户为检测组的,只显示登录当日前三天的内容,现在无法实现,有什么问题吗?望解答,谢谢


If e.DataTableName = "委托台账" Then
e.Filter = "[_Identify] Is Null"
End If
If e.DataTableName = "工作日志" Then
e.Filter = "[_Identify] Is Null"
End If

If e.DataTableName = "工作日志" AndAlso e.User.Group = "检测" Then
    Dim StartDate As Date = Date.Today().AddDays(-3)
    e.Filter = "[日期] > #" & StartDate & "#"
End If
[此贴子已经被作者于2018/5/10 17:13:12编辑过]

--  作者:有点蓝
--  发布时间:2018/5/7 17:59:00
--  
无法实现的现象是什么?

If e.DataTableName = "委托台账" Then
    e.Filter = "[_Identify] Is Null"
End If

If e.DataTableName = "工作日志"  Then
    If e.User.Group = "检测"
        Dim StartDate As Date = Date.Today().AddDays(-3)
        e.Filter = "[日期] > #" & StartDate & "#"
    Else
        e.Filter = "[_Identify] Is Null"
    End If
End If

--  作者:lungby
--  发布时间:2018/5/8 8:25:00
--  
不行,还是显示所有日期的数据
--  作者:有点甜
--  发布时间:2018/5/8 8:47:00
--  

1、你这个表格是内部表还是外部表?如果是外部表,要在 beforeLoadOuterTable 写代码的;

 

2、加入msgbox看弹出什么

 

msgbox(e.DataTableName)

If e.DataTableName = "工作日志"  Then
msgbox(e.user.Group)
    If e.User.Group = "检测"
        Dim StartDate As Date = Date.Today().AddDays(-3)
        e.Filter = "[日期] > #" & StartDate & "#"
    Else
        e.Filter = "[_Identify] Is Null"
    End If
End If

--  作者:lungby
--  发布时间:2018/5/10 17:14:00
--  
权限不够无法写代码了

见附件,麻烦了

图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/5/10 18:52:54编辑过]

--  作者:有点甜
--  发布时间:2018/5/10 19:44:00
--  

1、如果弹出msgbox(e.user.group)是空值,说明当前用户的分组不是【检测】

 

2、你的分组名是不是全局变量 _userGroup ? 在命令窗口那里写 msgbox(_UserGroup)看看

 

3、如果分组是 _userGroup,你应该登陆窗口那里写加载代码的,如 http://www.foxtable.com/webhelp/scr/1928.htm