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

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

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

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!

 


 

 


1 comentário(s)

Pedro Lucas Cipollini Gomes   13/09/2022 19:04:49

Avelino é possível no evento timer do formulário atualizar o campo A com um intervalo x e o campo B com um intervalo y ?


Envie seu comentário: