2012-12-14 76 views
0

我有以下代碼:代碼工作作爲查詢,生成語法錯誤與currentdb.execute

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

它使用查詢編輯器通過訪問生成的代碼相匹配。我很想知道爲什麼查詢可以在編輯器上工作,但不在Currentdb.execute中。

非常感謝。 阿曼多。

+0

我發現了錯誤。這是一個非常愚蠢的錯誤。我在代碼後面的DLOOKUP中使用了相同的v_sql變量。 v_sql具有我在上面發佈的INSERT代碼。 DLOOKUP正在生成錯誤消息。 – user1905246

回答

0

我發現了錯誤。這是一個愚蠢的錯誤。我在代碼後面的DLOOKUP中使用了相同的v_sql變量。 v_sql具有我在上面發佈的INSERT代碼。 DLOOKUP正在生成錯誤消息,因爲它期望的是條件。