使用ADODB在VBA过程中查询Excel文件时,多个JOIN是否不可用?

问题描述

Access Jet / ADODB / ACE喜欢带有多个表的括号

SELECT  * FROM ( [Riesgos$] r
LEFT JOIN [EventosRiesgos$] er ON r.[Id]=er.[Id Riesgo] )
LEFT JOIN [Eventos$] e ON er.[Id Evento]=e.[Id]

唯一的区别是 [riesgos$] r .... er.[Id Riesggo]

解决方法

我有3张纸,数据格式化为表格。工作表名称为“ Riesgos”,“ Eventos”和“ EventosRiesgos”。

EventosRiesgo具有与事件和风险相关的信息(许多关系)。

我正在尝试从Riesgos中获取所有风险,还从(。)中获取与风险相关的事件。我正在使用ADODB将工作表作为数据库表进行查询,并使用以下SQL:

SELECT * FROM [Riesgos$] r
LEFT JOIN [EventosRiesgos$] er ON r.[Id]=er.[Id Riesgo]
LEFT JOIN [Eventos$] e ON er.[Id Evento]=e.[Id]

但是我得到一个错误,它是西班牙语的,但是粗略的翻译是:表达式“ r。[Id] = er。[Id Riesgo] LEFT JOIN [Eventos $]
e ON er。[Id Evento]中的语法错误(缺少运算符) ] = e。[Id]“

当我仅使用前两行(仅一个连接)运行查询时,一切都按预期工作。我的问题是:为什么当我使用两个JOIN时查询不起作用?

谁能帮我,至少可以找到有关使用ADODB查询Excel工作表的文档?