Foxtable(狐表)用户栏目专家坐堂 → 求助这种表怎么设计


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

主题:求助这种表怎么设计

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/6/18 18:22:00 [只看该作者]

重新上传 有个佣金一览表窗口 或许容易点  就是佣金一览表的 生成佣金业绩表 按钮 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/18 19:25:00 [只看该作者]

 不明白意思,这样?

 

Dim dt As DataTable = DataTables("佣金统计表")
dt.DataRows.Clear
Dim d1 As Date = e.Form.Controls("DateTimePicker1").Value
Dim d2 As Date = e.Form.Controls("DateTimePicker2").Value
Dim filter1 As String = "结佣日 >= #" & d1 & "# and 结佣日 <= #" & d2 & "#"
Dim filter2 As String = "离职日期 >= #" & d1 & "# and 离职日期 <= #" & d2 & "# or 上岗日期 >= #" & d1 & "# and 离职日期 is null"
For Each dr As DataRow In DataTables("员工管理").Select(filter2)
    Dim ndr As DataRow = dt.AddNew
    ndr("员工姓名") = dr("姓名")
    ndr("门店") = dr("门店")
    ndr("职务") = dr("职务")
    ndr("佣金") = DataTables("佣金明细").Compute("sum(佣金)", filter1 & " and 置业顾问 = '" & dr("姓名") & "'")
    ndr("结佣日") = DataTables("佣金明细").Compute("max(结佣日)", filter1 & " and 置业顾问 = '" & dr("姓名") & "'")
Next

e.Form.Controls("Table1").Table.DataSource = dt


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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/6/18 19:38:00 [只看该作者]

相当于佣金明细表使用交叉数据统计出佣金业绩表 但由于有些员工没有做业绩,就没有佣金 但我想统计出来的佣金业绩表的用户等于“员工管理”表“姓名”列 "离职日期 >= #" & d1 & "# and 离职日期 <= #" & d2 & "# or 上岗日期 >= #" & d1 & "# and 离职日期 is null" 的人员

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/18 19:46:00 [只看该作者]

 你的例子,没有业绩表,怎么统计?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/18 19:52:00 [只看该作者]

 先用22楼代码,生成表,然后再生成交叉统计表

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/6/18 20:03:00 [只看该作者]

弄点截图   设置交叉统计
Dim g As New CrossTableBuilder("佣金业绩表", DataTables("佣金明细"))
g.HGroups.AddDef("门店")
g.HGroups.AddDef("置业顾问")
g.VGroups.AddDef("类型")
g.Totals.AddDef("佣金", "佣金")
g.Totals.AddDef("套数", "套数")
g.OrderByTotal = True
g.HorizontalTotal = True
g.VerticalTotal = True
g.Decimals = 2
g.Build()
MainTable = Tables("佣金业绩表")

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140618195219.png
图片点击可在新窗口打开查看
得到的结果

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140618195510.png
图片点击可在新窗口打开查看

由于赵六没有佣金所以赵六就没有出现在佣金业绩表上 我的想法就是要 "离职日期 >= #" & d1 & "# and 离职日期 <= #" & d2 & "# or 上岗日期 >= #" & d1 & "# and 离职日期 is null"
 的人员也能在这上面显示 当然我使用了外部数据源和分页加载 还有按(下图)的条件来筛选

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140618195903.png
图片点击可在新窗口打开查看
筛选条件及生成佣金业绩表的代码在15楼和16楼红色字体前面那段,但就是显示人员不全,想实现"离职日期 >= #" & d1 & "# and 离职日期 <= #" & d2 & "# or 上岗日期 >= #" & d1 & "# and 离职日期 is null"



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/18 20:13:00 [只看该作者]

 你给的例子,没有 佣金业绩表

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/6/18 20:16:00 [只看该作者]

佣金业绩表是通过佣金明细表用交叉统计生成的佣金业绩表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/18 20:40:00 [只看该作者]

 根据例子,代码这样写

 

Dim d1 As Date = new Date(2014,5,29)
Dim d2 As Date = new Date(2014,6,28)

 

Dim sql As String = "Select b.置业顾问, b.佣金, b.结佣日, b.类型, b.套数, a.门店, a.上岗日期, a.离职日期 from {员工管理} a right join {佣金明细} b on (a.姓名 = b.置业顾问) where 离职日期 >= #" & d1 & "# and 离职日期 <= #" & d2 & "# or 上岗日期 >= #" & d1 & "# and 离职日期 is null"
Dim g As New CrossTableBuilder("佣金业绩表",sql)
g.HGroups.AddDef("门店")
g.HGroups.AddDef("置业顾问")
g.VGroups.AddDef("类型")
g.Totals.AddDef("佣金", "佣金")
g.Totals.AddDef("套数", "套数")
g.OrderByTotal = True
g.HorizontalTotal = True
g.VerticalTotal = True
g.Decimals = 2
g.Subtotal = True

g.Build()


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


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/6/18 21:08:00 [只看该作者]

如图

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140618210642.png
图片点击可在新窗口打开查看
赵六上岗日期为2014年3月25日 没有离职 佣金业绩表却没有显示

 回到顶部
总数 56 上一页 1 2 3 4 5 6 下一页