以文本方式查看主题 - 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 -- 权限不够无法写代码了 见附件,麻烦了
[此贴子已经被作者于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
|