如何简化此插入语句

时间:2013-05-16 20:36:38

标签: sql vba ms-access

所以我试图在一个新表中插入120行,它不断向我抛出“查询太复杂”的错误。它最多可以工作90行。

这是查询:

SQL = "INSERT INTO " & newtable & " ([" & sourceQ & "_" & master & "], 
    [" & sourceQ & "_" & fld.Name & "])" & " SELECT 
    [" & sourceQ & "." & master & "], [" & sourceQ & "." & fld.Name & "]" 
    & " FROM " & sourceQ 

我尝试过使用where WHERE [" & sourceQ & ".Expr1] like ('Field09?')的子句进行播放,但仍然会抛出这些错误。

我甚至尝试过一个应该像WHERE [" & sourceQ & ".Expr1] = 'Field001'一样工作的简单版本,它应该只有1行,但它仍会抛出错误。

有人有什么想法吗?

编辑:调试

INSERT INTO tblCalc ([qJoinKeyAndStudent_<>], [qJoinKeyAndStudent_0 1 0 1])
SELECT [qJoinKeyAndStudent.<>], [qJoinKeyAndStudent.0 1 0 1] 
FROM qJoinKeyAndStudent WHERE [qJoinKeyAndStudent.Expr1] like ('*09#')

1 个答案:

答案 0 :(得分:1)

虽然Access能够处理字段和表名中的空格,但您需要将字段和表名封装在单独的括号中:

INSERT INTO tblCalc ([qJoinKeyAndStudent_<>], [qJoinKeyAndStudent_0 1 0 1])
SELECT [qJoinKeyAndStudent].[<>], [qJoinKeyAndStudent].[0 1 0 1] 
FROM qJoinKeyAndStudent WHERE [qJoinKeyAndStudent].[Expr1] like ('*09#')

这有用吗?