私は次のコードを持っています:
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では機能しない理由についてのアイデアをいただければ幸いです。
どうもありがとう。アルマンド。