Excel MS查询生成器中的语法错误

Excel MS查询生成器中的语法错误,excel,ms-access-2010,query-builder,Excel,Ms Access 2010,Query Builder,我正在Excel 2010中创建一个参数化查询,以从Access 2010数据库中获取数据(数据确实驻留在Access中) 这是Access中的查询: SELECT [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date, [Patient Stat Sched Data Dump].Gender, [Patient Stat Sched Data Dump].Age,

我正在Excel 2010中创建一个参数化查询,以从Access 2010数据库中获取数据(数据确实驻留在Access中)

这是Access中的查询:

SELECT [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date,
       [Patient Stat Sched Data Dump].Gender, [Patient Stat Sched Data Dump].Age, 
       [Group Type].Description, Nz([Patient Stat Sched Data Dump].[Pt Dept ID],'EMPLOYEE') AS DeptID, 
       [App Type].Description AS [App Type], [Group Type].[Sort Order], [App Type].Provider, [App Type].[Time Allocated]
FROM ([App Type] 
        INNER JOIN [Patient Stat Sched Data Dump] ON [App Type].AType = [Patient Stat Sched Data Dump].Type) 
        LEFT JOIN [Group Type] ON [App Type].Group = [Group Type].Group
WHERE [Patient Stat Sched Data Dump].Status ="T"
ORDER BY [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date
由于微软的不一致性,括号必须更改为Query Builder的反引号,因此我在其中添加了以下内容:

SELECT `Patient Stat Sched Data Dump`.`Pt Comp ID`, `Patient Stat Sched Data Dump`.Date, 
       `Patient Stat Sched Data Dump`.Gender, `Patient Stat Sched Data Dump`.Age,
       `Group Type`.Description, Nz(`Patient Stat Sched Data Dump`.`Pt Dept ID`,'EMPLOYEE') AS DeptID, `App Type`.Description AS `App Type`, `Group Type`.`Sort Order`, `App Type`.Provider, `App Type`.`Time Allocated`
  FROM `App Type` 
        INNER JOIN `Patient Stat Sched Data Dump` ON `App Type`.AType = `Patient Stat Sched Data Dump`.Type
        LEFT JOIN `Group Type` ON `App Type`.Group = `Group Type`.Group
 WHERE `Patient Stat Sched Data Dump`.Status ="T"
ORDER BY `Patient Stat Sched Data Dump`.`Pt Comp ID`, `Patient Stat Sched Data Dump`.Date
这是查询生成器返回的错误:

Syntax error (missing operator) in query expression '`App Type`.AType = `Patient Stat Sched Data Dump`.Type LEFT JOIN `Group Type`.Group = `Group Type`.Grou'.
是的,语句末尾缺少最后一个“p”,我假设这只是错误文本的长度限制,它实际上在代码中

不,我不知道为什么设计DB的人在表(和查询)名称中放了所有这些空格,我必须考虑删除它们


该查询在Access中运行良好,但甚至没有达到在查询生成器中运行的程度-我缺少什么?

在原始查询中,在secound查询中缺少类似
的括号([App Type]
和[App Type].AType=[Patient Stat Sched Data Dump].Type)。这可能不是错误,我认为值得一提的是Query Builder不会接受方括号[],而是需要回引号“`”。如果不是,我就不会去搜索/替换,也不会用两种不同的格式发布相同的查询。除非我遗漏了什么,否则这是两者之间唯一的区别。我指的是
()
而不是
[]
访问需要
FROM
子句中的括号,用于包含多个
JOIN
@Alex抱歉,我误解了。当我调整FROM语句以读取
FROM(`App Type``internal JOIN``Patient Stat Sched Data Dump`` ON``App Type`.AType=`Patient Stat Sched Data Dump`.Type)左JOIN``Group Type`` ON``App Type`.Group=`Group Type`.Group
,这正是Access查询包含它们的位置,我收到以下消息:
无法添加表“”(`App Type`)。
(注意:double``用于转义后面的引号,否则智能格式会让它看起来很奇怪。)