0

我有以下代码:

v_sql = "INSERT INTO tbl_eval_general ( id_empleado, id_evaluador, id_tipo_evaluación ) " & _ "SELECT Empleado_bloques.id_empleado, Empleado_bloques.id_evaluador, Empleado_bloques.id_tipo_evaluación " & _ " FROM Tipo_evaluación INNER JOIN Empleado_bloques ON Tipo_evaluación.id_tipo_evaluación = Empleado_bloques.id_tipo_evaluación " & _ " WHERE (((Empleado_bloques.id_empleado)= " & Me.id_empleado & "));" CurrentDb.Execute v_sql, dbFailOnError

这是 v_sql 得到的:

INSERT INTO tbl_eval_general ( id_empleado, id_evaluador, id_tipo_evaluación ) SELECT Empleado_bloques.id_empleado, Empleado_bloques.id_evaluador, Empleado_bloques.id_tipo_evaluación
FROM Tipo_evaluación INNER JOIN Empleado_bloques ON Tipo_evaluación.id_tipo_evaluación = Empleado_bloques.id_tipo_evaluación
WHERE (((Empleado_bloques.id_empleado)= 125));

如果我将生成的代码复制并粘贴为 SQL 并创建一个查询,它就可以工作。但是,在运行代码时,它可以工作(创建记录),然后我收到以下错误消息:

Run-time error ‘3075: Syntax error (missing operator) in query expression 'INSERT INTO tbl_eval_general (id_empleado, id_evaluador, id_tipo_evaluación) SELECT Empleado_bloques.id_empleado, Empleado_bloques, id_evaluador, Empleado_bloques.id_bpo_evaluadón FROM Tipo_evaluación INNER JOIN Empleado_bloques ON Tipo_evaluadón.id_bpo_evaluaóón = Empleado_bloques.id tipo evaluación WHERE

它与 Access 使用查询编辑器生成的代码相匹配。我会很感激为什么查询可以在编辑器上工作但不能在 Currentdb.execute 中工作的任何想法。

非常感谢。阿曼多。

4

1 回答 1

0

我发现了错误。这是一个愚蠢的错误。我稍后在代码中的 DLOOKUP 上使用了相同的 v_sql 变量。v_sql 有我在上面发布的 INSERT 代码。DLOOKUP 正在生成错误消息,因为它只需要条件。

于 2012-12-15T21:20:03.540 回答