以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求思路  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91484)

--  作者:lk15502
--  发布时间:2016/10/12 7:56:00
--  求思路
 贸易部的每个业务员都有一名跟单,订单表登录时业务员只能加载自己名下的订单,比如业务员张山有一个跟单叫李四,张山登录加载自己的订单,没有问题,怎么让跟单李四也只加载张山的订单?

--  作者:有点蓝
--  发布时间:2016/10/12 8:37:00
--  
增加一个业务跟单表,记录业务员和跟单员的关联
--  作者:lk15502
--  发布时间:2016/10/12 15:07:00
--  
贸易部的每个业务员都有一名跟单,订单表登录时业务员只能加载自己名下的订单,比如业务员张山有一个跟单叫李四,张山登录加载自己的订单,没有问题,怎么让跟单李四也只加载张山的订单?
我新建了一个表,销售跟单表,把销售人员与跟单人员联系起来,在客户表的窗口事件的代码,只加载了表结构没有数据,帮我看看下面的代码:

If _usergroup = "贸易部" Then
    DataTables("客户表").loadfilter = "[销售人员] = \'" & _username & "\'"
    DataTables("客户表").load
ElseIf _usergroup = "计划跟单" Then
    Dim dr As DataRow = DataTables("销售跟单表").find("跟单 = \'" & _username & "\'")
  If dr IsNot Nothing AndAlso dr("销售人员").contains(",") = True Then
        Dim xs() As String = dr("销售人员").split(",")
        DataTables("客户表").loadfilter = "[销售人员] = \'" & xs(0) & "\' and [销售人员] = \'" & xs(1) & "\'"
        DataTables("客户表").load
    ElseIf dr IsNot Nothing AndAlso dr("销售人员").contains(",") = False Then
        DataTables("客户表").loadfilter = "[销售人员] = \'" & dr("销售人员") & "\'"
        DataTables("客户表").load
    End If
ElseIf _userroles.Contains("系统查看") = True Then
    DataTables("客户表").loadfilter = ""
    DataTables("客户表").load  
End If


--  作者:lk15502
--  发布时间:2016/10/12 15:10:00
--  
任务栏topicbar1事件得代码:
Case "客户管理"
        If _userroles.Contains("系统查看") = True OrElse _usergroup = "贸易部" OrElse _userroles.Contains("订单管理") = True Then
            MainTable = Tables("客户表")
            Forms("客户管理").show
            DataTables("客户表").loadfilter = "[_Identify] Is Null"
            DataTables("客户表").load
        Else
            messagebox.show("您没有此操作权限!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
            Return
        End If


--  作者:有点蓝
--  发布时间:2016/10/12 15:46:00
--  
If _usergroup = "贸易部" Then
    DataTables("客户表").loadfilter = "[销售人员] = \'" & _username & "\'"
    DataTables("客户表").load
ElseIf _usergroup = "计划跟单" Then
    Dim dr As DataRow = DataTables("销售跟单表").find("跟单 = \'" & _username & "\'")
    If dr IsNot Nothing AndAlso dr.IsNull("销售人员")=  False Then
        DataTables("客户表").loadfilter = "[销售人员] in (\'" & dr("销售人员").replace(",","\',\'") & "\')"
        DataTables("客户表").load
    End If
ElseIf _userroles.Contains("系统查看") = True Then
    DataTables("客户表").loadfilter = ""
    DataTables("客户表").load
End If


--  作者:lk15502
--  发布时间:2016/10/12 15:57:00
--  
老师,和原来一样
--  作者:有点蓝
--  发布时间:2016/10/12 16:06:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

输出各个变量和关键值看看

--  作者:lk15502
--  发布时间:2016/10/12 16:28:00
--  
代码中加入了调试,窗口预览的可以的,放到正式的还是原来一样只有结构,没有加载数据
If _usergroup = "贸易部" Then
    DataTables("客户表").loadfilter = "[销售人员] = \'" & _username & "\'"
    DataTables("客户表").load
ElseIf _usergroup = "计划跟单" Then
    Dim dr As DataRow = DataTables("销售跟单表").find("跟单 = \'" & _username & "\'")
    If dr IsNot Nothing AndAlso dr.IsNull("销售人员")=  False Then
        DataTables("客户表").loadfilter = "[销售人员] in (\'" & dr("销售人员").replace(",","\',\'") & "\')"
msgbox("loadfilter")
        DataTables("客户表").load
    End If
ElseIf _userroles.Contains("系统查看") = True Then
    DataTables("客户表").loadfilter = ""
    DataTables("客户表").load
End If

--  作者:有点蓝
--  发布时间:2016/10/12 16:40:00
--  
执行下面代码,对比一下窗口预览和正式的弹出值有什么不同

msgbox(_usergroup)
msgbox(_username)
If _usergroup = "贸易部" Then
    DataTables("客户表").loadfilter = "[销售人员] = \'" & _username & "\'"
    DataTables("客户表").load
ElseIf _usergroup = "计划跟单" Then
    Dim dr As DataRow = DataTables("销售跟单表").find("跟单 = \'" & _username & "\'")
    If dr IsNot Nothing AndAlso dr.IsNull("销售人员")=  False Then
        DataTables("客户表").loadfilter = "[销售人员] in (\'" & dr("销售人员").replace(",","\',\'") & "\')"
        msgbox(DataTables("客户表").loadfilter)
        DataTables("客户表").load
    End If
ElseIf _userroles.Contains("系统查看") = True Then
    DataTables("客户表").loadfilter = ""
    DataTables("客户表").load
End If

--  作者:lk15502
--  发布时间:2016/10/12 16:49:00
--  
弹窗的内容是一样的,预览正常,正式的时候,内容闪一下就没有了