MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Formato de Horas Negativas

    Compartilhe

    BITSILVA
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 30/08/2010

    [Resolvido]Formato de Horas Negativas

    Mensagem  BITSILVA em Qua 08 Jun 2016, 20:27

    Amigos do fórum,
    Peguei a seguinte função que faz o cálculo entre intervalos de horas (Saída-Entrada) trazendo horas negativas.

    Public Function CalculaHoras(Carga As Date, Total As Date) As String
       Dim intHoras As Integer
       Dim intMinutos As Integer
       intMinutos = DateDiff("n", Total, Carga)
       intHoras = intMinutos \ 60
       intMinutos = intMinutos Mod 60
       CalculaHoras = CStr(intHoras) & "Horas" & CStr(intMinutos) & "minutos"
    End Function

    Ele me traz o formato de horas negativos da seguinte maneira: " - 1 Horas - 30 minutos"

    Na consulta adiconei um campo da seguinte forma:

    Saldo Horas: Format(CalculaHoras([Total];[Carga]);'Hora abreviada')

    Mesmo assim não deu certo! Quero a formatação de horas apareça da seguinte maneira: "-01:30" para horas negativas, pois para horas positivas aparece normalmente.

    Grato pela atenção de todos.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3154
    Registrado : 14/08/2013

    Re: [Resolvido]Formato de Horas Negativas

    Mensagem  FabioPaes em Qua 08 Jun 2016, 20:50

    Provavelmente a chamada da função esta com os campos invertidos, ou ate mesmo na Função...

    Ex:
    HEntrada= 08:00h
    HSaida: 10:00h


    Se vc calcular assim: HEntrada - Hsaida = -02:00h

    Agora se vc Fizer assim: HSaida - HEntrada = 02:00h


    Então Inverta os campos...

    =CalculaHoras([HSaida];[HEntrada])
    <=='Essa é a forma correta de chamar sua Função!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    BITSILVA
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 30/08/2010

    Re: Formato de Horas Negativas

    Mensagem  BITSILVA em Qui 09 Jun 2016, 16:52

    Olá Fábio,
    Agradeço pela atenção!

    Mas acontece que a Função traz o seguinte resultados para horas negativas:

    - 1 horas -30 minutos.

    Quero saber onde posso mudar para que me traga o seguinte formato:

    - 01:30

    Como resolver isso?

    A sua sugestão foi de grande valia mesmo assim não me trouxe o formato pretendido.
    Anexos
    PontoDigital.accdb.zip
    Arquivo de Exemplo Horas negativas.....quero formato
    Você não tem permissão para fazer download dos arquivos anexados.
    (35 Kb) Baixado 6 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3154
    Registrado : 14/08/2013

    Re: [Resolvido]Formato de Horas Negativas

    Mensagem  FabioPaes em Qui 09 Jun 2016, 17:21

    Bom se quer apenas remover o - dos Minutos mude esta linha:


    CalculaHoras = CStr(intHoras) & ":" & Replace(CStr(intMinutos), "-", "")

    Assim utilizamos o Replace, para remover o sinal de - dos Minutos.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    BITSILVA
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 30/08/2010

    Re: Formato de Horas Negativas

    Mensagem  BITSILVA em Qui 09 Jun 2016, 19:19

    Olá Fábio,

    Estamos quase lá....ao inserir a função:

    Public Function CalculaHoras(Carga As Date, Total As Date) As String
    Dim intHoras As Integer
    Dim intMinutos As Integer
    intMinutos = DateDiff("n", Carga, Total)
    intHoras = intMinutos \ 60
    intMinutos = intMinutos Mod 60
    CalculaHoras = CStr(intHoras) & ":" & Replace(CStr(intMinutos), "-", "")
    End Function

    Tentei inserir mais uma coluna na consulta com a seguinte expressão: Saldo: format(datediff('nn';Carga;Concluido);'hh:mm')

    Aparece os valores somente positivos no formato 01:30 e não aparece valores negativos conforme gostaria "-01:30".
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3154
    Registrado : 14/08/2013

    Re: [Resolvido]Formato de Horas Negativas

    Mensagem  FabioPaes em Qui 09 Jun 2016, 20:16

    Meu amigo, a mudança que fizemos foi na Função CalculaHoras() da forma como esta fazendo não esta usando a função!!!...
    Saldo: format(datediff('nn';Carga;Concluido);'hh:mm')


    Se vai ter uma função, use-a pra calcular a diferença!

    Assim: Saldo: CalculaHoras(Carga;Concluido)


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Formato de Horas Negativas

    Mensagem  Avelino Sampaio em Qui 09 Jun 2016, 20:23

    Olá!

    Veja se atende:

    [Você precisa estar registrado e conectado para ver este link.]

    Aguardamos

      Data/hora atual: Ter 27 Jun 2017, 18:13