谢谢狐爸老师的指教,已经解决大部分的问题,部分功能已经能够实现,但是,在点击任务栏窗口“按月分析”和“按年分析”两个节点时,出现错误提示(如下图),看上去像SQL语法问题,但是对SQL语法测试也可以通过,不知道问题出在那里?请各位老师帮助看看,谢谢!!
另外,觉得很纳闷,同样是外部资源,为什么用Access全部正常,而在SQL Server上却有问题?
此主题相关图片如下:a.jpg
另附代码如下:
Case "按月分析"
Dim sql As String
If _UserGroup = "填报" Then '定义用户组
sql = "Select 报表年月,日期,单位,Sum(加工费) As 加工费,Sum(投工) As 投工 FROM {日报源表} WHERE 单位 = '" & _UserName & "' Group By 报表年月,日期,单位 ORDER BY 单位,日期,报表年月"
Else
sql = "Select 报表年月,日期,单位,Sum(加工费) As 加工费,Sum(投工) As 投工 FROM {日报源表} Group By 报表年月,日期,单位 ORDER BY 单位,日期,报表年月"
End If
Dim b As New GroupTableBuilder("按月分析",sql,"SCGL")
b.Groups.AddDef("日期", DateGroupEnum.Year, "年")
b.Groups.AddDef("日期", "月")
b.Groups.AddDef("单位")
b.Totals.AddDef("加工费")
b.Totals.AddDef("投工",AggregateEnum.Average,"月均人数")
b.SamePeriodGrowth = True
b.CircleGrowth = True
b.Build()
MainTable = Tables("按月分析")
Dim r As Table = Tables("按月分析")
r.DataTable.DataCols.Add("月人均加工费", Gettype(Double),"iif(月均人数=0,null,加工费/月均人数)")
DataTables("按月分析").DataCols("加工费").SetFormat("0.00")
DataTables("按月分析").DataCols("月均人数").SetFormat("0.00")
DataTables("按月分析").DataCols("月人均加工费").SetFormat("0.00")
Tables("按月分析").Cols("年").TextAlign = TextAlignEnum.Center
Tables("按月分析").Cols("月").TextAlign = TextAlignEnum.Center
Tables("按月分析").Cols("单位").TextAlign = TextAlignEnum.Center
Tables("按月分析").AutoSizeCols()
Case "按年分析"
Dim sql As String
If _UserGroup = "填报" Then '定义用户组
sql = "Select 报表年月,日期,单位,Sum(加工费) As 加工费,Sum(投工) As 投工 FROM {日报源表} WHERE 单位 = '" & _UserName & "' Group By 报表年月,日期,单位 ORDER BY 单位,日期,报表年月"
Else
sql = "Select 报表年月,日期,单位,Sum(加工费) As 加工费,Sum(投工) As 投工 FROM {日报源表} Group By 报表年月,日期,单位 ORDER BY 单位,日期,报表年月"
End If
Dim b As New GroupTableBuilder("按年分析",sql,"SCGL")
b.Groups.AddDef("日期", DateGroupEnum.Year, "年")
b.Groups.AddDef("单位")
b.Totals.AddDef("加工费")
b.Totals.AddDef("投工",AggregateEnum.Average,"年均人数")
b.CircleGrowth = True
b.Build()
MainTable = Tables("按年分析")
Dim r As Table = Tables("按年分析")
r.DataTable.DataCols.Add("年人均加工费", Gettype(Double),"iif(年均人数=0,null,加工费/年均人数)")
DataTables("按年分析").DataCols("加工费").SetFormat("0.00")
DataTables("按年分析").DataCols("年均人数").SetFormat("0.00")
DataTables("按年分析").DataCols("年人均加工费").SetFormat("0.00")
Tables("按年分析").Cols("年").TextAlign = TextAlignEnum.Center
Tables("按年分析").Cols("单位").TextAlign = TextAlignEnum.Center
Tables("按年分析").AutoSizeCols()