2014-12-02 122 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语句没有结果它不插入任何行。 想一想,并确定你想要插入什么位置?