• Jueves 2 de Abril de 2020, 05:43

Autor Tema:  Sumar Horas  (Leído 3997 veces)

Shiquilla

  • Miembro MUY activo
  • ***
  • Mensajes: 188
  • Nacionalidad: es
    • Ver Perfil
    • http://www.songesoft.com
Sumar Horas
« en: Jueves 20 de Abril de 2006, 12:52 »
0
Buenas, estoy haciendo un informe en Crystal Reports donde tengo un campo que es de tipo hora, y quiero que al final del Grupo se haga un sumatorio de ese campo y que me lo de en formato hh:mm.

He intentado hacerlo pero no me deja sumar las horas automáticamente (desde el propio menú para insertar un total).

Sé que hay alguna forma de crear y manejar variables en Crystal, pero no encuentro información ya que si automáticamente no lo hace, por lo menos haciendo TimeValue(campoHora) + TimeValue(NombreVble) (Tal y como se haría en VB) en Crystal podría obtener el total. ¿Alguien podría ayudarme?

Gracias.
« §hÿqµïllæ »

Shiquilla

  • Miembro MUY activo
  • ***
  • Mensajes: 188
  • Nacionalidad: es
    • Ver Perfil
    • http://www.songesoft.com
Re: Sumar Horas
« Respuesta #1 en: Viernes 21 de Abril de 2006, 16:04 »
0
Ya lo solucioné, gracias de todas formas. Pongo aquí la solución por si a alguien le sirve:

En la cabecera del grupo he puesto la siguiente fórmula:
Código: Text
  1. whileprintingrecords;
  2. //Pongo las variables a 0 para cada agrupación
  3. shared numbervar nHoras:=0;
  4. shared numbervar nMinutos:=0;
  5.  

En los detalles del informe he puesto la siguiente fórmula:
Código: Text
  1. whileprintingrecords;
  2. //Calculo las horas y minutos
  3. shared numbervar nHoras := nHoras + Hour ({vFichajes.dHoras});
  4. shared numbervar nMinutos := nMinutos + Minute ({vFichajes.dHoras});
  5. shared numbervar nHoras := nHoras + int(shared numbervar nMinutos/60);
  6. shared numberVar nMinutos:= nMinutos - (int(shared numbervar nMinutos/60)*60);
  7.  

Y en el pie del grupo he puesto la siguiente fórmula:
Código: Text
  1. whileprintingrecords;
  2. //Aquí formateo el campo para que me lo ponga con formato hora (hh:mm)
  3. TimeValue(shared numbervar nHoras,shared numbervar nMinutos,0);
  4.  

Saludos,
« §hÿqµïllæ »

nemesis_24

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Sumar Horas
« Respuesta #2 en: Viernes 23 de Julio de 2010, 12:46 »
0
He seguido los pasos que pones en el post
whileprintingrecords;
shared numbervar nHoras := nHoras + Hour ({Reportemaq.totalhr}); en este punto me dice que se requiere una hora
shared numbervar nMinutos := nMinutos + Minute ({Reportemaq.totalhr});
shared numbervar nHoras := nHoras + int(shared numbervar nMinutos/60);
shared numberVar nMinutos:= nMinutos - (int(shared numbervar nMinutos/60)*60);

Me gustaria saber si te sucedio lo mismo y como puedo solucinarlo ya que es la primera vez que hago estos reportes y no tengo ni idea