【问题标题】:Excel Data Connection error on working query - "SELECT statement includes a reserved word or an argument name"工作查询中的 Excel 数据连接错误 - “SELECT 语句包含保留字或参数名称”
【发布时间】:2013-09-20 14:52:27
【问题描述】:

与此错误有关的其他问题在 Access 中,但我的查询在 Access (2010) 中运行良好。

但是,当我打开从 Excel (2010) 到所述查询的数据连接时,我会遇到“SELECT 语句包含拼写错误或缺失的保留字或参数名称,或者标点符号不正确。 "

如下所示,第一个嵌套的 SELECT 有一个不可能的 WHERE 1 = 0 用于定义数据类型,因为我在哪里有 Null。

这就是导致错误的原因。如果我删除它,Excel 可以连接(第二组代码)。

但是,我没有看到任何作为 Excel 保留字跳出来的东西。

导致问题的代码片段:

SELECT
 'A' As Emp
, 1 As [aaa]
, 1 As [bbb]
, 'A' As Definition
, 1 As Month
, 1 As Year
, CCur( 1 ) As costA
, 1 As [ccc]
, 1 As [ddd]

FROM [hereA]
WHERE 1 = 0

出现错误的查询的最短版本:

SELECT Emp, Sum( [bbb] ) AS theB, Sum( [aaa] ) AS theA, Definition, theMonth, theYear, Sum( costA ) AS costB, Count( [ddd] ) AS [theD], Count( [ccc] ) AS [theC]
FROM (SELECT
 'A' As Emp
, 1 As [aaa]
, 1 As [bbb]
, 'A' As Definition
, 1 As Month
, 1 As Year
, CCur( 1 ) As costA
, 1 As [ccc]
, 1 As [ddd]

FROM [hereA]
WHERE 1 = 0

UNION ALL SELECT

[h_A].[emp_a] AS Emp
, Int( 0 ) AS [aaa]
, Int( 1 ) AS [bbb]
, 'Text1' AS Definition
, theMonth( [h_A].[date1] ) AS [Month]
, theYear( [h_A].[date1] ) AS [Year]
, [h_A].[thisCost] AS costA
, NULL AS [ccc]
, [foo].[d network] AS [ddd]

FROM 
( [hereA] AS [h_A] LEFT JOIN [thereA] 
  ON [h_A].[dcr] = [thereA].[dcr]
)
LEFT JOIN [foo] 
ON [thereA].[s ball*] = [foo].[s ball]

WHERE ( ( [h_A].[date]>=#1/1/2012# ) AND ( Int( [h_A].[indicator] )=1 ) )

)  AS AllowGroupBy
GROUP BY Emp, theMonth, theYear, Definition;

【问题讨论】:

  • 现在对我来说太多了。将 UNION 切成单个查询并单独尝试每个查询。缩小搜索范围。

标签: sql excel ms-access


【解决方案1】:

这是该查询的最后一部分。它试图与SELECT 什么都没有进行联合。

UNION ALL SELECT 


)  AS AllowGroupBy
GROUP BY Emp, theMonth, theYear, Definition;

我很惊讶它竟然能像你所说的那样在 Access 中工作。

【讨论】:

  • 查询本身合并了几个表,格式相同,为简洁起见,我删除了这些表。我在删除时错过了这一行。最终的联合表后面没有浮动的“UNION ALL SELECT”。谢谢。
【解决方案2】:

事实证明,更改“月”和“年”解决了这个问题,虽然我不知道为什么如果我删除了令人不安的部分就可以保留...因为“月”和“年”仍然存在在那里。

【讨论】:

    猜你喜欢
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多