2015-11-04 87 views
0

我有以下的sql返回我需要正確的記錄。Microsoft Access 2010追加查詢錯誤

INSERT INTO Historic 
SELECT * FROM current 
    LEFT JOIN Historic ON (current.aptdat = Historic.aptdat) 
    AND (current.ordnum = Historic.ordnum) 
    AND (current.type = Historic.type) 
    AND (current.itmcod = Historic.itmcod) 
WHERE (Historic.aptdat & Historic.ordnum & Historic.type) Is Null 
AND current.ordnum is not null; 

問題是,當我嘗試運行它作爲追加查詢,我得到的錯誤**

重複輸出目的地 'APTDAT'

**

我錯過了什麼?

PS:代碼的最後一行是確保「當前」表中的記錄(鏈接的Excel表單)在它們只包含空白行時不會返回。不包括該行意味着返回800行,但只有3行包含數據!

歡呼

回答

1

SELECT *給所有表的所有列在FROM子句。因此,您也可以獲得Historic的所有列,並且因爲這也有一個列aptdat,您會收到錯誤消息。

解決方案:使用<table>.*

INSERT INTO Historic 
SELECT current.* FROM current 
    LEFT JOIN Historic ON ... 
+0

您好,感謝您的答覆!有效 :) – Nick