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]Dificuldade com códigos em botões de comando

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]Dificuldade com códigos em botões de comando Empty [Resolvido]Dificuldade com códigos em botões de comando

    Mensagem  OLDRIVG em 30/11/2018, 13:44

    Prezados do Fórum, bom dia.

    Em fase final da criação de um "sisteminha" em Access, estou com a seguinte dificuldade:

    existe um formulário Frm_Menu_Principal o qual possui 4 botões de comando (Cadastrar Documento, Movimentar Documento, Consultar Documento e Gerenciar Usuário), que, quando clicados, deve-se fechar o formulário Frm_Menu_Principal e abrir o formulário correspondente como também a janela padrão do Access de "Localizar e Substituir".

    O que está ocorrendo é que quando está implementado o código DoCmd.Close e se clica nos botões "Movimentar Documento" e  "Consultar Documento" o formulário Frm_Menu_Principal fecha mas retorna o erro "A expressão que você inseriu refere-se a um objeto que foi fechado ou não existe" e não abre a janela padrão do Access de "Localizar e Substituir. Entretanto, se retirar o código DoCmd.Close, não acontece o erro, abre a janela padrão de "Localizar e Substituir" do Access, mas o formulário Frm_Menu_Principal não fecha.

    Quanto aos outros dois botões de comando (Cadastrar Documento e Gerenciar Usuário) funcionam normalmente quando clicado, ou seja, fechando o formulário Frm_Menu_Principal e abrindo os correspondentes a cada botão.
    Esclareço que, exceto o botão de comando "Gerenciar Usuário", os demais abrem o mesmo formulário (Frm_Protocolo), porém com algumas funcionalidades diferentes.

    Estou utilizando o código abaixo nos botões de comando "Movimentar Documento(Bt_Mivimentacao)" e "Consultar Documento(Bt_Consultar)", respectivamente:

    Private Sub Bt_Movimentacao_Click()
    DoCmd.Close
    DoCmd.OpenForm "Frm_Protocolo"

    On Error GoTo Err_BT_Movimentacao_Click

       Screen.PreviousControl.SetFocus
       DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
     
    Exit_BT_Movimentacao_Click:
       Exit Sub

    Err_BT_Movimentacao_Click:
       MsgBox Err.Description
       Resume Exit_BT_Movimentacao_Click
    End Sub


    e

    Private Sub Bt_Consultar_Click()
    DoCmd.Close
    DoCmd.OpenForm "frm_protocolo"

    Call BloqueioFrm(Form_FRM_PROTOCOLO)

    On Error GoTo Err_BT_CONSULTAR_Click

       Screen.PreviousControl.SetFocus
       DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
     
    Exit_BT_CONSULTAR_Click:
       Exit Sub

    Err_BT_CONSULTAR_Click:
       MsgBox Err.Description
       Resume Exit_BT_CONSULTAR_Click
    End Sub


    Em anexo segue cópia do BD para entendimento da dificuldade.

    Caso alguém tenha alguma sugestão para contornar esta dificuldade, ficarei agradecido pela a ajuda.
    Desde já agradeço
    Anexos
    [Resolvido]Dificuldade com códigos em botões de comando AttachmentPROTOCOLO - Pro(2).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (520 Kb) Baixado 4 vez(es)
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1086
    Registrado : 22/11/2016

    [Resolvido]Dificuldade com códigos em botões de comando Empty Re: [Resolvido]Dificuldade com códigos em botões de comando

    Mensagem  IvanJr. em 30/11/2018, 16:58

    Não baixei o anexo, mas deixo a dica: os argumentos do comando "DoCmd.Close" são opcionais, mas tenha o hábito de colocá-los para não deixar que o código "adivinhe" o objeto que deve ser fechado.

    Para formulários:
    Código:
    docmd.Close acForm, "NomeFormulário"

    Para relatório:
    Código:
    docmd.Close acReport, "NomeRelatório"

    Experimente complementar os argumentos com o tipo do objeto e o nome do objeto e veja se o problema continua.
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 312
    Registrado : 25/02/2016

    [Resolvido]Dificuldade com códigos em botões de comando Empty Re: [Resolvido]Dificuldade com códigos em botões de comando

    Mensagem  FranklinJSP em 1/12/2018, 16:36

    Oi

    Eliminando essas linhas, funciona

    Código:
    'Screen.PreviousControl.SetFocus
    'DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

    Como IvanJr diz, você também deve fechar um formulário assim:

    Código:
    DoCmd.Close acForm, "Frm_Menu_Principal"

    Saludos desde Bolivia


    Última edição por FranklinJSP em 1/12/2018, 16:39, editado 1 vez(es) (Razão : Codigo para fechar form)


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]Dificuldade com códigos em botões de comando Empty Re: [Resolvido]Dificuldade com códigos em botões de comando

    Mensagem  OLDRIVG em 3/12/2018, 09:53

    Prezados IvanJr e FranklinJSP, bom dia.

    Agradeço a ambos pela a atenção.

    IvanJr,
    não funcionou. Fecha o formulário Frm_Menu_Principal, abre o formulário Frm_Protocolo, mas retorna o erro citado e a janela padrão do Access de "Localizar e Substituir" não abre.

    FranklinJSP,
    a sua sugestão de eliminar as linhas 'Screen.PreviousControl.SetFocus  e  'DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70  fecha o formulário "Frm_Menu_Principal", abre o for mulário "Frm_Protocolo", mas não abre a janela padrão do Access de "Localizar e Substituir".

    Entretanto, partindo de sua sugestão conseguir resolver eliminando apenas a linha 'Screen.PreviousControl.SetFocus.

    Mais uma vez agradeço a ambos.
    Boa semana

    Conteúdo patrocinado

    [Resolvido]Dificuldade com códigos em botões de comando Empty Re: [Resolvido]Dificuldade com códigos em botões de comando

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 15/12/2019, 17:48