Insert Into SQL语句错误3346

Insert Into SQL语句错误3346,sql,ms-access,vba,Sql,Ms Access,Vba,我试图在SQL中插入一个表,但出于某种原因,它说查询值和目标字段的数量不一样,我不知道为什么会这样说。我已经研究了错误(3346),但没有找到修复方法。我是VBA的新手,因此非常感谢您的帮助 "INSERT INTO Clients (Col1, Col2, Col3)" & _ "SELECT DISTINCT DD.[Client ID] " & _ "FROM " & tableName & " as DD " & _

我试图在SQL中插入一个表,但出于某种原因,它说查询值和目标字段的数量不一样,我不知道为什么会这样说。我已经研究了错误(3346),但没有找到修复方法。我是VBA的新手,因此非常感谢您的帮助

"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)"

您正试图从一列插入到三列中,这很混乱 这将有助于:

"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语句并没有结果。
再仔细考虑一下,决定到底要在何处插入什么?

您正在尝试插入3列--col1、col2和col3。但是,您仅选择1,客户端id。。。insert语句中的列数必须与select语句中的列数匹配。