Ver Mensaje Individual
  #10  
Antiguo 26-08-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Reputación: 21
Carmelo Cash Va por buen camino
Una solución

Esto se complica cada vez más, así que lo solucioné de la siguiente manera.

Voy a romper una de las premisas, (pero sólo una parte).

Recuerdan que para actualizar el combobox había que hacer

Código Delphi [-]
ClientDataSet.Active:=False;
ClientDataSet.Active:=True;
Pero...

Código Delphi [-]
1- No vale hacerlo en el evento "on Click", ya que genera un gran tráfico de red y los datos del combobox se modifican muy de vez en cuando.

Lo que hice fué crear una tabla con dos campos
el nombre de cada tabla y la fecha de última modificación de ésa tabla, que es un campo tipo DateTime llamado "Ultima_modificacion".

Entonces al abrir los formularios "Cargo" los "Combobox" y guardo la "Ultima_modificacion", Select Ultima_modificacion From Control where Tabla='Provincias' en una variable DateTime.

Luego en el evento on ClicK y del Combobox Ejecuto nuevamente la consulta Select Ultima_modificacion From Control where Tabla='Provincias' y la comparo con la variable que guardé anteriormente.
Si es distinta actualizo los combobox.

Este método tiene tres ventajas:

1.- Genera muy poco tráfico de red, ya que sólo viaja la fecha de la última modificación.

2- La opción de guardar la fecha de última modificación en una tabla externa hace que lo que tiene que procesar el servidor sea mucho menor.

3.- Al gefe le gustó.

Gracias a todos los que participaron y espero que esto le sirva a alguien.
Responder Con Cita