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 に答える