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]Copiar e Colar gerando erro no ActiveControl

    DaviSilva
    DaviSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 26/09/2013

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  DaviSilva 27/2/2018, 16:45

    Ola pessoal, pessoa  ajuda dos mestres.

    Tenho um Formulário com um Sub-Formulário acoplado onde este último esta como folha de dados.

    Tenho um método que tem a função de registrar as alterações que os usuários fazem, ou seja, ele grava a ultima informação alterada do campo e a atual e guarda estas informações externamente.

    A questão é que, isso funciona muito bem até que um usuário resolve copiar e colar mais de 2 campos de uma única vez utilizando o seletor de registros. Conforme imagem abaixo.

    [Resolvido]Copiar e Colar gerando erro no ActiveControl 110

    -> O erro é (A expressão que você inseriu requer que o controle esteja na janela ativa.)

    Consegui identificar que, quando se trata do ActiveControl é que ocorre o erro.

    Segue o código onde o ActiveControl gera o erro.

    Código:
    Private Sub Descricao_AfterUpdate()
    On Error GoTo Err_Descricao_AfterUpdate
        
        
         RegistroAlteracao "CadastroITs", Me.ActiveControl.Name, Nz(Me.ActiveControl.OldValue, "Nulo"), Nz(Me.ActiveControl.value, "Nulo"), _
                          Me.Parent.Key, Me.Form.Name, strIdsFilhos, strObservacao, blnCriacao
                          
    Exit_Descricao_AfterUpdate:
        Exit Sub

    Err_Descricao_AfterUpdate:
        MsgBox err.Description
        Resume Exit_Descricao_AfterUpdate
    End Sub

    Estou usando o access 2000, pois a aplicação é bem antiga e não é viável mudar de plataforma no momento.

    No sub-formulário não consegui encontrar um evento do tipo (Ao Colar), para que eu possa tratar o erro

    A única solução que encontrei, é quando gerar o erro, é fazer um On Error resume next, porém se eu fizer isso, e algum usuário colar uma informação em cima da outra, eu perderei a rastreabilidade do que era e o que se tornou o registro.

    Desde já muito obrigado.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  Noobezinho 27/2/2018, 21:12

    Davi

    Tanto no formulário continuo como em modo de dados, na propriedade Ao aperta Tecla do Formulário, com

    a propriedade Visualizar Teclas = Sim (é a ultima da aba todas):


    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If Me.SelHeight > 1 Then
    MsgBox "pode parar!"
    End If
    End Sub



    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    DaviSilva
    DaviSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 26/09/2013

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  DaviSilva 28/2/2018, 13:38

    Bom dia pessoal.

    [Noobezinho],

    Muito obrigado pela ajuda, é algo novo que aprendi, mas ainda não resolveria, pois mesmo que eu selecione apenas um registro, o erro persiste. Acredito que seja porque o campo não esteja ativo e meu código diga "Me.ActiveControl.Name".

    Acabei encontrando uma solução. Não é tão dinâmica quanto eu pretendia que fosse mas resolve, pois preciso continuar a desenvolver então.

    O que fiz na verdade, foi que em sub-formulários, aio invés de colocar o parâmetro do metodo como Me.ActiveControl.Name, eu digitei o nome dos campos onde precisava.

    Para os sub-formulários eu alterei o método acrescentando uma string "strNomeCampo" como parâmetro.

    Método:
    Código:

    Sub RegistroAlteracaoLocal(strNomeCampo As String, Optional strIdsFilhos As String, Optional strObservacao As String, Optional blnCriacao As Boolean)
    On Error GoTo Err_RegistroAlteracaoLocal
           
       RegistroAlteracao "CadastroITs", strNomeCampo, Nz(Me(strNomeCampo).OldValue, "Nulo"), Nz(Me(strNomeCampo).value, "Nulo"), _
                         Me.Parent.Key, Me.Form.Name, strIdsFilhos, strObservacao, blnCriacao
       
    Exit_RegistroAlteracaoLocal:
       Exit Sub

    Err_RegistroAlteracaoLocal:

       MsgBox err.Description, , "RegistroAlteracaoLocal"
       Resume Exit_RegistroAlteracaoLocal
       
    End Sub

    Na evento AfterUpdate de cada campo fiz desta forma: (Acabei com os erros do ActiveControl.)
    Código:

    Private Sub Descricao_AfterUpdate()
    On Error GoTo Err_Descricao_AfterUpdate

        RegistroAlteracaoLocal "Descricao", Me.KeyRevisao
                         
    Exit_Descricao_AfterUpdate:
       Exit Sub

    Err_Descricao_AfterUpdate:
       MsgBox err.Description
       Resume Exit_Descricao_AfterUpdate
    End Sub


    Agora me veio uma dúvida de campo, percebi que ao selecionar da mesma forma, com seletor de registro, uma única coluna ou todas em um sub-formulário
    e colar esta informação seja em um registro novo ou atualizando um registro antigo, o evento AfterUpdate ocorre 2 vezes para caixas de combinação e para caixa de texto com mascara de entrada.

    A mesma ação já não ocorre para caixas de texto simples.

    Alguém saberia me explicar se tem como retirar alguma opção dentro do próprio access para isso não ocorrer?
    Ou mesmo me explicar o por que isso ocorre?
    Pois da forma que meu código esta, ele registra a mesma alteração de informação duas vezes para estes tipos de condições.

    Já pensei na possibilidade de criar um código e contar a quantidade de vezes que um campo atualizou, mas se tiver uma maneira menos trabalhosa é bem vinda.
    dese já agradeço.
    DaviSilva
    DaviSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 26/09/2013

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  DaviSilva 6/3/2018, 19:17

    Alguem?
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  Noobezinho 6/3/2018, 20:09

    Davi

    Já depurou o código pra ver se isso acontece mesmo?

    E se acontece, o que está provocando isso?



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    DaviSilva
    DaviSilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 26/09/2013

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  DaviSilva 2/4/2018, 21:31

    Então, o pq ocorre não sei explicar.. mas sei que nas combo box sempre ocorre o evento duas vezes... então vou dar esse tópico por encerrado.

    Muito obrigado a todos.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  Noobezinho 2/4/2018, 21:35

    Desistiu?

    Estamos aqui para ajudar.

    Poste a(s) parte(s) envolvida(s) no problema, para a gente analisar.


    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]Copiar e Colar gerando erro no ActiveControl Empty Re: [Resolvido]Copiar e Colar gerando erro no ActiveControl

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 14:27