Foxtable(狐表)用户栏目专家坐堂 → 订单表的数据加载是否可以用户表的分组进行加载?


  共有2693人关注过本帖树形打印复制链接

主题:订单表的数据加载是否可以用户表的分组进行加载?

帅哥哟,离线,有人找我吗?
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
订单表的数据加载是否可以用户表的分组进行加载?  发帖心情 Post By:2021/4/30 11:08:00 [只看该作者]

Dim y As Integer = Date.Today.Year
Dim 
dt1 As New Date(y11)
Dim 
dt2 As New Date(y1231)
Dim 
Filter As String
Filter
 = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
DataTables(
"订单").LoadFilter = Filter
DataTables(
"订单").Load()

问题:上面是加载代码,需求是《订单表》根据《用户表》的“分组”的用户进行加载,

如果当前用户是“分组”为销售经理,那就是加载销售部全部订单;
如果当前用户是“分组”为销售主管A,那就是只加载销售部销售主管A所属的订单;
如果当前用户是“分组”为录入者,那就是只加载销售部录入者所属的订单;

关键问题,订单表中只有录入者字段,如何实现上面需求?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/30 11:29:00 [只看该作者]

定义一个变量,如:dim s as string

如果当前用户是“分组”为销售经理,那就是加载销售部全部订单;
先从用户表查询获取销售部所有员工,比如结果:s =“张三,李四,王五”
如果当前用户是“分组”为销售主管A,那就是只加载销售部销售主管A所属的订单;
先从用户表查询获取销售主管A所有员工,比如结果:s =“张三,李四”
如果当前用户是“分组”为录入者,那就是只加载销售部录入者所属的订单;
获取用户名称,比如:s =user.name

Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "# and 录入者 in('" & s.replace(",","','") & "')"

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/4/30 13:10:00 [只看该作者]

Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31)
Dim Filter As String
Dim s As String
s =user.name
Select Case User.Group

    Case "销售经理"
Dim dr1 As DataRow = Tables("订单").Current.DataRow
Dim dr2 As DataRow
dr2 = DataTables("用户").Find("[录入者]  = '" & dr1(" s") & "'And [分组] = '" & dr1("分组") & "'")
         
  
    Case "销售主管A", "销售主管B", "销售主管C", "销售主管D"
      Dim dr1 As DataRow = Tables("订单").Current.DataRow
Dim dr2 As DataRow
dr2 = DataTables("用户").Find("[录入者]  = '" & dr1(" s") & "'And [分组] = '" & dr1("分组") & "'")
  
 Case "录入者"
       s =user.name
      
End Select
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "# and 录入者 in('" & s.replace(",","','") & "')"
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()

没报错,但没加载

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/30 13:48:00 [只看该作者]

Case "销售经理"
Dim dr1 As DataRow = Tables("订单").Current.DataRow
Dim dr2 As DataRow
s = DataTables("用户").GetComboListString("录入者","[分组] = '" & dr1("分组") & "'")
……
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "# and 录入者 in('" & s.replace("|","','") & "')"
         

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/4/30 14:08:00 [只看该作者]

还是无加载数据,上实例,帮改一下,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:用户加载问题.foxdb



 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/30 14:38:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:用户加载问题.zip


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/5/22 10:58:00 [只看该作者]

老师,
1,下载您6楼的实例测试一下,之前测试,窗口上能加载相应的数据,但今天再测试,没报错,那个调试也没问题,就是窗口不显示数据,这个什么原因?


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/22 11:03:00 [只看该作者]

刚下载6楼项目测试没有问题。

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/5/22 11:09:00 [只看该作者]

我也重新下载测试,也没有问题,但之前下载测试数据显示不出来,我上传之前下载实例,您帮看一下是哪里出问题,谢谢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:用分组加载数据.foxdb



 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/22 11:25:00 [只看该作者]

原因:http://www.foxtable.com/webhelp/topics/1273.htm,单元格里是全角的逗号

注意对比一下2个项目事件代码的第一行

 回到顶部