以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]交叉表统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53206) |
-- 作者:lesliecheung912 -- 发布时间:2014/7/2 11:26:00 -- [求助]交叉表统计 代码如下: Dim g As New SQLCrossTableBuilder("最高学历", "员工档案表") g.C g.HGroups.AddDef("部门体系") g.HGroups.AddDef("工作部门") g.HGroups.AddDef("办事处") g.VGroups.AddDef("最高学历") g.Totals.AddDef("员工编号", AggregateEnum.Count, "员工编号") g.VerticalTotal= True \'垂直汇总 g.HorizontalTotal = True \'水平汇总 \'g.Build() If e.Form.Controls("部门体系").Value > "" AndAlso e.Form.Controls("工作部门").Value > "" AndAlso e.Form.Controls("办事处").Value > "" Then g.Filter = "部门体系 = \'" & e.Form.Controls("部门体系").Value & "\' And 工作部门 = \'" & e.Form.Controls("工作部门").Value & "\' And 办事处 = \'" & e.Form.Controls("办事处").Value & "\'" ElseIf e.Form.Controls("部门体系").Value > "" AndAlso e.Form.Controls("工作部门").Value > "" AndAlso e.Form.Controls("办事处").Value = "" Then g.Filter = "部门体系 = \'" & e.Form.Controls("部门体系").Value & "\' And 工作部门 = \'" & e.Form.Controls("工作部门").Value & "\'" Else e.Form.Controls("部门体系").Value > "" AndAlso e.Form.Controls("工作部门").Value = "" AndAlso e.Form.Controls("办事处").Value = "" Then g.Filter = "部门体系 = \'" & e.Form.Controls("部门体系").Value & "\'" End If Tables("员工统计_Table1").DataSource = g.BuildDataSource MainTable = Tables("员工统计_Table1") MainTable.Font = New Font("宋体",10,FontStyle.Regular) Tables("员工统计_Table1").AutoSizeCols() 如果某办事处的本科学历的人数为0时,在表中显示的是空值,现在不想让它出现空值,如果是空值的话就让它的值为0,这应该如何控制呢?
|
-- 作者:Bin -- 发布时间:2014/7/2 11:29:00 -- 最后加上 Tables("员工统计_Table1").datatable.ReplaceFor("办事处",Nothing,0) |
-- 作者:有点甜 -- 发布时间:2014/7/2 11:34:00 -- For Each c As Col In Tables("员工统计_Table1").Cols Tables("员工统计_Table1").DataTable.ReplaceFor(c.Name, Nothing, 0) Next |
-- 作者:lesliecheung912 -- 发布时间:2014/7/2 11:43:00 -- 这句放到最后就可以吗?为啥报以下错误: 筛选表达式“0”的计算结果不是布尔值项。
|
-- 作者:有点甜 -- 发布时间:2014/7/2 11:45:00 -- 改一下
For Each c As Col In Tables("员工统计_Table1").Cols |
-- 作者:Bin -- 发布时间:2014/7/2 11:46:00 -- 只是设置某一列用2楼的代码可以了 所有列都要处理的话 用3楼的改进一下 For Each c As Col In Tables("员工统计_Table1").Cols If c.IsNumeric Then Tables("员工统计_Table1").DataTable.ReplaceFor(c.Name, Nothing, 0) End If Next |
-- 作者:lesliecheung912 -- 发布时间:2014/7/2 11:53:00 -- 不管用啊,还是报那个错误 |
-- 作者:有点甜 -- 发布时间:2014/7/2 11:56:00 -- 哦,写错了
For Each c As Col In Tables("员工统计_Table1").Cols |