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]Exemplo de Somar Horas

    avatar
    ajcdobr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 15/07/2012

    [Resolvido]Exemplo de Somar Horas Empty [Resolvido]Exemplo de Somar Horas

    Mensagem  ajcdobr 29/7/2012, 17:58

    Caros Amigos,

    Bom Dia !!!!.

    Pesquisando na Net, modelos de como somar horas no Access, encontrei este modelo, de uma pessoa de nome Osmar Bonfim, na pagina "mundoaccessvba", ao qual ate tentei contato com o mesmo porem sem resultados.



    Somar Horas no Access pelo VBA
    Uma das coisas que mais me perguntam é como somar horas em um formulário no Access, como sabem se você simplemente pedir para somar um campo a outro ele trará um resultado incorreto, mas neste exemplo abaixo a idéia é converte as horas em numeros, soma-las e o resultado voltar a converte-los em horas.

    Segue abaixo duas funções, uma para converter horas em numeros e a outra para converter numero em horas.


    Clique aqui e baixe um exemplo


    _________________________________________________
    Public Function HrStr(dblHora As Double) As String
    'Pega um valor numérico e o converte para Horas/Minutos
    'Ex: 123,5 = "123:30"
    'Ex: 23,9833333333333 = "23:59"

    Dim strHoras As String
    Dim strMinutos As String

    'Pega as horas (parte inteira)
    strHoras = CStr(Fix(dblHora))

    'Pega os minutos
    strMinutos = Format$(Abs((dblHora - Fix(dblHora)) * 60), "00")

    'Verifica se o total de minutos é 60
    If strMinutos = "60" Then
    strMinutos = "00"
    strHoras = CStr(CDbl(strHoras) + 1)
    End If

    'Concatena os dois
    HrStr = strHoras & ":" & strMinutos

    End Function

    'Esta outra função faz o contrário: pega um string no formato de horas e converte para número:

    Public Function HrDbl(stHora As String) As Double
    'Converte um string de hora (formato (h)hh:mm) para Double
    'Ex: "135:30" = 135,5
    'Ex: "23:59" = 23,9833333333333
    Dim dblHoras As Double
    Dim intMinutos As Integer
    Dim blnDoisPontos As Boolean, blnNum As Boolean
    Dim strNum As String

    'Verifica se o sinal de dois pontos ':' está na terceira casa
    'da direita para esquerda
    If Asc(Left(Right(stHora, 3), 1)) = 58 Then
    blnDoisPontos = True
    Else
    blnDoisPontos = False
    End If

    'Verifica se o resto dos dígitos são numéricos
    strNum = Left(stHora, Len(stHora) - 3) & Right(stHora, 2)
    If IsNumeric(strNum) = True Then
    blnNum = True
    Else
    blnNum = False
    End If

    'Sai do procedimento se o formato estiver incorreto
    If (blnDoisPontos = False) Or (blnNum = False) Then
    MsgBox "Informe a hora no formato hh:mm", vbCritical + vbOKOnly
    Exit Function
    End If

    'Pega os minutos
    If CDbl(strNum) < 0 Then

    intMinutos = CInt(Right(strNum, 2)) * (-1) Else intMinutos = CInt(Right(strNum, 2))

    End If

    'Pega as horas

    dblHoras = Fix(CDbl(Left(strNum, Len(strNum) - 2)))

    'Calcula a hora

    HrDbl = dblHoras + (intMinutos / 60)

    End Function


    A pergunta que faço e a seguinte, como eu faço para usar tal exemplo? onde devo inserir tais comandos?, sou um tanto leigo no assunto, mas tenho necessidade de somar horas em um relatorio.

    Sds,

    Antonio.
    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]Exemplo de Somar Horas Empty Re: [Resolvido]Exemplo de Somar Horas

    Mensagem  Avelino Sampaio 29/7/2012, 18:24

    Olá Antonio

    Seja benvindo!

    Veja neste meu artigo:

    usandoaccess.com.br/tutoriais/tuto49.asp?id=1#inicio]http://www.usandoaccess.com.br/tutoriais/tuto49.asp?id=1#inicio

    Bom estudo!

      Data/hora atual: 7/11/2024, 20:49