bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Problema com cálculo de campo hora

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,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

Antes de iniciar a sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

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: