Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ACCESS: Actualización en cascada

Estas en el tema de ACCESS: Actualización en cascada en el foro de Bases de Datos General en Foros del Web. Hola, Se que la actualización en cascada permite por ejemplo que si cambias el ID de la tabla principal se modifique el campo relacionado correspodiente ...
  #1 (permalink)  
Antiguo 22/10/2009, 03:01
 
Fecha de Ingreso: julio-2003
Mensajes: 65
Antigüedad: 21 años, 4 meses
Puntos: 0
ACCESS: Actualización en cascada

Hola,

Se que la actualización en cascada permite por ejemplo que si cambias el ID de la tabla principal se modifique el campo relacionado correspodiente en las tablas relacionadas.

Mi duda es si teniendo dos tablas relacionadas 1 a varios, pero con un campo 'estado' igual en ambas, que en este caso me indica si una empresa y un empleado son alta o baja, podría ser posible que al actualizar el campo 'estado' de una empresa concreta todos los empleados de esa empresa modificaran el valor también, aunque no al contrario claro...

Agradecería su ayuda.

Saludos!
  #2 (permalink)  
Antiguo 22/10/2009, 07:22
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ACCESS: Actualización en cascada

Creo que haciendo un:

Código sql:
Ver original
  1. UPDATE empleado INNER JOIN empresa ON empleado.idempresa=empresa.idempresa
  2. SET empleado.estado=iif(empresa.estado='activado','activado','desactivado');

Revisa bien la sintaxis de access que puede tener algunos cambios en la condición del iif.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 22/10/2009, 08:56
 
Fecha de Ingreso: julio-2003
Mensajes: 65
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: ACCESS: Actualización en cascada

Muchas gracias huesos52,

Lo probaré a ver si me sirve.

Saludos!
  #4 (permalink)  
Antiguo 28/10/2009, 16:47
 
Fecha de Ingreso: julio-2003
Mensajes: 65
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: ACCESS: Actualización en cascada

Hola,

He probado tu código y funciona correctamente. Lo malo que tiene es que coje el valor 'antiguo' del estado pero bueno he cambiado las asignaciones en el iif() y me sirve.

El problema que me ha surgido es que tengo una tercera tabla relacionada:

Empresas - Trabajadores - Beneficiarios

Y con el siguiente código:

Código sql:
Ver original
  1. UPDATE (Empresas INNER JOIN Trabajadores ON Empresas.id=Trabajadores.id_empresa) INNER JOIN Benef_empr ON Trabajadores.id=Benef_empr.id_trabajador
  2. SET Trabajadores.estado = iif(Empresas.estado='Alta','Baja','Alta'), Benef_empr.estado = iif(Empresas.estado='Alta','Baja','Alta')
  3. WHERE Empresas.codigo=[Codigo Empresa];

solo se actualiza el primer registro, sabéis porque puede ser?

Gracias y un saludo

Última edición por BorjaSan; 28/10/2009 a las 16:52
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:19.