2015-05-31 90 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

我已經延長了答案。如果您對答案滿意,請將其標記爲已接受。祝你的項目好運。此致, –