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]Calculo horas com duas condições

    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 06/09/2011

    [Resolvido]Calculo horas com duas condições Empty [Resolvido]Calculo horas com duas condições

    Mensagem  wmantovani 28/6/2022, 15:11

    Bom dia pessoal,

    tenho uma bd que lançamento de horas extas, que que ao clicar num botao roda o VBA abaixo:


    If Me.Tipo_Lançamento.Value = "PAGAMENTO" Then
    Me.Total_Horas = (Me.SaidaManha - Me.EntradaManha) + (Me.SaidaTarde - Me.EntradaTarde)
    Me.log.Value = Now & " - " & [Forms]![logado]![usuário]
    Total_Horas.SetFocus
    Me.JUSTIFICATIVA.SetFocus
    End If
    DoCmd.GoToRecord , "", acNewRec

    o que eu queria, ja querei a cabeça aqui, que quanto os campos (Me.SaidaManha, Me.EntradaManha, Me.SaidaTarde e Me.EntradaTarde) detectassem se entao dentro dos horários das 22:00 às 05:00 fizessem o calculo da diferença e inserissem em um novo registro como adicional noturno. Por exemplo:

    Dia : 27/06/2022 - Entrada de Manha às 04:00, saída de manha às 06:00, inserir em um novo registro que:
    houve entrada de manha às 04:00 e saída as 05:00, como adicional noturno

    Dia : 26/06/2022 - Entrada a tarde às 09:00, saída da tarde às 23:00, inserir em um novo registro que:
    houve entrada de manha às 10:00 e saída as 23:00, como adicional noturno

    espero que de para entender minha duvida

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8207
    Registrado : 05/11/2009

    [Resolvido]Calculo horas com duas condições Empty Re: [Resolvido]Calculo horas com duas condições

    Mensagem  Alexandre Neves 28/6/2022, 21:46

    Boa noite
    Dê continuidade aos seus temas, pois verifico que tem vários temas seus em aberto há bastante tempo
    Sobre esta dúvida:
    1- Se bem entendi, em caso de sobreposição de horário noturno, ficará com 2 registos e com horas sobrepostas
    4:00-6:00 ficará (1) 4:00-6:00 (2) 4:00-5:00. É isso?
    2- Não entendi o porquê de, no 2ºexemplo, o registo ser das 10 às 23 e não das 22 às 23
    3- Para acrescentar o registo tem de indicar nomes de todos os campos a inserir e com que valores


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 06/09/2011

    [Resolvido]Calculo horas com duas condições Empty Re: [Resolvido]Calculo horas com duas condições

    Mensagem  wmantovani 29/6/2022, 12:29

    Alexandre Neves, primeiramente desculpa por nao dar como resolvido os tópicos em aberto, ja os dei retorno em todos, irei me policiar quanto a isso, quanto a minha duvida estou postando a imagem do form e uma breve explicação do que necessito


    [Resolvido]Calculo horas com duas condições Duvida12

    Os campos são do formulário são:
    Entrada Manhã = Me.EntradaManha
    Saída Manha = Me.SaidaManha =
    Entrada Tarde Me.SaidaTarde =
    Saída Tarde = Me.EntradaTarde =

    O que estou querendo fazer é sempre que o período da manhã contiver um valor entre às 00:00 e 04:59, e a noite das 22:00 às 23:59 o após eu atualizar o campo JUSTIFICATIVA banco calculasse automaticamente essa diferença e jogasse em um novo registro para evitar lançamento errado, como já aconteceu, pois são várias pessoas que mexem nisso, e la na frente afeta o pagamento dos funcionários.

    Deixei em vermelho como preciso que seja preenchido automaticamente,

    Espero ter deixado minha dúvida melhor explicada
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8207
    Registrado : 05/11/2009

    [Resolvido]Calculo horas com duas condições Empty Re: [Resolvido]Calculo horas com duas condições

    Mensagem  Alexandre Neves 29/6/2022, 22:35

    Boa noite
    Vejo outros campos no formulário, mas usando apenas os que indicou:
    Colocar no acontecimento BeforeInsert do form
    Código:
    Dim strCampos As String, strValores As String
    If EntradaManha < #5:00:00 AM# Then
        strCampos = "EntradaManha,SaidaManha"
        If SaidaManha < #5:00:00 AM# Then
            strValores = "#" & EntradaManha & "#,#" & SaidaManha & "#,"
        Else
            strValores = "#" & EntradaManha & "#,#05:00#,"
        End If
    End If
    If SaidaTarde > #10:00:00 PM# Then
        If strCampos = "" Then
            strCampos = "EntradaTarde,SaidaTarde"
        Else
            strCampos = strCampos & ",EntradaTarde,SaidaTarde"
            strValores = strValores & ","
        End If
        If EntradaTarde > #10:00:00 PM# Then
            strValores = strValores & "#" & EntradaTarde & "#,#" & SaidaTarde & "#,"
        Else
            strValores = strValores & "#22:00#,#" & SaidaTarde & "#,"
        End If
    End If
    If strCampos <> "" Then
        CurrentDb.Execute "INSERT INTO Tabela (" & strCampos & ") VALUES (" & strValores & ")"
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 06/09/2011

    [Resolvido]Calculo horas com duas condições Empty Re: [Resolvido]Calculo horas com duas condições

    Mensagem  wmantovani 30/6/2022, 12:57

    Grande Alexandre Neves, primeiramente obrigado,

    Tentei mexer aqui conforme o código que voce postou porem quebrei a cabeça e nao consegui, estou postanto o bd para voce dar uma olhada por favor e se puder ajudar fico imensamente agradecido, limpei ao máximo, inicie ele como o shift apertado,

    o formulário que uso para o lançamento chama : formHorasExtras, e a tabela tblExtras,

    ele vai dar erro de rodape que removi para deixar mais leve possivel

    muito obrigado
    Anexos
    [Resolvido]Calculo horas com duas condições AttachmentEDICAO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.7 Mb) Baixado 4 vez(es)
    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 06/09/2011

    [Resolvido]Calculo horas com duas condições Empty Re: [Resolvido]Calculo horas com duas condições

    Mensagem  wmantovani 5/7/2022, 13:50

    Pessoal consegui em partes o codigo abaixo esta funcionando, porem so faltou uma coisa que nao consegui para finalizar, que quando os campos nao tiverem que nao tiverem valor sejam preenchidos com o valo "00:00" porem tentei e nao consegui.

    If EntradaManha < #5:00:00 AM# Then
    strCampos = "EntradaManha" & "," & "SaidaManha"
    If SaidaManha < #5:00:00 AM# Then
    strValores = EntradaManha & "','" & SaidaManha
    Else
    strValores = EntradaManha & "','" & "05:00"
    End If
    End If


    If SaidaTarde > #10:00:00 PM# Then
    If strCampos = "" Then
    strCampos = "EntradaTarde" & "," & "SaidaTarde"
    Else
    strCampos = strCampos & "," & "EntradaTarde" & "," & "SaidaTarde"
    strValores = strValores
    End If
    If EntradaTarde > #10:00:00 PM# Then
    strValores = strValores & "," & EntradaTarde & "," & SaidaTarde & ","
    Else
    strValores = strValores & "," & "','" & "22:00" & "','" & SaidaTarde
    End If
    End If


    If strCampos <> "" Then

    CurrentDb.Execute "INSERT INTO tblextra (" & strCampos & ") VALUES ('" & strValores & "')"

    avatar
    wmantovani
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 06/09/2011

    [Resolvido]Calculo horas com duas condições Empty Re: [Resolvido]Calculo horas com duas condições

    Mensagem  wmantovani 7/7/2022, 19:35

    Consegui resolver depois de quebrar a cabeça, rs

    Valeu...

      Data/hora atual: 1/10/2022, 16:14