以文本方式查看主题 - 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 -- 弹窗的内容是一样的,预览正常,正式的时候,内容闪一下就没有了 |