delphi
procedure TFRMpendientes.Timer1Timer(Sender: TObject); begin DMmonitorenred.ADOQPendientes.SQL.Clear; DMmonitorenred.ADOQPendientes.SQL.Add('select * from activas where alarmnum > ' + quotedstr(inttostr(buscar)) ); DMmonitorenred.ADOQPendientes.Open; if DMmonitorenred.ADOQPendientesALARMNUM.AsInteger > buscar then begin DMmonitorenred.ADOQPendientes.last; end; if (DMmonitorenred.ADOQActivasALARMNUM.Value) < (DMmonitorenred.ADOQPendientesALARMNUM.Value) then begin //DMmonitorenred.ADOQActivas.Requery(); DMmonitorenred.ADOQActivas.SQL.Add('select * from activas where alarmnum > ' + quotedstr(inttostr(contador)) ); DMmonitorenred.ADOQActivas.Open; DMmonitorenred.ADOQActivas.Last; end; end;
- BUSCAR es una variable de tipo entero. A esta variable le paso el valor del campo llave llamado alarmum en el evento ONSHOW del form
y me sirve de guia para saber si hay algun evento nuevo que haya llegado a la base de datos del servidor.
- Tengo dos Dbgrid , uno es para los eventos nuevos que llegan y el otro tiene todo los eventos que tengan un campo llamado completa con el valor pendiente o en espera
la idea es que si el valor del campo alarmnum en el registro nuevo que llega es mayor que el de la tabla de pendientes, esta se actualice.
Esta parte la hace bien, lo que pasa es que SE MANTIENE ACTUALIZANDO EL QUERY DE LAS PENDIENTES AUNQUE NO HAYA LLEGADO NINGUN REGISTRO NUEVO En EL 1ER QUERY.
aunque solo lo hace a partir de que llegan los primero(s) registro(s) en el primer query
gracias de antemano