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.
-> 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.
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.
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.
-> 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.