以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  用记登录设置  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124810)

--  作者:aza520
--  发布时间:2018/9/14 9:14:00
--  用记登录设置
同样的登录用户设置,按条件加载,绝大部分用户都能正常加载,只有一个用户登录时会加载所有的数据。检查了该用户设置,确认无误。请问老师,可能是什么问题
--  作者:有点甜
--  发布时间:2018/9/14 9:38:00
--  
以下是引用aza520在2018/9/14 9:14:00的发言:
同样的登录用户设置,按条件加载,绝大部分用户都能正常加载,只有一个用户登录时会加载所有的数据。检查了该用户设置,确认无误。请问老师,可能是什么问题

 

1、输出所有代码,搜索 LoadFilter、Load的代码

 

http://www.foxtable.com/webhelp/scr/1987.htm

 

2、在LoadFilter的代码那里,弹出你设置的条件分别是什么,看是否正确


--  作者:aza520
--  发布时间:2018/9/14 11:26:00
--  
老师,找不到原因。我想通过在打开项目的时候,点击菜单按钮打开窗口时,直接触发窗口中的加载树双击加载事件,这样就可以解决,该怎么写这个代码
菜单按钮代码:
Forms("劳务人员登记表").Open()
MainTable = Tables("劳务人员登记表")

Dim btn As WinForm.TreeView = Forms("劳务人员登记表").Controls("TreeView1")
btn.PerformClick()

--  作者:有点甜
--  发布时间:2018/9/14 11:51:00
--  
拷贝目录树的代码出来,修改,然后写到afterOpenProject等事件去。
--  作者:aza520
--  发布时间:2018/9/14 14:09:00
--  
老师目录树代码如下,该如何修改才能放到AfterOpenProject事件下

Dim Filter As String = "1=1"

Dim dr = e.node.FullPath.split("\\") \'获取生成此节点的行
If e.Node.Text <> "加载所有数据" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[项目名称] = \'" & dr(0) & "\'"
        Case 1
            Filter = "[项目名称] = \'" & dr(0) & "\'And [施工合同段] = \'" & dr(1) & "\'"
        Case 2
            Filter = "[项目名称] = \'" & dr(0) & "\'And [施工合同段] = \'" & dr(1) & "\' And [劳务队名称] = \'" & dr(2) & "\'"
        Case 3
            Filter = "[项目名称] = \'" & dr(0) & "\'And [施工合同段] = \'" & dr(1) & "\' And [劳务队名称] = \'" & dr(2) & "\'And [工种] = \'" & dr(3) & "\'"
    End Select
End If

If User.Name = "开发者" Or User.Name = "管理员" Then
    DataTables("劳务人员登记表").LoadFilter = filter
    \'DataTables("劳务人员登记表").LoadOver = "工种"
    DataTables("劳务人员登记表").LoadTop = 10
    DataTables("劳务人员登记表").LoadPage = 0
    DataTables("劳务人员登记表").LoadOver = "_Identify"
    DataTables("劳务人员登记表").Load
    Tables("劳务人员登记表").sort="工种"
    Tables("劳务人员登记表.劳务人员工资发放记录表").sort="工资所属月份 DESC"
Else
    DataTables("劳务人员登记表").loadfilter = "(承包人机构 in (\'" & User.Roles.replace(",","\',\'") & "\') or 监理机构 in (\'" & User.Roles.replace(",","\',\'") & "\')  or 业主机构 in (\'" & User.Roles.replace(",","\',\'") & "\') or 劳务队负责人 in (\'" & User.Roles.replace(",","\',\'") & "\')) and " & Filter
    \'DataTables("劳务人员登记表").LoadOver = "工种"
    DataTables("劳务人员登记表").LoadTop = 10
    DataTables("劳务人员登记表").LoadPage = 0
    DataTables("劳务人员登记表").LoadOver = "_Identify"
    DataTables("劳务人员登记表").Load
    Tables("劳务人员登记表").sort="工种"
    Tables("劳务人员登记表.劳务人员工资发放记录表").sort="工资所属月份 DESC"
End If
e.Form.Controls("TextBox5").Value = 1 & "/" & DataTables("劳务人员登记表").TotalPages
vars("劳务人员登记表filter") = DataTables("劳务人员登记表").LoadFilter

--  作者:有点甜
--  发布时间:2018/9/14 14:20:00
--  
Dim filter As String = "1=1"
If User.Name = "开发者" Or User.Name = "管理员" Then
    DataTables("劳务人员登记表").LoadFilter = filter
    \'DataTables("劳务人员登记表").LoadOver = "工种"
    DataTables("劳务人员登记表").LoadTop = 10
    DataTables("劳务人员登记表").LoadPage = 0
    DataTables("劳务人员登记表").LoadOver = "_Identify"
    DataTables("劳务人员登记表").Load
    Tables("劳务人员登记表").sort="工种"
    Tables("劳务人员登记表.劳务人员工资发放记录表").sort="工资所属月份 DESC"
Else
    DataTables("劳务人员登记表").loadfilter = "(承包人机构 in (\'" & User.Roles.replace(",","\',\'") & "\') or 监理机构 in (\'" & User.Roles.replace(",","\',\'") & "\')  or 业主机构 in (\'" & User.Roles.replace(",","\',\'") & "\') or 劳务队负责人 in (\'" & User.Roles.replace(",","\',\'") & "\')) and " & Filter
    \'DataTables("劳务人员登记表").LoadOver = "工种"
    DataTables("劳务人员登记表").LoadTop = 10
    DataTables("劳务人员登记表").LoadPage = 0
    DataTables("劳务人员登记表").LoadOver = "_Identify"
    DataTables("劳务人员登记表").Load
    Tables("劳务人员登记表").sort="工种"
    Tables("劳务人员登记表.劳务人员工资发放记录表").sort="工资所属月份 DESC"
End If
vars("劳务人员登记表filter") = DataTables("劳务人员登记表").LoadFilter