MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Soma parcial hora

    avatar
    AntonildoCordeiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 29/02/2012

    [Resolvido]Soma parcial hora Empty Soma parcial hora

    Mensagem  AntonildoCordeiro 14/4/2012, 19:42

    oi galera!
    Pesquisei não achei igual como eu faço no access pare que esta soma fique igual a do excel veja o exemplo do execel:

    Total TOTALACUMULADA
    08:30 8:30:00
    02:15 10:45:00
    01:10 11:55:00
    05:20 17:15:00
    11:30 28:45:00
    09:10 37:55:00
    02:55 40:50:00
    05:50 46:40:00
    10:45 57:25:00
    05:49 63:14:00
    08:00 71:14:00
    15:20 86:34:00

    agora veja o exemplo no Access:

    Total TOTALACUMULADA
    08:30 8:30:00
    02:15 10:45:00
    01:10 11:55
    05:20 17:15
    11:30 4:45
    09:10 13:55
    02:55 16:50
    05:50 22:40
    10:45 9:25
    05:49 15:14
    08:00 23:14
    15:20 14:34

    observe que quanto a soma vai ser mais de 24hs não soma e fica outro valor estou usando relatorio e este campo possui uma soma parcial
    alguem me ajuda.

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Soma parcial hora Empty Re: [Resolvido]Soma parcial hora

    Mensagem  Avelino Sampaio 14/4/2012, 20:27

    Olá Antonildo

    Transforme as horas em números que vc irá resolver.

    Exemplo:

    cdbl(#8:30# + #22:40#) = 1,29861111111111

    A parte inteira representa os dias. Então temos 1 dia neste resultado. Para obtermos as horas multiplicamos por 24:

    Int(1,29861111111111) * 24 = 24 horas

    Temos agora a parte fracionária em que podemos extrair as horas. Novamente multiplicamos por 24:

    (0.29861111111111) * 24 horas = 7,16666666666664 A parte inteira representa a hora que é igual a 7 horas

    A parte fracionária representa os minutos:

    (0,16666666666664) * 60 = 10 minutos

    Daí podemos montar a Hora: (24 + 7) :10 = 31:10

    Baseado neste cálculo monte uma função que retorne o valor das Horas

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    AntonildoCordeiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 29/02/2012

    [Resolvido]Soma parcial hora Empty Re: [Resolvido]Soma parcial hora

    Mensagem  AntonildoCordeiro 14/4/2012, 21:18

    Grande Avelino ! Laughing cheers
    prazer lhe ver por aqui ja pesquisei existe um função que faz isso o problema é que eu estou querendo usar em um relatorio somando linha a linha como o exemplo do execel ou me explique mais como fazer nesta situação a função que lhe falei ela faz um soma total nao parcial como exemplo do access no aguardo.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Soma parcial hora Empty Re: [Resolvido]Soma parcial hora

    Mensagem  Avelino Sampaio 14/4/2012, 22:03

    Mostre a função e se possível forneça um BD exemplo com o relatório semelhante.

    Se assistir a minha vídeo-aula irá saber extamente o que fazer com esta sua função.

    Vídeo - Programação de relatórios - Parte 1

    No aguardo
    avatar
    AntonildoCordeiro
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 29/02/2012

    [Resolvido]Soma parcial hora Empty Re: [Resolvido]Soma parcial hora

    Mensagem  AntonildoCordeiro 16/4/2012, 19:48

    Grande Avelino !
    matou a xarada pra que quiser a resposta segui abaixo a solução um abraço a todos que tentaram e me ajudaram

    O modulo da funcao
    Public Function fncSomaHora(horaAcumulada As Variant, HoraAtual As Date) As Variant
    Dim ha, DIAS, hRestante, hSoma
    Dim hc2, hr2, hr3
    ha = Split(IIf(horaAcumulada = 0, "00:00", horaAcumulada), ":")
    DIAS = Int(ha(0) / 24)
    hRestante = Round((((ha(0) / 24) - DIAS) * 24))
    hRestante = CDate(hRestante & ":" & ha(1))
    hSoma = CDbl(hRestante + HoraAtual)
    hc2 = Int(hSoma) * 24
    hr2 = ((hSoma - Int(hSoma))) * 24
    hr3 = Round((hr2 - Int(hr2)) * 60)
    If hr3 = 60 Then: hr3 = 0: hr2 = hr2 + 1
    fncSomaHora = ((DIAS * 24) + hc2 + Int(hr2)) & ":" & Format(hr3, "00")
    End Function

    no relatorio
    Dim TotalHoraAcumulada As Variant

    Private Sub CabeçalhoDoGrupo0_Print(Cancel As Integer, PrintCount As Integer)
    TotalHoraAcumulada = 0
    End Sub

    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
    Me!horaAcumulada = fncSomaHora(TotalHoraAcumulada, Me!TOTALHORADIA)
    TotalHoraAcumulada = Me!horaAcumulada
    End Sub
    Private Sub RodapéDoGrupo1_Print(Cancel As Integer, PrintCount As Integer)
    Me!Ta = TotalHoraAcumulada

    End Sub
    muito obrigado ate aproxima

    Conteúdo patrocinado


    [Resolvido]Soma parcial hora Empty Re: [Resolvido]Soma parcial hora

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 09:00