2015-05-31 54 views
0

我能得到这个查询,如果我删除加入运行,但一旦我添加一个连接,我收到以下错误:MS访问SQL连接语法

运行时错误“3135”:语法错误在加入操作

sourceDB = "C:\sourcedb.accdb" 

SQL = "SELECT e1.lid " & _ 
     "FROM (eventlog e1 IN '" & sourceDB & "'" & _ 
     "LEFT JOIN eventlog e2 ON e2.lid = e1.lid)" 

任何意见,对我可能是做错了

+0

尝试'为e1'和'为e2'。据我所知,MS Access需要'as'作为表别名。 –

回答

2

试着改变你的代码如下:

sourceDB = "C:\sourcedb.accdb" 

SQL = "SELECT e1.lid " & _ 
     "FROM [" & sourceDB & "].[eventlog] AS e1 " & _ 
     "LEFT JOIN eventlog AS e2 ON e2.lid = e1.lid" 
+0

这是我正在寻找的答案。我的加入都错了。 –

0

您的查询一个明显的语法错误:加入必须有两个表,而不是表和数据库名称之间。看看这个典型的例子(RE:https://msdn.microsoft.com/en-us/library/office/ff198084.aspx),并相应地修改您的查询:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products 
ON Categories.CategoryID = Products.CategoryID; 

希望这会有所帮助。最好的问候,

+0

这是有道理的,但连接在事件日志1和事件日志2之间。除非IN声明是错误的部分? –

+0

而我的IN STAGE在错误的地方。谢谢您的帮助。 –

+0

我已经延长了答案。如果您对答案满意,请将其标记为已接受。祝你的项目好运。此致, –