Autor Tópico: Ajuda com TIMEDIFF  (Lida 1213 vezes)

alesalves

  • Visitante
Ajuda com TIMEDIFF
« Online: Outubro 08, 2009, 12:34:29 pm »
Prezados, ja postei esta duvida anteriormente e novamente começo a ter problemas com o TIMEDIFF. Montei um formulario para cadastro de horas extras e preciso fazer o cálculo destas horas tenho os seguintes campos: InicioHEX, TerminoHEX e TotHEX. Ambos sao do tipo TIME. A macro faz o calculo corretamente, mas a minha dúvida é de como fazer esta hora que foi calculada cair certo no BD. O que esta acontecendo é o seguinte:

Eu logo no sistema e cadastro um horario de entrada e outro de saida (10:00 e 13:00), clico em adicionar. Olho no BD e está em branco... Sem fechar o formulario eu adiciono outra hora extra (15:00 e 16:30)... la no BD o tempo total desta hora é igual a 03:00 que é a hora cadastrada do registro anterior, se eu cadastrar um novo registro ele vai ter 01:30 como total...

Esta é a minha macro e ela está rodando debaixo de OnValidate:


/* Macro sc_lookup */

sc_select(horas, "
SELECT TIMEDIFF(Terminohex,Iniciohex) FROM TabHorExtra
");
/* Macro sc_lookup */
if (FALSE === {horas}) {
   sc_erro_mensagem("Ocorreu um erro no acesso ao banco de dados.<BR>");
}
elseif (count({horas}) == 0) { /* Macro sc_lookup */
   sc_erro_mensagem("Nenhum valor foi retornado pelo banco.<BR>");
}
else {
   while (!$horas->EOF) {
      {tothe} = $horas->fields[0];
      $horas->MoveNext();
   }
   $horas->Close();
}