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 originalUPDATE (Empresas INNER JOIN Trabajadores ON Empresas.id=Trabajadores.id_empresa) INNER JOIN Benef_empr ON Trabajadores.id=Benef_empr.id_trabajador
SET Trabajadores.estado = iif(Empresas.estado='Alta','Baja','Alta'), Benef_empr.estado = iif(Empresas.estado='Alta','Baja','Alta')
WHERE Empresas.codigo=[Codigo Empresa];
solo se actualiza el primer registro, sabéis porque puede ser?
Gracias y un saludo