Ver Mensaje Individual
  #2  
Antiguo 25-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Mas que recorrer las tablas en delphi, usaremos un Tquery con su sentencia sql tal que así:

Código SQL [-]
select codigoEmp, count(fecha) from Ausencias
where codigoEmp = :codigo and (fecha between  :fechaini and fechaFin)
Porque supongo que querrás pedirlo entre dos fechas determinadas. Ya en Delphi:
Código Delphi [-]

// query1 tiene el sql anterior
query1.parambyname('codigo').Asinteger := 32;
query1.parambyname('fechaini').Asdate := datetimepicker1.date;
query1.parambyname('fechaFin').Asdate := datetimepicker1.date;
query1.Open;
if not query1.IsEmpty then
begin 
  query2.sql.text := 'update ausContadas set TotalFaltas = :totales where codigoEmp = :codigo';
  query2.parambyname('codigo').AsInteger := 32;
  query2.parambyname('totales').AsInteger := query1.Fields[1].Asinteger;
  query2.ExecSql;
end;


No sé si dbf podría hacer algo así, pruébalo ya que sería mejor:
Código SQL [-]
update ausContadas set TotalFaltas = 
                  ( 
                  select count(fecha) from Ausencias 
                  where codigoEmp = :codigo and (fecha between  :fechaini and fechaFin)
                  )
where codigoEmp = :codigo

En AusContadas, no entiendo como se pueden almacenar las faltas de todos los meses de un mismo empleado, por ejemplo.


Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 25-12-2006 a las 13:08:00.
Responder Con Cita