ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Listview Mostrar Item Selecionado

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
pedrobb
Colaborador
Colaborador
Mensagens: 61
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Listview Mostrar Item Selecionado

Mensagem por pedrobb » Qui Fev 08, 2018 10:46 am

Pessoal,
Baixei o anexo na Internet, e estou com dificuldades em adaptar:

a) Coloquei as 2 linhas abaixo no INITIALIZE pra Carregar os Listview com TODOS os registros ao abrir:
sCriterioDaBusca = txt_Procurar.Text
Call ProcuraPersonalizada("*.*", "Tudo")
'ERRO: Ao Abrir o Form, alguns registros não aparecem no ListView (exemplo: 11); e a maioria foi DUPLICADA; o último registro não aparece

b) Gostaria que a primeira linha aparecesse Selecionada automaticamente (e não Manualmente)

c) Quero excluir a COMBOBOX1 e implementar a Consulta através dos OPTIONBUTTONS da Frame FILTRAR POR:.
Obs: que o cabeçalho NÃO aparecesse no Listview (digite A no Textbox txt_procurar e a Listview mostra o cabeçalho).

Grato,
Pedro
Anexos
Busca Personalizada 4.zip
(103.42 KiB) Baixado 103 vezes
Editado pela última vez por pedrobb em Sex Fev 16, 2018 8:47 pm, em um total de 3 vezes.



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: 1408
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Erros em Pesquisa com Filtro Listview

Mensagem por Reinaldo » Qui Fev 08, 2018 9:58 pm

Considerações referente a
a) Coloquei as 2 linhas...
a linha: sCriterioDaBusca = txt_Procurar.Text,
não tem motivo pratico visto que ao iniciar o formulario o Txt_Procurar estará sempre em branco.

a linha:Call ProcuraPersonalizada("*.*", "Tudo") - aqui você está procurando qualquer referencia/célula que contenha um ponto (.); sendo que justamente essa procura e que está gerando dados repetidos e faltantes.
Veja Na célula E2 há ponto assim a linha 2 e marcada para carregar,
Seguindo a pesquisa na célula G2 (mesmo estando oculta) também e encontrado ;novamente a linha 2 e marcada para carregar
Obs.: Apesar de na planilha visualmente ao editar a célula o numero ser 635371970,99, internamente (e e o que o vba está lendo) esse numero e "visto" como 635371970.99 (ponto e o separador de decimal)
Pelo mesmo motivo o registro 11 não é carregado, não foi encontrado nenhum dado com ponto nessa linha.
Sugestão ao determinar na procura inical Tudo, determine uma unica coluna (preferivelmente a coluna A)e substitua o *.* por *
Experimente seu initialize assim:

Código: Selecionar todos

Private Sub UserForm_Initialize()
SpinButton1.Enabled = False
btn_Editar.Enabled = False
btn_Excluir.Enabled = False

Label_Registros_Contador.Caption = ""
    
Call ConfigurarListaDeCampos
Call ConfigListView
   
sCriterioDaBusca = ""
Call ProcuraPersonalizada("*", "Código")
End Sub


Reinaldo
:oops: :D :mrgreen: :geek:

pedrobb
Colaborador
Colaborador
Mensagens: 61
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Erros em Pesquisa com Filtro Listview

Mensagem por pedrobb » Sex Fev 09, 2018 11:39 am

Reinaldo,
Muito obrigado.
A linha do Cabeçalho (Linha 1 da Plan1) aparece como último registro do Listview1. Como evitar isso?



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

Re: Erros em Pesquisa com Filtro Listview

Mensagem por Reinaldo » Sex Fev 09, 2018 12:04 pm

Uma possibilidade, altere a rotina que carrega o listview conforme abaixo

Código: Selecionar todos

Sub PreencheListView()
Dim i As Long
ListView1.ListItems.Clear

If IsArray(MatrizResultadosLinha) Then
    For i = 0 To UBound(MatrizResultadosLinha)
        If MatrizResultadosLinha(i) <> 1 Then
            Set NewItem = ListView1.ListItems.Add(, , i)
            With Sheets(CInt(MatrizResultadosPlanilha(i)))
                NewItem.SubItems(1) = .Cells(MatrizResultadosLinha(i), 1).Value
                NewItem.SubItems(2) = .Cells(MatrizResultadosLinha(i), 2).Value
                NewItem.SubItems(3) = .Cells(MatrizResultadosLinha(i), 3).Value
                NewItem.SubItems(4) = .Cells(MatrizResultadosLinha(i), 4).Value
                NewItem.SubItems(5) = .Cells(MatrizResultadosLinha(i), 5).Value
                NewItem.SubItems(6) = .Cells(MatrizResultadosLinha(i), 6).Value
            End With
        End If
    Next i
End If
End Sub


Reinaldo
:oops: :D :mrgreen: :geek:

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.


pedrobb
Colaborador
Colaborador
Mensagens: 61
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Erros em Pesquisa com Filtro Listview

Mensagem por pedrobb » Sex Fev 09, 2018 2:19 pm

Funcionou belezinha.
Show de Bola, Reinaldo!
Valeu!!!!
Obs: Os OptionButtons consigo fazer funcionar.
Vou tentar fazer com que o 1º registro da Listview apareça Selecionado automaticamente (e não Manualmente).
Se tiver sugestão, agradeço desde já.



pedrobb
Colaborador
Colaborador
Mensagens: 61
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Erros em Pesquisa com Filtro Listview

Mensagem por pedrobb » Sáb Fev 10, 2018 10:31 am

Reinaldo,
Percebi um problema.
Quando abro o form, se clicar no 2º registro (por exemplo), o contador de registro (Label_Registros_Contador) continua no registro 1. Por isso a ação de Alterar ou Excluir o registro 2 se dá no registro 1 indevidamente.
Agradeço se puder verificar.
Pedro



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

Re: Erros em Pesquisa com Filtro Listview

Mensagem por Reinaldo » Sáb Fev 10, 2018 6:09 pm

Não sei do projeto original. mas pelo seu modelo atual, a listview "trabalha" separado do spinbutton.
Ambos alteram as txt's acima do spin, mas tem "funcionamento" distinto.

Fiz algumas alterações, veja atende
Anexos
Busca Personalizada 4.zip
(94.19 KiB) Baixado 98 vezes


Reinaldo
:oops: :D :mrgreen: :geek:

pedrobb
Colaborador
Colaborador
Mensagens: 61
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Listview Mostrar Item Selecionado

Mensagem por pedrobb » Qui Fev 15, 2018 10:31 am

Reinaldo,
Resolvi eliminar os SpinButtons. Veja as alterações no anexo.
Mas agora estou com 2 problemas:

1) Ao carregar, o primeiro ítem da Listview aparece Selecionado (assim que eu quero). Mas ao Filtrar o primeiro ítem NÃO aparece Selecionado. Por que?
2) Os Textboxs de Informes só aparecem ao clicar no ítem da Listview. Por que? Precisa ser automaticamente.

Se você ou outro expert puder ajudar, desde já agradeço,
Pedro
Anexos
Busca.zip
(209.86 KiB) Baixado 98 vezes



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