Necesitamos almacenar el valor de un campo antes de que se produzca una modificación del mismo para luego ser tratado en un disparador. Hemos revisado las funciones de campo y no tenemos ninguna que nos devuelva el anterior valor.
Lo único que se nos ocurre es almacenarlo en una variable global cuando abrimos el formulario de edición. ¿Se os ocurre alguna otra solución?
En el proceso anterior a una modificación te guardas el campo en una variable local de la tabla y luego en el proceso posterior de modificación puedes acceder a dicha variable para recuperar el valor que has guardado en el proceso anterior.
Si tienes un formulario, por ejemplo, con un campo NAME y modificas el valor al aceptar y se ejecutarse el evento anterior a una modificación, el valor del campo NAME ya llega modificado, así que la única forma que conozco es guardar los valores anteriores en un evento disparado con conexión de evento INICIADO.
Por un lado comentar que la solución que plantea @albert creemos que es errónea como también apunta @rzaragoza.
La solución de @Pepeto es correcta, pero no nos gusta que tenga que estar controlada desde el interface. Todo lo que pueda estar en cajas de datos, mejor que mejor.
En mi caso... esto es tipico para una modificacion de ficha, particularmente, un campo codigo propio (COD_TRABAJADOR="0025"). cambiar por otro 0066
En un formulario de modificacion, al momento de inicializar guardo el contenido en una variable local... y... luego... antes de grabar verifico si ya existe (no graba)... y si no existe... si lo graba.
Entendí mal el problema. Mi solución solamente sería válida, por ejemplo, para cuando se quisiera hacer una auditoria donde hay que guardar el valor anterior a la modificación y el posterior.
Para este problema: desde el formulario puedes crear un evento para consultar la ficha que hay en el servidor sin que tenga en cuenta la cache del cliente:
CargarLista, TABLA, ÍndiceID, #ID
RecorrerListaLecturaEscritura
SeleccionarPorPosicion 1
LeerFichaSeleccionada
Rem: Aquí tienes acceso a la ficha tal como está en el servidor