以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码纠错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145136)

--  作者:lisangyu
--  发布时间:2020/1/9 15:37:00
--  代码纠错
Dim Filter As String
If User.IsRole("车管员") Then
    Filter = "进度 = \'1A\'" \'进度一开始
Else If User.IsRole("部门负责人") Then
    Filter = "进度 = \'2A\' And User.group = 所属部门" \'进度一结束或进度二开始
Else If User.IsRole("生产车查验员") Then
    Filter = "进度 = \'3A\'" \'进度二结束或进度三开始
Else If User.IsRole("车辆维修审核员") Then
    Filter = "进度 = \'4A\'" \'进度三结束或进度四开始
Else If User.IsRole("车辆管理部门负责人") Then
    Filter = "进度 = \'5A\'" \'进度四结束或进度五开始
Else If User.IsRole("维修厂审核员") Then
        Filter = "进度 = \'6A\'" \'进度五结束或进度六开始
Else If User.IsRole("对账审核员") Then
        Filter = "进度 = \'7A\'" \'进度六结束或进度七开始
Else If User.IsRole("系统管理员")
    Filter = "" \'其他用户加载全部记录
Else
End If
DataTables("车辆维修申请表").LoadFilter = Filter
DataTables("车辆维修申请表").Load()

红色部门代码有错,当对应角色登录后,自动筛选进度为2A、角色的部门和表里所属部门相同时显示该行,加And User.group = 所属部门就报错了,求怎么改,

--  作者:有点蓝
--  发布时间:2020/1/9 15:46:00
--  
 Filter = "进度 = \'2A\' And 所属部门 = \'" & User.group & "\'"
--  作者:lisangyu
--  发布时间:2020/1/9 16:20:00
--  
.NET Framework 版本:4.0.30319.18063
Foxtable 版本:2019.12.17.18
错误所在事件:加载[车辆维修申请表]失败!
详细错误信息:
至少一个参数没有被指定值。


--  作者:有点蓝
--  发布时间:2020/1/9 16:29:00
--  
Filter = "进度 = \'2A\' And 所属部门 = \'" & User.group & "\'"

msgbox(Filter ) \'显示什么内容?表格有对应的列名吗

--  作者:lisangyu
--  发布时间:2020/1/9 16:51:00
--  
显示:进度= \'2A\'  And 所属部门 = \'管网运行部\'
--  作者:lisangyu
--  发布时间:2020/1/9 16:53:00
--  
表格 列名就是  所属部门  ,我把And后面的代码取消,就不报错,只是不能按部门筛选
[此贴子已经被作者于2020/1/9 16:57:49编辑过]

--  作者:有点蓝
--  发布时间:2020/1/9 17:08:00
--  
所属部门是表达式列?
--  作者:lisangyu
--  发布时间:2020/1/9 17:36:00
--  
是的,是表达式列,从车辆信息那边填充过来的
--  作者:有点蓝
--  发布时间:2020/1/9 17:44:00
--  
表达式列是虚拟的,不存在数据库,不能作为加载条件
--  作者:lisangyu
--  发布时间:2020/1/9 17:48:00
--  
但是已经存在记录了,表达式列已经有数据了,蓝老师,有什么办法解决吗?