Vídeo recomendado
https://youtu.be/diWPPPhW-9E

LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Wellington Rodrigues
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Abr 01, 2020 5:55 pm

LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Wellington Rodrigues »

Boa noite a todos, ao carregar um formulário de funcionários tenho 03 (três) textbox que se encarregam do filtro numa listbox dessas pessoas. A primeira textbox é o nome completo do servidor, assim que digito a primeira letra do nome vem listado todos os servidores que começam com a aquela letra, digitando a segunda letra do nome fica mais filtrada ainda, pois só aparece os nomes que começam com aquelas duas letras iniciais e assim por diante... O segundo textbox é o cargo do funcionário, funciona igual ao textbox nome. O problema é o terceiro textbox que corresponde à matrícula. Digitada no Excel, tem esse número total de dígitos, exemplo: 101756188, quando digito em seu textbox, o primeiro, ou o primeiro e o segundo, ou primeiro, segundo e terceiro dígitos e assim por diante, o listbox fica vazio, não filtra, mas quando coloco todos os dígitos certos e com a quantidade certa aí aparece o servidor com todos os seus dados correspondentes. Se existir possibilidade, gostaria que esse textbox matrícula fosse executado da mesma forma dos textbox: nome e cargo, conforme citado acima. Desde já, agradeço a atenção!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Reinaldo »

Muito provavelmente, esse campo é numérico. O funcionamento descrito ocorre nos campos string/texto; números são considerados por inteiro tipo maior 1, menor 99 , igual à1234.....


Wellington Rodrigues
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Abr 01, 2020 5:55 pm

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Wellington Rodrigues »

Boa tarde, Reinaldo! Já formatei as células que são correspondentes aos valores da matrícula para “texto” e também tentei converter o que eu digito no textbox matrícula para string com a função CStr(). Não tive êxito. Fiquei com os mesmos resultados de antes.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Reinaldo »

Quero crer que está a pesquisar em uma planilha excel. Nesse caso não há uma "definição" direta do tipo de dado da coluna, mas sim uma interpretação tácita (creio eu) pelo editor VBE à partir do dado inicial.
Experimente nos primeiros registros dessa coluna incluir o caractere " ' " a esquerda do numero (de 100 para '100)


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Wellington Rodrigues
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Abr 01, 2020 5:55 pm

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Wellington Rodrigues »

Até tentei colocar caracteres alfabéticos, antes da recomendação da sua última postagem: "Experimente nos primeiros registros dessa coluna incluir o carácter " ' " a esquerda do numero (de 100 para '100)", mas também não tive nenhum sucesso. Eu poderia enviar o arquivo em questão para análise?


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Reinaldo »

Utilize a ferramenta de upload aqui no fórum, poste seu arquivo ou modelo similar representativo do original, com dados fictícios sempre que necessário


Wellington Rodrigues
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Abr 01, 2020 5:55 pm

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Wellington Rodrigues »

Boa tarde, Reinaldo! A planilha 2 está congelada na vertical, o botão de comando que chama o formulário "Inserir dias" planilha 2, planilha 3 está o filtro. Desculpe os detalhes, é só para facilitar. Obrigado!


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX só filtra quando é colocado todos os dígitos de um número na TEXTBOX

Mensagem por Reinaldo »

Estás utilizando filtro avançado, não tenho certeza,mas aparentemente,o mesmo utiliza mecanismos internos para definição de tipo/conteúdo dos dados.
Provavelmente a utilização de filtros diretamente seja melhor.Vou tentar,na medida do possivel, mandar uma sugestão, enquanot isso de uma olhada (entre tantos outros) alguns exemplos/modelos

https://github.com/Tomamais/ModeloCadastro_VBA/wiki
https://www.tomasvasquez.com.br/blog/mi ... o-listbox/
viewtopic.php?t=5051
http://www.planilhando.com.br/forum/vie ... 10&t=27790


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder