Exportar datos de una tabla a otra bajo condición

Haber si me pueden ayudar, necesito exportar de datos de una tabla a otra pero bajo una condición, rápidamente explico tengo 2 tablas, y el detalle esta en que necesito que al guardar la datos de una tabla llamada DATOS DEL TRABAJADOR(1era tabla), exporte el valor del Campo TIPO_PUESTO(contenido en la 1era. Tabla), bajo la condición de que si es igual el campo LOCALIDADES(contenido en la 1era. Tabla), al campo CLAVE_LOC de la Tabla LOCALIDADES(2a tabla) guarde el valor del campo exportado en la tabla LOCALIDADES en la LOCALIDAD que debe ser.
Yo estoy usando este código pero no me funciona dice que me falta un (;) al final, lo extraño es que si funcionaba, me exportaba el dato solo que no lo hacia en la localidad que debía ser, sino que creaba un nuevo registro y se guardaba en el campo que indicaba.
If Me.TIPO_PUESTO = 1 Then
SQL = "INSERT INTO LOCALIDADES (PAC) Values('" & TIPO_PUESTO & "') FROM DATOS DEL TRABAJADOR WHERE LOCALIDAD='CLAVE_LOC';"
CurrentDb.Execute SQL
End If

1 Respuesta

Respuesta
1
Estas usando una consulta de inserción de registro ("INSERT...").
Para actualizar un registro existente debes de usar una consulta de actualización de datos, no de inserción. Obviamente esto exige que ya esté creado el registro en la tabla destino del dato. Un ejemplo de consulta de actualización de datos es el siguiente:
"UPDATE Tabla1 SET Tabla1.Texto1 = 'XX'"
En tu caso sustituye los nombre de la tabla y campo por los tuyos, y las dos XX por el nombre de la variable que usas para almacenar el valor del campo TIPO_PUESTO.
Si necesitas algo más házmelo saber.
Cordiales saludos.
De nuevo y perdona, pero me olvide en la sentencia de la clausula WHERE. Al releerla me he dado cuenta de que no había completado la sentencia, por lo que si ejecutas lo anterior obviamente actualizas todos los registros.
La sentencia SQL debe de quedar como la siguiente:
UPDATE Tabla1 SET Tabla1.Texto1 = "XX" WHERE Tabla1.Texto2='ZZ';
Ya sabes, sustituye XX por el valor a actualizar (el que guardas en la variable), Tabla1, Texto1 y Texto2 por lo que corresponda en tu caso, y ZZ por la clave de la localidad. Las variables deben de estar entre comillas simples y para concatenar lo mismo queue usas, el &.
Disculpa de nuevo el olvido, pero queería contestar una pregunta antes de salir y las prisas no son buenas consejeras.
Por cierto, desconozco tu esquema relacional, pero asegurate de que lo que queuieres realizar es lógico, es decir, si hay que actualizar ese campo cada vez que actualices un registro de la tabla Datos del Trabajador. La verdad, no te sigo en tu razonamiento del motivo de la actualización.
Cordiales saludos.
Muchas gracias experto me funciono muy bien, pero ahora necesito me funcione también cuando de de baja algún trabajador, me borre el dato insertado al inicio de cada contratación.
De ante mano gracias.
Saludos. desde San Luis Potosí, S. L. P. mexico

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas