Notifications
Clear all

Problemas com SetFocus

11 Posts
2 Usuários
0 Reactions
3,902 Visualizações
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Boa Tarde Pessoal,

Preciso novamente de ajuda de vcs.
Estou com problemas com o SetFocus, pesquisei bastante no site, mas não estou entendendo as resoluções. Então envio em anexo um modelo do que estou fazendo.

Ao abrir a planilha já vai carregar o formulário em questão. Vá no frame Lançamento Automático e digite 0 clicando enter na sequencia. O cursos irá ir para o próximo txt que esta invisível e executará uma tarefa. Ao completar essa tarefa que no caso será uma msg dizendo que o cod do produto não foi encontrado o curso deve retornar para o Cod. dentro do mesmo frame. O problema é que mesmo com o SetFocus aitvo o cursor não vai para esse campo, o cursor vai para o próximo que esta configurado na sequencia de Tabulação. Tentei varias coisas, mas sem sucesso.

Agradeço Desde Já.

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 17/06/2013 12:39 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

ueleodoro,

Boa Noite!

Veja se assim te atende.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 17/06/2013 4:21 pm
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Eu não entendi muito bem suas alterações, mas achei que eu que não tinha passado o modelo da forma como deveria funcionar.

Em lançamento Automático será utilizado um leitor de código de barras. O código será passado para o campo "Cod." e ao clicar enter o curso pula para campo que esta invisível (txtcodproduto_a = AUTO), este campo esta fazendo a pesquisa na base de dados de produtos "Formação de Preço e Catalogação" e verificando se existe ou não o produto e preenchendo alguns campos no formulário. Em seguida o mesmo (txtcodproduto_a = AUTO) realiza a tarefa de incluir os registro que estão no formulário. Porem pode notar que no final do processo temos o SetFocus para retorna o cursor para o "Cod." para dessa forma realizar o próximo lançamento. Isso que não acontece.

É complicado explicar, espero que tenha entendido.
Fiz umas alterações e ampliei a base de dados de produtos para ser lançado. Agora pode lançar em Cod. de 1 a 66 se colocar 67 acima vai dizer que não foi encontrado.

Se vc testar o lançamento Manual poderá ver que esta funcionando corretamente. Mas o mesmo não funciona para o lançamento Automático.

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 18/06/2013 11:55 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

ueleodoro,

Boa Tarde!

Bem... você disse na sua primeira mensagem:

O problema é que mesmo com o SetFocus aitvo o cursor não vai para esse campo, o cursor vai para o próximo que esta configurado na sequencia de Tabulação

Assim, entendi que o que você queria era quando digitasse um 0 (Zero) na caixa de texto e depois um Enter e a mensagem de código não encontrado fosse mostrada, o cursor deveria voltar para a caixa de texto. Não é isso??? Foi o que eu fiz...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 18/06/2013 2:03 pm
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Não é isso. Preciso me desculpar por não me expressar corretamente. O novo modelo que eu postei agora esta da forma que o sistema deve funcionar..porém o cursor deve voltar para o campo de Lançamento. No lançamento manual que tem o Botão incluir funciona certinho. Se tiver alguma sugestão de como seria melhor o funcionamento desse processo pode falar que eu tento fazer tb...

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 18/06/2013 3:21 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

O modelo não veio.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 18/06/2013 9:28 pm
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Juro que tinha visto anexo. Mando novamente.

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 19/06/2013 8:07 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

ueleodoro,

Bom Dia!

Agora entendi corretamente. Infelizmente não tenho como ajudar, uma vez que não tenho nem como testar (para fazer isso, teria que ter uma forma de capturar esse código automático e não tenho).

O que posso contribuir é:
Percebi que você tem uma rotina dentro do evento ENTER do objeto txtcodproduto_a (que não sei para que ele serve. O objeto e o código). Porque você não coloca esse código dentro do Evento Exit do objeto txtcodprodutoauto? Esse evento tem um parâmetro Cancel que você pode setar para True que o cursor não sairá do objeto se não atender as condições que você deseja. Na minha opinião (não sei como funciona essa captura automática de código), penso que quando o código for capturado, automaticamente, ele poderia executar o que tem de executar. Ou seja: você pode colocar código no Evento Change desse objeto e verificar se ele já contém texto. Se sim, você provoca a saída dele para que o evento Exit ocorra.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 19/06/2013 8:57 am
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Digita e clica enter que é a mesma coisa.

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 19/06/2013 8:59 am
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Vou tentar fazer e volto aqui

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 19/06/2013 9:00 am
(@ueleodoro)
Posts: 133
Estimable Member
Topic starter
 

Problema resolvido. Meu Formulário tem dois Frames. Fiz o seguinte desabilitei a tabulação de todos os itens do form Inclusive os frames. E habilitei apenas a tabulação interna dos Frames. Funcionou.

O modo proposto pelo Wagner de colocar os comandos para serem executados em EXIT do Objeto txtcodprodutoauto, não funcionou pelo fato que o cod. lançado tem de 1 a 4 caracteres e logo na adição do primeiro caractere o Objeto já entrava em execução, na caso de um código a ser lançado "8" tudo bem, porém ao lançar "10, 100 ou 1345" apenas o caractere "1" era acionado.

Ulisses Eleodoro dos Santos
---------------------------------------
Compartilha o conhecimento é a
forma mais valorosa na busca da
sabedoria.
---------------------------------------

 
Postado : 20/06/2013 8:22 am