Hola.
Prueba con :
Código:
query.edit;
query['codigo']:=nuevo_codigo;
query.post;
query.refresh;
O sea, después de modificar el campo
codigo vuelves a lanzar la consulta para que recoga el valor correcto en
denominacion.
Si no te gusta, porqué va lento ... o lo que sea. La otra solución es utilizar un campo de lookup de Delphi, en lugar de coger el valor de
denominacion en la consulta.
Saludos.