Ver Mensaje Individual
  #14 (permalink)  
Antiguo 14/09/2014, 14:21
jeremiselxi
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 15 años, 8 meses
Puntos: 22
Al actualizar un registro sale "La operacion debe ser una consulta actualizable"

Buenas tardes.

Estoy utilizando MS-Access y tengo dos tablas

Tabla RRHH
esta es la estructura
id Autonumerico
Nombre_Completo texto
Posicion texto
Departamento Texto
Nombre Texto
Apellido Texto
Id_app Texto


Tabla Aplication
Id autonumerico
Nombre_Apli texto
Nombre texto
Apellido texto
Id_app texto



Si realizo esta consulta


Código MySQL:
Ver original
  1. FROM RRHH AS t1
  2. WHERE (((Exists (SELECT t2.Nombre
  3.      FROM Aplication as t2
  4.      WHERE t1.Nombre_Completo like '*'+t2.Nombre+'*' and t1.Nombre_Completo like '*'+t2.Apellido+'*'))));

Me funciona de maravilla.

Lo que hace el codigo anterior es buscarme en la tabla RRHH todos los registros donde el campo Nombre_Completo exista lo que está en el campo Nombre de la tabla aplication y donde el campo Nombre_Completo exista lo que está en el campo apellido.


Sin embargo lo que necesito es actualizar la tabla de RRHH y donde se cumpla que el campo Nombre_Completo exista lo que está en el campo Nombre de la tabla aplication y donde el campo Nombre_Completo exista lo que está en el campo apellido entonces actualizame el campo Id_app de la tabla RRHH con el registro que esta en la tabla aplication.

Intento utilizar este query
Código MySQL:
Ver original
  1. UPDATE RRHH AS t1 SET t1.Id_app = (SELECT t2.Id_app
  2.      FROM Aplication as t2
  3.      WHERE t1.Nombre_Completo like '*'+t2.Nombre+'*' and t1.Nombre_Completo like '*'+t2.Apellido+'*');

Pero al final sale La operacion debe ser una consulta actualizable

Realicé en Mysql este query y me funciona a la perfección
Código MySQL:
Ver original
  1. UPDATE RRHH AS t1 SET t1.Id_app = (SELECT t2.Id_app
  2.      FROM Aplication as t2
  3.      WHERE t1.Nombre_Completo like concat('%',t2.Nombre,'%') and t1.Nombre_Completo like concat('%',t2.Apellido,'%'))

Sin embargo necesito hacerlo en Access esta consulta porque en el trabajo solo están usando Access y no permiten instalar otro dbms.

Saludos.

Última edición por jeremiselxi; 14/09/2014 a las 14:41