USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Somar horas Msflexgrid
luizgs
CURITBA
PR - BRASIL
ENUNCIADA !
Postada em 26/11/2010 12:55 hs            
boa tarde, estou tendo uma dificuldade em pegar a soma de horas de um msflexgrid, configurei o campo na tabela do access como data/hora(hora normal),estou usando o seguinte código, alguem sabe como posso resolver isso:
Private Sub cmdSomar_Click()
Dim soma As Variant
Dim i As Integer
    
For i = 1 To Me.MSFlexGrid1.Rows - 1
soma = soma + Me.MSFlexGrid1.TextMatrix(i, 2)
Next i

total.Text = soma
    
End Sub
Fazendo teste com horas que somadas sao menores que 24 funciona bem, quando ultrapassa 24 horas a soma, ele nao consegue.
Desde ja agradeço muito
Luiz
TÓPICO EDITADO
 
Juan Carlos R.A
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 29/11/2010 14:27 hs            
Oi luizgs
como vc ta preenchendo no grid o Me.MSFlexGrid1.TextMatrix(i, 2) ?
as horas ou a data com hora?
   
luizgs
CURITBA
PR - BRASIL
ENUNCIADA !
Postada em 30/11/2010 01:31 hs            
Boa noite Juan, eu preencho com o formato de horas.

att

luiz
   
Juan Carlos R.A
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 30/11/2010 11:29 hs            
blz,
nao entendi isso: Fazendo teste com horas que somadas sao menores que 24 funciona bem, quando ultrapassa 24 horas a soma, ele nao consegue.
   
luizgs
CURITBA
PR - BRASIL
ENUNCIADA !
Postada em 01/12/2010 08:46 hs            
bom dia Juan Carlos, muito obrigado pela atenção, ja consegui resolver o problema, consegui esse codigo com o colega Marcelo-Treze.
Private Sub cmdsomar_Click()
Dim I As Integer
Dim TotalMinutos As Integer
Dim HM() As String
Dim SomaHoras As String

' primeiro convertemos tudo para minutos para efetuarmos uma soma correta

With MSFlexGrid2
TotalMinutos = 0
For I = 1 To MSFlexGrid2.Rows - 1
HM = Split(MSFlexGrid2.TextMatrix(I, 4), ":")
TotalMinutos = TotalMinutos + (CInt(HM(0) * 60) + CInt(HM(1)))
Next I
End With
' Agora vem a parte que retorna em horas e minutos

Dim Hrs As Integer
Dim Min As Integer

Min = TotalMinutos Mod 60 ' retorna o resto de total de minutos dividido por 60
Hrs = (TotalMinutos - Minutos) / 60

SomaHoras = Hrs & ":" & Format(Min, "00")

TOTAL.Text = SomaHoras
End Sub
Att
Luiz
TÓPICO EDITADO
 
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página