Olá amigos.. trago mais um probleminha pra suas mentes iluminadas me ajudarem....
Estou usando um formulário que utiliza de alguns campos de outro form. Através da propriedade ORIGEM DO CONTROLE eu recupero os dados do cliente do
form CADASTRO. Enfim. Só tem um probleminha. O tamanho do campo do MEU cadastro é livre... no segundo form, que na verdade é um LINK com o sistema de boletos do UNIBANCO, tem restrições quanto aos tamanhos do campo. Por exemplo, NOME = 30 carateres, ENDERECO: 30 Caracteres, CIDADE = 20 caracteres.
Quando abro o segundo form e ele percebe que algum campo é maior que o permitido, ele dá o seguinte erro
Erro tem tempo de execução '-2147352567 (800200009)':
O campo é demasiado pequeno para aceitar o volume de dados que tentou adicionar. Tente inserir ou colar menos dados
Eu coloquei umas instruções pra fazer essa verificação, mas o problema é que o tratamento de erro do VBA me parece ter prioridade maior, então é executado antes do meu. Até tentei fazer tratamento de erro, o que eu acho que deva ser o mais correto, mas não consigo "capturar" o erro pra poder tratá-lo :/
Tentei fazer da seguinte forma:
Private Sub OK_Click()
On Error GoTo OK_Click_Err
o restante do código
OK_Click_Exit:
Exit Sub
OK_Click_Err:
If Err.Number = -2147352567 (80020009) Then
MsgBox "Erro certo"
Else
MsgBox "erro errado"
End If
Resume OK_Click_Exit
Tentei apenas com os numeros 2147352567 não deu certo. -2147352567 tb não deu certo, 80020009 tb não deu. Então tenho 2 perguntas:
- Qual a forma correta de "capturar" esse erro e fazer o tratamento
- Posso ao mesmo tempo identificar qual campo está maior do que o permitido e direcionar o setfocus imediatamente pra ele?
Pergunta
Gil Kléber
Olá amigos.. trago mais um probleminha pra suas mentes iluminadas me ajudarem....
Estou usando um formulário que utiliza de alguns campos de outro form. Através da propriedade ORIGEM DO CONTROLE eu recupero os dados do cliente do
form CADASTRO. Enfim. Só tem um probleminha. O tamanho do campo do MEU cadastro é livre... no segundo form, que na verdade é um LINK com o sistema de boletos do UNIBANCO, tem restrições quanto aos tamanhos do campo. Por exemplo, NOME = 30 carateres, ENDERECO: 30 Caracteres, CIDADE = 20 caracteres.
Quando abro o segundo form e ele percebe que algum campo é maior que o permitido, ele dá o seguinte erro
Erro tem tempo de execução '-2147352567 (800200009)':
O campo é demasiado pequeno para aceitar o volume de dados que tentou adicionar. Tente inserir ou colar menos dados
Eu coloquei umas instruções pra fazer essa verificação, mas o problema é que o tratamento de erro do VBA me parece ter prioridade maior, então é executado antes do meu. Até tentei fazer tratamento de erro, o que eu acho que deva ser o mais correto, mas não consigo "capturar" o erro pra poder tratá-lo :/
Tentei fazer da seguinte forma:
Private Sub OK_Click()
On Error GoTo OK_Click_Err
o restante do código
OK_Click_Exit:
Exit Sub
OK_Click_Err:
If Err.Number = -2147352567 (80020009) Then
MsgBox "Erro certo"
Else
MsgBox "erro errado"
End If
Resume OK_Click_Exit
Tentei apenas com os numeros 2147352567 não deu certo. -2147352567 tb não deu certo, 80020009 tb não deu. Então tenho 2 perguntas:
- Qual a forma correta de "capturar" esse erro e fazer o tratamento
- Posso ao mesmo tempo identificar qual campo está maior do que o permitido e direcionar o setfocus imediatamente pra ele?
Espero que alguém saiba como resolver isso.
Obrigado amigos pela ajuda!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.