Gabriel Cabral Postado Agosto 24, 2007 Denunciar Share Postado Agosto 24, 2007 Ae gente.....to com um problemão aqui....assim.....tenho duas textbox com horarios e um vai subtrair do outro...eles estao subtraindo perfeitamente...exceto por uma coisa...supondo que a operação será txtTempo1 - txtTempo2txtTempo1 = 00:15 [15 minutos]txtTempo2 = 00:20 [20 minutos]então..... txtTempo1 - txtTempo2 = ????na teoria seria igual a - 00:05 [menos 5 minutos]mas isso não existe....então o que acontece é que ao invés de fazer txtTempo1 - txtTempo2, o programa faz txtTempo2 - txtTempo1 aí o resultado fica 00:05eu queria era q se txtTempo1 fosse menor que txtTempo2, o resultado desse 00:00mas isso não acoontece =/já tentei isso...If txtTempo1.Text < txtTempo2.Text ThenDadosAtendimentos.Recordset.Fields("campo_tempo").Value = "00:00"End Ifmas não deu em nada...alguém me ajuda por favooooorrr !!!!!obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fahledu Postado Agosto 24, 2007 Denunciar Share Postado Agosto 24, 2007 VB não é muito minha cara, então pode ser que eu esteja comendo bola...Mas a lógica não seria mais ou menos assim:se (valor.campo1 < valor.campo2) então resultado = campo2 - campo1 escreva resultado senão resultado = campo1 - campo2 escreva resultado fim se Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Agosto 27, 2007 Autor Denunciar Share Postado Agosto 27, 2007 VB não é muito minha cara, então pode ser que eu esteja comendo bola...Mas a lógica não seria mais ou menos assim:se (valor.campo1 < valor.campo2) então resultado = campo2 - campo1 escreva resultado senão resultado = campo1 - campo2 escreva resultado fim sePoutz fahledunão é isso não =(eu não sei se não ta dando certo porque faço calculo com datas utilizando o TimeSerial, ou pode não ter nada a ver...mas obrigado de qualquer forma Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 27, 2007 Denunciar Share Postado Agosto 27, 2007 em vez de txtTempo1 - txtTempo2 faca DateDiff("n", CDate(txtTempo1.Text), CDate(txtTempo2.Text)). ai nesse caso ele vai voltar a diferenca em minutos. se quiser depois converter pro formato 99:99, usa essa funcao q eu fiz:Public Function MontaHora(Min As Integer) As String If Min < 0 Then MontaHora = "-" Min = Abs(Min) Else MontaHora = "" End If MontaHora = MontaHora & Val(Min / 60) & ":" & IIf(Len(CStr(Min Mod 60)) = 1, "0", "") & Min Mod 60End Function[/code] e na hora de comparar as datas faca: [code]If CDate(txtTempo1.Text) < CDate(txtTempo2.Text) ThenDadosAtendimentos.Recordset.Fields("campo_tempo").Value = "00:00"End If Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Agosto 28, 2007 Autor Denunciar Share Postado Agosto 28, 2007 (editado) em vez de txtTempo1 - txtTempo2 faca DateDiff("n", CDate(txtTempo1.Text), CDate(txtTempo2.Text)). ai nesse caso ele vai voltar a diferenca em minutos. se quiser depois converter pro formato 99:99, usa essa funcao q eu fiz:Public Function MontaHora(Min As Integer) As String If Min < 0 Then MontaHora = "-" Min = Abs(Min) Else MontaHora = "" End If MontaHora = MontaHora & Val(Min / 60) & ":" & IIf(Len(CStr(Min Mod 60)) = 1, "0", "") & Min Mod 60 End Function e na hora de comparar as datas faca: If CDate(txtTempo1.Text) < CDate(txtTempo2.Text) Then DadosAtendimentos.Recordset.Fields("campo_tempo").Value = "00:00" End Ifentão kuroi...fiz exatamente o que você indicou....mas não ta convertendo pro formato "99:99"o que ta errado??? :( Editado Agosto 28, 2007 por Gabriel Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 28, 2007 Denunciar Share Postado Agosto 28, 2007 ta mas como ficou o codigo q você ta usando?? tipo, declare la essa funcao q eu te passei, e pra chama-la deve ser assim:campo = MontaHora(DateDiff("n", CDate(txtTempo1.Text), CDate(txtTempo2.Text))) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gabriel Cabral
Ae gente.....to com um problemão aqui....
assim.....tenho duas textbox com horarios e um vai subtrair do outro...
eles estao subtraindo perfeitamente...
exceto por uma coisa...
supondo que a operação será txtTempo1 - txtTempo2
txtTempo1 = 00:15 [15 minutos]
txtTempo2 = 00:20 [20 minutos]
então..... txtTempo1 - txtTempo2 = ????
na teoria seria igual a - 00:05 [menos 5 minutos]
mas isso não existe....
então o que acontece é que ao invés de fazer txtTempo1 - txtTempo2, o programa faz txtTempo2 - txtTempo1
aí o resultado fica 00:05
eu queria era q se txtTempo1 fosse menor que txtTempo2, o resultado desse 00:00
mas isso não acoontece =/
já tentei isso...
If txtTempo1.Text < txtTempo2.Text Then
DadosAtendimentos.Recordset.Fields("campo_tempo").Value = "00:00"
End If
mas não deu em nada...
alguém me ajuda por favooooorrr !!!!!
obrigado
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.