2 participantes
[Resolvido]Somar as horas por mês
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº1
[Resolvido]Somar as horas por mês
Última edição por Assis em 21/5/2022, 12:15, editado 1 vez(es)
.................................................................................
*** Só sei que nada sei ***
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 21/11/2016
- Mensagem nº2
Re: [Resolvido]Somar as horas por mês
Primeiro descobrimos o total de horas
Depois somamos o total de minutos e pegamos a parte inteira da divisão por 60, assim sabendo o total de horas que os minutos acrescentam
Juntamos os dois
Depois descobrimos o que resta de minutos após a divisão da somatória por 60
Por fim, montamos tudo e preparamos a apresentação do campo
- Código:
Soma(Format([abr];"hh"))
Depois somamos o total de minutos e pegamos a parte inteira da divisão por 60, assim sabendo o total de horas que os minutos acrescentam
- Código:
Soma(Format([abr];"nn"))\60)
Juntamos os dois
- Código:
Soma(Format([abr];"hh"))+(Soma(Format([abr];"nn"))\60)
Depois descobrimos o que resta de minutos após a divisão da somatória por 60
- Código:
Soma(Format([abr];"nn")) Mod 60
Por fim, montamos tudo e preparamos a apresentação do campo
- Código:
=(Soma(Format([abr];"hh"))+(Soma(Format([abr];"nn"))\60)) & ":" & (Soma(Format([abr];"nn")) Mod 60)
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº3
Re: [Resolvido]Somar as horas por mês
.................................................................................
*** Só sei que nada sei ***
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 21/11/2016
- Mensagem nº4
Re: [Resolvido]Somar as horas por mês
Isso. Com o Nz. Onde referenciar o mês, coloque Nz([abr];0)
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº5
Re: [Resolvido]Somar as horas por mês
.................................................................................
*** Só sei que nada sei ***
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 21/11/2016
- Mensagem nº6
Re: [Resolvido]Somar as horas por mês
Em um módulo crie essa função
E na fonte do controle agora use
- Código:
Public Function fncSomaHoras(ByVal strCampo As String) As String
Dim objRs As DAO.Recordset
Dim dblTotal As Double
Set objRs = CurrentDb.OpenRecordset("select " & strCampo & " from MapaAnual;")
If objRs.RecordCount > 0 Then
Call objRs.MoveFirst
Do
dblTotal = dblTotal + Nz(objRs(strCampo).Value, 0)
Call objRs.MoveNext
Loop Until objRs.EOF
End If
Call objRs.Close: Set objRs = Nothing
If dblTotal = 0 Then
fncSomaHoras = ""
Else
fncSomaHoras = Format(((Int(dblTotal) * 24) + Format(CDate(dblTotal - Int(dblTotal)), "h")), "00") & _
":" & _
Format(CDate(dblTotal - Int(dblTotal)), "nn")
End If
End Function
E na fonte do controle agora use
- Código:
=fncSomaHoras("jan")
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº7
Re: [Resolvido]Somar as horas por mês
Obrigado Damasceno
Perfeito
Perfeito
.................................................................................
*** Só sei que nada sei ***
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 21/11/2016
- Mensagem nº8
Re: [Resolvido]Somar as horas por mês
O fórum agradece o retorno. Sucesso.
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº9
Re: [Resolvido]Somar as horas por mês
Damasceno
Deixou de funcionar os totais
Obrigado e desculpa
Deixou de funcionar os totais
Obrigado e desculpa
.................................................................................
*** Só sei que nada sei ***
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 21/11/2016
- Mensagem nº10
Re: [Resolvido]Somar as horas por mês
Mais dados a serem trabalhados, mais situações a serem tratadas. Teste.
- Código:
...
Do
If Nz(objRs(strCampo).Value) <> "" Then
If Split(Nz(objRs(strCampo).Value, 0), ":")(0) >= 24 Then
dblTotal = dblTotal + _
(Split(objRs(strCampo).Value, ":")(0) \ 24) + _
CDate((Split(objRs(strCampo).Value, ":")(0) Mod 24) & Mid(objRs(strCampo).Value, InStr(objRs(strCampo).Value, ":")))
Else
dblTotal = dblTotal + CDate(objRs(strCampo).Value)
End If
Else
dblTotal = dblTotal + CDate(IIf(Nz(objRs(strCampo).Value, "") = "", 0, Nz(objRs(strCampo).Value, 0)))
End If
Call objRs.MoveNext
Loop Until objRs.EOF
...
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
Assis- Maximo VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4772
Registrado : 06/11/2009
- Mensagem nº11
Re: [Resolvido]Somar as horas por mês
Obrigado Damasceno
Bom fim de Semana
Bom fim de Semana
.................................................................................
*** Só sei que nada sei ***
DamascenoJr.- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3845
Registrado : 21/11/2016
- Mensagem nº12
Re: [Resolvido]Somar as horas por mês
O mesmo.
.................................................................................
Ajude-se a ser ajudado, anexe seu projeto.
Sempre tente entender o código, não somente copie e cole.
Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.