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


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Congelar Formulário Durante Execução de Procedimentos

    Mensagem  rgondim 29/5/2012, 22:04

    Tentei usar DoCmd.Echo False / True no procedimento abaixo para paralisar a tela enquanto o procedimento é efetuado e, assim, evitar a tremulação do formulário. Não funcionou.
    Onde estou errando?


    Private Sub ListaCompetencia_Click()
    On Error GoTo Err_ListaCompetencia_Click
    Dim rs As Object
    DoCmd.Echo False

    Set rs = Me.Recordset.Clone
    'Encontrar o registro que coincide com o controle.
    rs.FindFirst "[CodCompetencia] = " & Me![ListaCompetencia] & ""
    Me.Bookmark = rs.Bookmark

    Me.Refresh
    Me!ListaCompetencia.Requery 'Atualiza a combo de pesquisa
    Me![Pagina_InicialSub].Requery

    Set rs = Nothing 'libera a memória

    Me.CodEmpregador.Value = Null
    Me.cmdIncluirEmp.Enabled = False
    DoCmd.Echo True

    Exit_ListaCompetencia_Click:
    Exit Sub
    Err_ListaCompetencia_Click:
    MsgBox Err.Description
    Resume Exit_ListaCompetencia_Click
    End Sub
    avatar
    Convidad
    Convidado


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  Convidad 30/5/2012, 12:51

    Gondim

    Quando o código abaixo é executado:

    Me.Bookmark = rs.Bookmark
    Está dizendo ao Access para exibir no formulário o mesmo registro que está no recorsetclone do mesmo, portanto, não precisa do me.refresh.

    Acredito que seja esse comando que está fazendo o formulário tremular.

    Experimente, colocando um aspa simples no inicio da linha (deixando ela em verde).
    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  rgondim 30/5/2012, 13:09

    Fiz o teste retirando

    Me.Refresh
    Me!ListaCompetencia.Requery
    Me![Pagina_InicialSub].Requery

    e continua a tremular.

    Testei com e sem Echo... Com Echo o formulário tremula ainda mais.
    avatar
    Convidad
    Convidado


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  Convidad 30/5/2012, 13:22

    Gondim

    Tem relógio no formulário?

    Tem algum código no evento timer desse formulário?

    Se tiver nos mostre, por favor.
    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  rgondim 30/5/2012, 13:34

    Não Balem, nenhum dos dois.
    avatar
    Convidad
    Convidado


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  Convidad 30/5/2012, 13:44

    Experimente executar somente essa parte do código:



    Private Sub ListaCompetencia_Click()
    On Error GoTo Err_ListaCompetencia_Click
    Dim rs As Object
    'DoCmd.Echo False >>> Tirei o Echo

    Set rs = Me.Recordset.Clone
    'Encontrar o registro que coincide com o controle.
    rs.FindFirst "[CodCompetencia] = " & Me![ListaCompetencia] & ""
    If Not rst.NoMatch Then 'Se existe registro
    Me.Bookmark = rs.Bookmark
    Else
    msgbox " não tem registro"
    Endif

    Aguardo o retorno
    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  rgondim 30/5/2012, 14:00

    Testei, continua tremulando.
    avatar
    Convidad
    Convidado


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  Convidad 30/5/2012, 14:09

    Gondim

    Agora percebi que o código é executado quando a lista é clicada, portanto, não é ele o responsável pela intermitência do formulário.
    A não ser que isso aconteça quando clica-se na listbox.

    Façamos o seguinte:

    Como será difícil de verificar o que está ocorrendo, melhor seria você criar outro formulário idêntico.
    A medida que for colocando os controles, vá testando para ver se ele pisca.

    Se o formulário tremula antes de se clicar na lisbox, experimente também testar em outro computador, se quiser.
    Abraços

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  rgondim 30/5/2012, 16:33

    Criei outro formulário, copiei a origem dos dados para o novo formulário e criei uma nova Listbox idêntica. Copiei o código VBA. Não tremeu.

    Então, é algum controle do formulário?
    avatar
    Convidad
    Convidado


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  Convidad 30/5/2012, 17:14

    Funcionou direitinho então Gondim?

    Olha, para saber o que estava fazendo que ele tremesse, teríamos que dissecar o formulário.
    Achei mais rápido fazer outro.
    Use o novo formulário e delete outro Wink
    Abraços
    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  rgondim 18/11/2012, 21:43

    A tremulação é o Refresh, que o uso do Echo não conseguir paralisar.

    Conteúdo patrocinado


    [Resolvido]Congelar Formulário Durante Execução de Procedimentos Empty Re: [Resolvido]Congelar Formulário Durante Execução de Procedimentos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 08:41