Notifications
Clear all

ModeloCadastro3ListView

3 Posts
2 Usuários
0 Reactions
1,332 Visualizações
(@diovanino)
Posts: 16
Active Member
Topic starter
 

Senhores,

Utilizo os meus formulários, todos baseados no modelocadastro3ListView, claro, com minhas alterações particulares.
Acontece que tem uma coisa que está me intrigando muito, que é a consulta dos dados em LISTVIEW, pois todos os dados das colunas de REGISTROS (código automático) das minhas planilhas, estão no formato numérico. Toda vez que vou consultar em um LISTVIEW, e guando tenho a necessidade de ordenar a coluna de REGISTROS, vira uma bagunça só, pois nesta ordenação, depois do primeiro registro que é o 1, vem o 10, 11, 12, 13, 14, 15, para logo em sequencia, aparecer o 2 e os demais.
Para resolver este problema, vi alguns colegas, sugerindo para mudar a coluna de REGISTRO da tabela, formatando ao invés de número, para texto.
Aí é que está o problema, pois quando mudo a coluna REGISTRO de uma tabela para texto, eu não consigo fazer com que o código VBA que faz a autonumeração, sequenciar os registro de minha tabela.
Exemplo: Se eu tiver o registro 0001 criado na tabela, quando crio um novo registro que logicamente seria 0002, o código do modelocadastro3ListView, grava como 1 novamente, pois como o campo é texto, ele não consegue somar para incrementar para 2.

Se alguém puder me ajudar, ficarei muito grato.

Sds,

 
Postado : 04/10/2018 1:38 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Esse padrão de "ordem" deve-se ao fato que na listview todos os dados são considerados como Texto/String.
Uma possível solução para esse fato, e ao carregar os dados no listview formatar o ID no padrão desejado, permanecendo na planilha como está
Algo =/- assim:

 Set li = lstLista.ListItems.Add(, "k" & rst.Fields(0), CheckNull(Format(rst.Fields(0), "0000")))

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/10/2018 2:55 pm
(@diovanino)
Posts: 16
Active Member
Topic starter
 

Reinaldo,

Valeu pela grande dica!
Esta linha de código me ajudou muito.

 
Postado : 05/10/2018 8:52 am