以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表的加载筛选问题,求助大神  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170627)

--  作者:xiaofei_00
--  发布时间:2021/8/2 13:13:00
--  表的加载筛选问题,求助大神
If User.Group = "设计人员" Then
    DataTables("ACCxmdjb").LoadFilter = "ygxm = \'" & User.Name & "\'"
Else If User.Group = "项目负责人" Then
    DataTables("ACCxmdjb").LoadFilter = "xmfzr = \'" & User.Name & "\'"
    DataTables("ACChtdj").LoadFilter = "xmfzr = \'" & User.Name & "\'"
Else
    DataTables("ACCxmdjb").LoadFilter = ""
    DataTables("ACChtdj").LoadFilter = ""
End If
DataTables("ACCxmdjb").Load()
DataTables("ACChtdj").Load()

以上代码如果此人即使“设计人员”又是“项目负责人”,需要同时加载两列中都有他名字的行?怎么处理?求指教

--  作者:有点蓝
--  发布时间:2021/8/2 13:37:00
--  
dim f1,f2 as string

If User.Group like "*设计人员*" Then
    f1 = "ygxm = \'" & User.Name & "\'"
end if
If User.Group like "*项目负责人*" Then
if f1 > "" then f1 = f1 & " and "
    f1 = f1 & "xmfzr = \'" & User.Name & "\'"
    f2  = "xmfzr = \'" & User.Name & "\'"
end if
    DataTables("ACCxmdjb").LoadFilter = f1
DataTables("ACCxmdjb").Load()
    DataTables("ACChtdj").LoadFilter = f2
DataTables("ACChtdj").Load()

--  作者:xiaofei_00
--  发布时间:2021/8/2 14:39:00
--  
首先感谢您的回复,可能我没说清楚,我说的这个人的记录分三种情况,一、是设计人员,别人是项目负责人,也就是干别人的活。二、即使设计人员,又是项目负责人,也是就干自己的活。三、不是设计人员,但是是项目负责人,也就是别人干他的活。我是想把这三种记录都选出来显示。您现在的代码无法显示第一种情况的记录。
--  作者:有点蓝
--  发布时间:2021/8/2 14:41:00
--  
肯定可以,具体请上传实例说明
--  作者:xiaofei_00
--  发布时间:2021/8/2 14:52:00
--  
其实很刚才说的复杂了,其实就是这个表中有两列人名,不管哪一列有他的人名就显示该行的记录,你上边的代码我该怎么改呢???
--  作者:有点蓝
--  发布时间:2021/8/2 15:15:00
--  
那就没有必要判断分组了

    DataTables("ACCxmdjb").LoadFilter = "ygxm = \'" & User.Name & "\' or xmfzr = \'" & User.Name & "\'"
DataTables("ACCxmdjb").Load()
    DataTables("ACChtdj").LoadFilter = "ygxm = \'" & User.Name & "\' or xmfzr = \'" & User.Name & "\'"
DataTables("ACChtdj").Load()

--  作者:xiaofei_00
--  发布时间:2021/8/3 13:08:00
--  
感谢,完美解决。