以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多表统计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81268) |
-- 作者:douglas738888 -- 发布时间:2016/2/23 12:44:00 -- 多表统计问题 老师,看看,我的代码哪里错了,不显示统计 两个表都具有同名列的 Dim sql As String = "Select {销售部工资}.部门名称,实发工资,日期,{产品部工资}.部门名称,实发工资,日期 F ROM {销售部工资} INNER JOIN {产品部工资} ON {销售部工资}.日期 = {产品部工资}.日期" Dim b As New CrossTableBuilder("统计表1001",sql, "User") b.HGroups.AddDef("部门名称") b.VGroups.AddDef("日期","{0}月") b.Totals.AddDef("实发工资") b.Filter = "日期 >= #" & e.Form.Controls("DateTimePicker9").Value & "# And 日期 <= #" & e.Form.Controls("DateTimePicker10").Value & "#" b.HorizontalTotal = True b.VerticalTotal = True Tables("工资统计_Table9").DataSource = b.BuildDataSource() 我想实现的是无关联的多个工资表同名列,按日期组合统计实发工资月合计 例如: 部门名称 1月 2月 3月..... 销售部 100 150 100 产品部 200 230 210
[此贴子已经被作者于2016/2/23 14:28:30编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/2/23 14:34:00 -- 改一下
Dim sql As String = "Select 部门名称,实发工资,日期 F ROM {销售部工资} un ion all Select 部门名称,实发工资,日期 F rom {产品部工资}" |
-- 作者:douglas738888 -- 发布时间:2016/2/23 15:23:00 -- 谢谢老师,问题也解决,另外,我在设置小数点2位的时候,不知道这种形式的统计怎么取数值列名 DataTables("工资统计_Table9").DataCols(" ?").SetFormat("#0.00") 用“日期”,“1月”,“01月”,“实际工资”作为列名,都不对,老师,这句代码的列名应该是什么 DataTables("工资统计_Table9").DataCols("合计").SetFormat("#0.00") 合计能实现例如12344.00 这句代码设置是对的 [此贴子已经被作者于2016/2/23 15:24:05编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/2/23 15:25:00 -- 生成以后,你查看一下表结构即可看到列名 http://www.foxtable.com/help/topics/0193.htm
你看到那些不是列名,而是列标题。 |
-- 作者:douglas738888 -- 发布时间:2016/2/24 10:15:00 -- 老师,还得再请教一下,实际列名的问题,我已找到,我要在每列设置SetFormat("#0.00") 的时候, 比如现在是2016年1月和2月是有数据可以设置0.00的,但2016年3月以后的月份还没有到,提前设置如: DataTables("工资统计_Table9").DataCols("实发工资_3").SetFormat("#0.00") DataTables("工资统计_Table9").DataCols("实发工资_4").SetFormat("#0.00") DataTables("工资统计_Table9").DataCols("实发工资_5").SetFormat("#0.00") ...... 因为还没有数据生成列,是会报错的,这种问题怎样解决 用TotalOn的方式吗,还是...
|
-- 作者:大红袍 -- 发布时间:2016/2/24 10:28:00 -- For Each c As Col In Tables("工资统计_Table9").cols If c.name Like "实发工资_*" Then c.DataCol.SetFormat("#0.00") End If Next |