我正在使用包含3个子报告的访问报告(由其他人编写)。全部将导出为PDF,但以下子报表除外,它在屏幕上呈现,然后在导出时给我一个空白PDF。
DECLARE @I INT = 2
DECLARE @COL CHAR(50)
DECLARE @ID CHAR(50)
DECLARE @EDT CHAR(50)
DECLARE @DDT CHAR(50)
DECLARE @DTS CHAR(50) = 'dataset_name'
SET @ID = (SELECT CASE WHEN SUBSTRING(ID , 1, 3) = 'Var' THEN LTRIM(RTRIM(RIGHT(ID , LEN(ID ) - 3))) WHEN ID = '' THEN 'NULL' ELSE CONCAT('''', LTRIM(RTRIM(ID )), '''') END FROM MappingFile WHERE ColNum = @I)
SET @EDT = (SELECT CASE WHEN SUBSTRING(ExtDate , 1, 3) = 'Var' THEN LTRIM(RTRIM(RIGHT(ExtDate , LEN(ExtDate ) - 3))) WHEN ExtDate = '' THEN 'NULL' ELSE CONCAT('''', LTRIM(RTRIM(ExtDate )), '''') END FROM MappingFile WHERE ColNum = @I)
SET @DDT = (SELECT CASE WHEN SUBSTRING(DataDate , 1, 3) = 'Var' THEN LTRIM(RTRIM(RIGHT(DataDate , LEN(DataDate ) - 3))) WHEN DataDate = '' THEN 'NULL' ELSE CONCAT('''', LTRIM(RTRIM(DataDate )), '''') END FROM MappingFile WHERE ColNum = @I)
SET @COL = (SELECT Variable FROM MappingFile WHERE ColNum = @I)
EXEC('
SELECT ''' + @DTS + ''',
' + @ID + ',
' + @EDT + ',
' + @DDT + ',
''' + @COL + ''',
' + @COL + '
FROM ' + @DTS + '
WHERE ' + @COL + ' IS NOT NULL
')
我尝试从Access进行打印预览并收到以下错误:
您的查询不包含指定的表达式'Year([Date])' 作为集合函数的一部分。
这是我双击报告时得到的报告数据表的结果 -
Exp 1 GSD GSDT
5月'15 4165 44651
2015年6月5562 55272 Jul '15 4188 54257
我理解你不能使用SUM函数然后不在GROUP BY中使用相同元素的概念,但这种语法高于我的知识库。我尝试了各种组合无济于事。