从Microsoft Access报告生成的空白PDF

时间:2018-03-15 14:44:23

标签: sql vba ms-access pdf report

我正在使用包含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中使用相同元素的概念,但这种语法高于我的知识库。我尝试了各种组合无济于事。

0 个答案:

没有答案