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

    Navegação nos registros entre dois tempos

    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Navegação nos registros entre dois tempos

    Mensagem  Henri em 31/3/2019, 22:47

    Olá pessoal!

    Primeiramente agradecer a todos pela ajuda em outras solicitações.
    Gostaria de saber se teria como limitar a navegação entre botões nos registros em um formulário entre dois tempos ?

    Exemplo:

    Somente navegar pelos registro turno de trabalho (06:30 - 18:30) na hora atual entre 6:30 e 18:29 do dia atual e turno de trabalho (18:30 - 06:30) na hora atual entre 18:30 e 06:29 do dia atual.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 1/4/2019, 23:09

    Boa noite,

    Se a estrutura de sua tabela existir um campo que grava a hora de criação do mesmo, acho q vc nao tera muitos problemas.

    ai com isso na abertura do formulario pode ser colocado uma condição para ler apenas os registros feitos nos horarios que vc deseja.

    então a pergunta é... vc tem esse campo criado e funcionando?
    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 2/4/2019, 01:13

    Olá Ronaldo!

    Tenho sim, tenho os registros de data, hora e turno.

    O que estou tentando descobrir e finalizar é limitar o acesso aos registros do usuário da hora atual entre os limites de 06:30 à 18:29 e 18:30 à 06:29.
    Pra ele conseguir navegar somente dentro desses limites.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 2/4/2019, 17:05

    Boa tarde,
    Você pode mandar o bd para analise por favor. com isso fica mais fácil chegar na solução.

    grato
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4304
    Registrado : 20/04/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Silvio em 2/4/2019, 17:37

    Desculpe a " ingorância..." mas não tem algo errado no determinar de horas ?  
    Do jeito que está ...me parece ser 24 horas de bloqueio.

    O que estou tentando descobrir e finalizar é limitar o acesso aos registros do usuário da hora atual entre os limites de 06:30 à 18:29 e 18:30 à 06:29.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 2/4/2019, 18:36

    boa tarde silvio,
    pelo q entendi parece que o amigo precisa filtrar os registros entre 2 turnos, tipo o pessoal que trabalha no periodo diurno e noturno possam ver apenas seus respectivos registros de turnos.
    Silvio
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4304
    Registrado : 20/04/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Silvio em 2/4/2019, 18:50

    Para mim, faltou um pouco mais de clareza ...

    Ele precisa então é limitar o acesso de usuários por turno de trabalho.

    Se no cadastro dele, o usuário for cadastrado por turnos ( 1º ou 2º turnos ) fica até um pouco simples.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 2/4/2019, 19:00

    sim Sivio, concordo que as vezes falta clareza, mas conversando a gente chega la. rs
    Por isso eu pedi para ver o bd, mas deu a entender que ele tem esse campo de turnos. ai ficaria fácil a manipulação,
    pois se lidar direto com horas sera um pouco mais complicado. ai se tiver o campo turno ficara fácil de fazer os gatilho
    para ele ser preenchido automaticamente de acordo com a hora de criação do registro ao invés de deixar essa tarefa para o usuário preencher.

    ai com isso só filtrar depois com um simples where turno = 1 ou 2 por exemplo.
    Mas mesmo assim acho q para ter um controle eficiente ainda depende de uma variável global ou deixar em alguma tabela de variáveis de sistema, por exemplo o turno atual, se não o sistema não ira saber qual turno filtrar.





    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 2/4/2019, 19:10

    Olá Silvio!

    Exatamente como o Ronaldo entendeu, estou desenvolvendo um BD para registro de ocorrências em linha de produção.

    Temos 2 turnos de trabalho, das 06:30 as 18:30 e 18:30 as 06:30, já estou com o BD praticamente finalizado, faltando alguns ajustes e design.

    Tenho uma unica tabela de registro geral que armazena todos os registros necessário para gerar as consultas e relatórios, tenho um formulário geral para o registro das ocorrências, o que preciso é limitar a navegação pelos registros dentre os limites de inicio e termino da jornada de trabalho (turno de 12 horas).

    Possibilitando assim ao técnico do turno atual, do dia atual e que esteja entre os limites preestabelecidos de tempo consiga realizar possíveis alterações nos registros já salvo.

    A minha dificuldade é não ser familiarizado com as instruções nos códigos em VBA, essa lógica em outras plataformas de programação conseguiria desenvolver sem problema.

    Lógica:

    Técnico do turno "06:30 ás 18:30" do dia e hora atual estando entre o limite de tempo das 06:30 e 18:30 possibilita a navegação entre os botões registro anterior ou registro posterior do formulário de registro geral.

    A ideia basicamente seria essa, mas não consigo desenvolver a programação.
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3806
    Registrado : 06/11/2009

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Assis em 2/4/2019, 19:33

    Boa tarde

    Os botões de navegação são como os da imagem que anexo do próprio formulário ?

    Se sim não sei como os controlar.

    Navegação nos registros entre dois tempos Sem_tz92


    .................................................................................
    *** Só sei que nada sei ***
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 2/4/2019, 20:36

    Boa tarde,
    Já que o amigo Henri não enviou o BD eu criei um protótipo.
    Segue o funcionamento.

    1 - crie um modulo a parte com o seguinte código:
    Código:
    Function getTurnoAtual() As Integer
     getTurnoAtual = IIf(Time() >= "06:30" And Time() < "18:30", 1, 2)
    End Function

    2 - no evento "ao carregar" do formulário adapte o código a seguir com sua necessidade:
    Código:
    Private Sub Form_Load()
    Me.RecordSource = "Select * From Tabela1 Where turno = " & getTurnoAtual
    End Sub

    3 - Nas propriedades do campo turno coloque como valor padrão o seguinte código:
    Código:
    =getTurnoAtual()

    4 - Opcional - Deixe os campos turnos e hora de registro como não habilitado para edição, afinal serão campos automáticos,
    você não ira querer que seja feito alterações indevidas.

    5 - Opcional - Deixe o campos hora e turno ocultos para o usuário.

    observação: se escolher a dica 5 você não irá precisar seguir a dica 4.

    Com apenas esses dicas acho irá atender suas necessidades Henri,
    Boa sorte e se precisar de ajuda só chamar.
    Em anexo esta o BD para você ver o exemplo funcionando.
    Anexos
    Navegação nos registros entre dois tempos AttachmentControleDeTurno.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 4 vez(es)
    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 2/4/2019, 21:33

    Olá Assis!

    Não optei pela barra de navegação justamente por perceber que teria muita dificuldade em mexer nesses códigos interno, coloquei 2 botões "registro anterior" e "registro posterior" mas sabendo que teria que excluir a Macro e colocar os comandos via código.

    Ronaldo irmão, não disponibilizei o BD pq estou em atendimento em outra unidade, assim que tiver um tempo pra analisar seus códigos e testar retorno o resultado.

    Agradeço imensamente a todos pela ajuda!

    Sem sombra de dúvidas o melhor fórum que já participei.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 2/4/2019, 22:05

    Boa tarde Henri,
    Tudo bem não ter enviado o BD, mas com esses códigos que mandei você não precisa
    ocultar a barra de registros, nele ira constar corretamente o número de registros que fazem parte dos
    critérios de intervalos estabelecidos.

    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 3/4/2019, 11:58

    Olá Ronaldo!

    Só tenho agradecer irmão, ficou muito bom!

    Agora pra ficar perfeito preciso limitar o acesso a somente os registros da data atual, tendo que e inserir mais um turno (ADM - 07:00 as 16:45) como ficaria?

    No form de registro geral já seleciono o técnico de acordo ao login de acesso, pego os dados de matricula, nome, função, setor e turno.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 3/4/2019, 15:41

    bom dia,
    fiquei com dúvida nessa parte.
    tendo que e inserir mais um turno (ADM - 07:00 as 16:45) como ficaria?

    1 - vc ja controla os tipos de logins? exemplo: ADM, Geral, Financeiro, etc...

    2 - para adm so existe esse turno?

    3 - se so existir eses turno para ADM ele ja esta dentro da faixa do primeiro turno(06:30 as 18:30) pq vc iria querer colocar essa regra?

    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 3/4/2019, 17:08

    Olá Ronaldo!

    Verdade, desnecessário verificar o turno ADM, conseguir filtrar os registros por data através de critério na consulta.

    Agradeço imensamente pela grande ajuda, que o senhor continue abençoando todos vocês.

    Disponibilizo o BD exemplo do Ronaldo com a condição de filtro em critério por data na consulta.
    Anexos
    Navegação nos registros entre dois tempos AttachmentControleDeTurno.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (47 Kb) Baixado 3 vez(es)
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 3/4/2019, 17:30

    O fórum agradece o retorno

    mas antes deixa eu perguntar se vc fez um tratamento para as datas correto. rs

    Imagina o seguinte cenário:
    caso vc use um filtro simples para puxar apenas a data de hoje pode acontecer isso
    no caso do 2º turno

    se for entre 18:30 e 23:59 vc nao tera problemas,
    mas quando passar da meia noite o 2º turno nao ira enxergar os registros antes da meia noite, afinal antes da meia
    noite sera considerado como ontem.

    vc fez esse tratamento?
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 3/4/2019, 18:15

    boa tarde,
    Caso você não tenha feito essa verificação que eu descrevi na mensagem anterior
    segue em anexo novo BD com as modificações da função para atender essa necessidade.

    modificações:
    Código:
    'no evento ao carregar do form chamar a nova função dessa forma
    Private Sub Form_Load()
    Dim strSQL As String
     strSQL = "Select * From Tabela1 Where " & getWhereParaFiltrarDataAndTurno()
     Me.RecordSource = strSQL
    End Sub

    no modulo devera conter essas duas funções:
    Código:
    Function getTurnoAtual() As Integer
     getTurnoAtual = IIf(Time() >= "06:30" And Time() < "18:30", 1, 2)
    End Function

    'retorna parte da condição where que sera usada para filtrar a data na abertura dos forms
    Function getWhereParaFiltrarDataAndTurno() As String
    Dim strPartyWhere As String

    'se a hora do 2 turno passar de meia noite, significa q sera o dia seguinte, entao o filtro
        'devera trazer a data de hoje e ontem
    If getTurnoAtual = 2 And Time() < "06:30" Then
        strPartyWhere = "(CDate(Format([horaRegistro],'dd/mm/yyyy')) " & _
                        "between Cdate('" & DateAdd("d", -1, Date) & "') and Cdate('" & Date & "')) and turno = 2"
    Else
        strPartyWhere = " (CDate(Format([horaRegistro],'dd/mm/yyyy')) = CDate('" & Date & "')) and turno = " & getTurnoAtual
    End If

    getWhereParaFiltrarData = strPartyWhere
    End Function


    abraços cheers
    Anexos
    Navegação nos registros entre dois tempos AttachmentControleDeTurno.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (60 Kb) Baixado 4 vez(es)
    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 3/4/2019, 21:14

    Grande Ronaldo!

    Não tive tempo para testar todas as possibilidades de controle, estou na correria do trabalho.
    Também nesse momento estou empenhado em conseguir fazer à aplicação rodar nas máquinas em uma rede corporativa via Runtime.

    Assim que chegar em casa vou analisar seu projeto, trabalho em outra Cidade.

    Muito obrigado pela grande ajuda!
    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 4/4/2019, 13:14

    Bom dia Ronaldo!

    Iniciando analise no seu código para adequar ao meu projeto me deparei com um problema, colocando o código do turno ADM igual ao das (6:30 as 18:30) não terei como individualizar a consulta para gerar somente os registros por turno ADM e consequentemente gerar os relatórios.

    Estou tentando criar uma forma de individualizar os turnos em (06:30 as 18:30), (ADM - 07:00 as 16:45) e (18:30 as 06:30) mas não estou conseguindo.

    acho que a ideia seria colocar códigos dos turnos em:

    1 - (06:30 as 18:30)
    2 - (07:00 as 16:45)
    3 - (18:30 as 06:30)

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 8/4/2019, 20:17

    boa tarde,
    Se no seu BD vc ter tratamento de login vc nao tera grandes dificuldades para fazer essa modificação.
    então a pergunta é:
    vc faz tratamento de logins?
    avatar
    Henri
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/02/2019

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  Henri em 9/4/2019, 00:28

    Olá Ronaldo!

    Tenho sim o controle por login, conseguir adaptar sua programação ao meu projeto, ficou funcional mas ainda preciso fazer uns ajustes.
    Precisaria limitar a navegação nos registro somente aos registros feito pelo técnico que está logado, mas ainda não conseguir, fazendo testes.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 01/08/2011

    Navegação nos registros entre dois tempos Empty Re: Navegação nos registros entre dois tempos

    Mensagem  ronaldojr1 em 9/4/2019, 15:19

    entendo,
    fechou então, se precisar de ajuda com as consulta sql da vida so avisar.
    boa sorte

      Data/hora atual: 24/4/2019, 07:33