... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$182,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Problema com cálculo de campo hora - cronômetro regressivo

Usuário César:

Caros amigos, estou enfrentando um probleminha que talvez vocês possam me ajudar.

Tenho um campo no meu formulário com o seguinte formato: 00:00:00;0;_, valor padrão 00:25:00

Gostaria que a cada segundo, esse campo fosse atualizado para menos e não estou conseguindo.

Por exemplo:

00:25:00
segundo seguinte 00:24:59
segundo seguinte 00:24:58
e assim sucessivamente

Suporte:

César, fiz um teste, utilizando o evento "no timer" do formulário, com o seguinte código:

Private Sub Form_Timer()
If IsNull(Me!Cronometro) Then Me!Cronometro = #12:25:00 AM#
Me!Cronometro = Me!Cronometro - 1.15740740740741E-05
If Me!Cronometro = "00:00:00" Then
    Me.TimerInterval = 0
    MsgBox "Tempo esgotado..."
End If
End Sub

Nota: A propriedade "intervalo do cronômetro" setada para 1000.

Usuário César:

Mestre Avelino, uma curiosidade: como chegou a este valor: 1.15740740740741E-05?

Suporte:

César, a data e a hora são reconhecidas pelo Access como um número. A data é representada pela parte inteira e as horas pela fracionada. Para saber o valor correspondente, basta utilizar a função de conversão Cdbl(). Exemplo:

Cdbl(#08/18/2015 10:50:00#) ::::> 42234,4513888889

O valor de 1 segundo:

Cdbl(#00:00:01#) :::> 1,15740740740741E-05

Para transformar o número em formato data/hora, utilize a função Cdate()

Cdate(1.15740740740741E-05) :::> 00:00:01

Como alternativa podemos utilizar a função TimeValue(), ficando assim o código:

Private Sub Form_Timer()
If IsNull(Me!Cronometro) Then Me!Cronometro = #12:25:00 AM#
Me!Cronometro = CDate(Me!Cronometro - TimeValue("00:00:01")) 
If Me!Cronometro = "00:00:00" Then
    Me.TimerInterval = 0
    MsgBox "Tempo esgotado..."
End If
End Sub

Usuário César:

Caro amigo Avelino.

Em primeiro lugar gostaria de parabenizá-lo pela excelente ferramenta que é o MontaRibbons, gosto muito de usá-la para os meus projetos.

Também gostaria de agradecer a ajuda desse tópico, resolveu o meu problema. Obrigado, solução perfeita!

 


 

 


Não há comentário

Envie seu comentário: