2014-12-02 123 views
0

我想在SQL中插入一個表,但由於某種原因它說查詢值和目標字段的數量不一樣,我不確定它爲什麼這麼說。我已經研究了這個錯誤(3346),但沒有解決問題。我對VBA相當陌生,所以任何幫助將不勝感激。插入到SQL語句錯誤3346

"INSERT INTO Clients (Col1, Col2, Col3)" & _ 
     "SELECT DISTINCT DD.[Client ID] " & _ 
     "FROM " & tableName & " as DD " & _ 
     "Where CL.[Client ID] NOT IN (SELECT DD.[Client ID] FROM " & tableName & " as DD)" 
+5

您試圖插入3列 - col1,col2和col3。但是,您只能選擇1,客戶端ID ......插入語句中的列數必須與您的select語句中的列數相匹配。 – sgeddes 2014-12-02 20:14:27

回答

2

您正在嘗試插入從一列3列是困惑 這將工作:

"INSERT INTO Clients (Col1)" & _ 
    "SELECT DISTINCT DD.[Client ID] " & _ 
    "FROM " & tableName & " as DD " & _ 
    "Where DD.[Client ID] NOT IN (SELECT DD.[Client ID] FROM " & tableName & " as DD)" 

,但因爲沒有爲select語句沒有結果它不插入任何行。 想一想,並確定你想要插入什麼位置?