Ver Mensaje Individual
  #3  
Antiguo 16-03-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Hola a todos!

Me parece una buena opción la que menciona Diego, de hecho yo también lo he resuelto con algo similar.

Por otra parte, sólo para responder la pregunta original:

Cita:
¿Cómo hacer para que el evento OncalclFields de un dataset sólo se dispare 1 vez, por ejemplo cuando abro el dataset, que se ejecute para cada uno de los artículos del dataset y ya nunca más se dispare?
Bueno pues los DataSet tiene la propiedad AutoCalFields que cuando tiene el valor True, entonces el evento OnCalcFields se dispara en estos casos:
  1. Cuando se abre el DataSet.
  2. Cuando el DataSet es puesto en estado de edición (dsEdit)
  3. Cuando se cambia el foco de un control visual a otro, o de una columna a otra en un grid y se han hecho modificaciones en el registro.

Cuando la propriedad AutoCalcFields tiene el valor False en evento OnCalcFields se dispara sólo en estos casos:
  1. Cuando se abre el DataSet.
  2. Cuando el DataSet es puesto en estado de edición.
  3. Cuando un registro es cargado desde la base de datos.


Si pones la propiedad AutoCalcFields en False puedes reducir la frecuencia con la que se llama el evento, sin embargo no puedes evitar que se ejecute al menos en los tres casos que mencioné anteriormente.

Un saludo y seguimos en contacto.
Responder Con Cita