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

    BD com problemas

    Compartilhe
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 20/07/2010

    BD com problemas

    Mensagem  OLDRIVG em 18/12/2018, 11:22

    Prezados do Fórum, bom dia. Novamente me recorro aos senhores.

    Em anexo está um sistema que estava funcionando normalmente, e já se encontra em fase final de construção. Entretanto, não sei informar o que ocorreu, o mesmo está com um entrave. Depois de ficar dois dias tentando descobrir o que está ocorrendo não tive sucesso. Assim, tomo a liberdade de postar o BD no Fórum e solicitar ajuda aos usuários.

    O que ocorre é o seguinte:

    no sistema existe um controle guia com duas páginas, "Cadastro de Documentos" e "Movimentação". Na página "Cadastro de Documentos" tem o campo "Assunto/Resumo" que ao ter dados inseridos e ao apertar a tecla TAB para sair do campo era exibida duas MsgBox VbYesNo, que o usuário optando por OK torna-se visível a página "Movimentações". Porém, agora ao apertar a tecla TAB não há mais a exibição da MsgBox e nem o foco sai do campo e o cursor fica no campo. Para o foco sair e a MsgBox se exibida para que o usuário possa ter acesso a página "Movimentações" é necessário clicar em outro campo qualquer ou usar a combinação das teclas Shift+Tab.

    Além do problema relatado, ao fechar o formulário surge uma Msg de Erro em tempo de execução "2046", do Visual Basic, que não impede o fechamento mas dá o trabalho de ter que clicar na Msg.

    Ainda não resolvido o erro narrado, o mesmo está acontecendo com os campos "DataRecebimento1, 2, 3 e 4). Após algumas tenttivas, descobri que desativando a linha de código Me.MotivoRetMovimentacao4.Visible = True, do evento No Atual o erro no campo "DataRecebimento" não ocorre.

    Seria necessário reescrever todos os códigos?

    Se alguém tiver um tempo para dar uma analisada e descobrir uma solução, fico muito agradecido.

    Em anexo o sistema em questão.
    Anexos
    PROTOCOLO - PRO 4.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (251 Kb) Baixado 11 vez(es)


    Última edição por OLDRIVG em 26/12/2018, 10:15, editado 1 vez(es) (Razão : Surgimento de novos erros.)
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 82
    Registrado : 06/06/2013

    Re: BD com problemas

    Mensagem  hiperjohn em 27/12/2018, 19:09

    O que acontece é que controles não visíveis ou controles não ativados NÃO podem receber o foco.
    Então, crie um controle chamado foco (pode ser um botão ou uma caixa de texto) com largura e altura de 0 cm e a propriedade Visível igual a Sim. Ele ficará oculto ao olho humano, mas "visível" para o sistema.
    No evento Após Atualizar do controle AssuntoDescricao, você coloca:
    Código:
    Me.foco.SetFocus
    Para os demais controles que estão com a propriedade Visível setada para "Não", você deve fazer:
    Código:
    Me.NomeDoControle.Visible = True
    Me.NomeDoControle.SetFocus
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 20/07/2010

    Re: BD com problemas

    Mensagem  OLDRIVG em 28/12/2018, 09:13

    Bom dia, Hiperjohn.

    Agradeço a atenção.

    Desculpe a falta do saber, mas em qual evento dos controles não visíveis eu colocaria os códigos Me.NomeDoControle.Visible = True e Me.NomeDoControle.SetFocus sugeridos por você?

    O formulário possui controle guia com 2 páginas, assim sendo teria que criar o controle "foco" nas duas páginas, correto?

    Agradecido





    PS
    "É uma pena o site ser encerrado."
    hiperjohn
    hiperjohn
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 82
    Registrado : 06/06/2013

    Re: BD com problemas

    Mensagem  hiperjohn em 28/12/2018, 20:01

    O NomeDoControle é apenas um exemplo. Você deve trocar pelo nome do controle no seu formulário para o qual você deseja enviar o cursor.
    Por exemplo, para usar o comando Me.Arquivar1.SetFocus, o controle Arquivar1 tem que estar ativo e visível. Se ele não estiver ativo e/ou não estiver visível, aí você precisaria fazer:
    Código:
    Me.Arquivar1.Enabled = True 'Isso vai ativar o controle
    Me.Arquivar1.Visible = True 'Isso torna o controle visível
    Me.Arquivar1.SetFocus 'Isso envia o cursor ou o foco para este controle
    Se você criar um botão ou caixa de texto chamado "foco", você só faz isso uma vez no mesmo formulário. Independente do número de páginas no seu controle guia, esse controle é um só.
    Anexos
    (mexido) PROTOCOLO - PRO 4.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (277 Kb) Baixado 3 vez(es)

      Data/hora atual: 26/3/2019, 15:06