1

所以我试图在一个新表中插入 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#')
4

1 回答 1

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#')

那样有用吗?

于 2013-05-16T21:24:30.567 回答