Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Pesquisa dupla na mesma coluna
Re: Pesquisa dupla na mesma coluna
Tomás
Realmente o seu relatorio ficou ótimo....
Agora abusando mais um pouco: no seu listbox tem como inserir totais? Supondo que as colunas D e E fosse necessário adicionar um total após a última linha.
Eu encontrei um somatotal mas não consegui adaptar.
E outra coisa: estou a procura de alinhamentos das colunas pois como a listbox tem valores como exemplo R$ 2,00 ou outros R$ 1.235,00 entre outros, ficar totalmente desalinhado, outras vezes não consigo colocar o "R$" ou os zeros do valor. Tem algo publicado neste sentido?
Sei que já é abusar demais da sua vontade. Desculpe. Mas sempre temos que correr atrás de melhorias.
Abraço
Nerí
Realmente o seu relatorio ficou ótimo....
Agora abusando mais um pouco: no seu listbox tem como inserir totais? Supondo que as colunas D e E fosse necessário adicionar um total após a última linha.
Eu encontrei um somatotal mas não consegui adaptar.
E outra coisa: estou a procura de alinhamentos das colunas pois como a listbox tem valores como exemplo R$ 2,00 ou outros R$ 1.235,00 entre outros, ficar totalmente desalinhado, outras vezes não consigo colocar o "R$" ou os zeros do valor. Tem algo publicado neste sentido?
Sei que já é abusar demais da sua vontade. Desculpe. Mas sempre temos que correr atrás de melhorias.
Abraço
Nerí
Re: Pesquisa dupla na mesma coluna
Neri,
Quanto a suas dúvidas, o melhor jeito de fazer tudo o que está pedindo é manipulando os dados via SQL antes de eles chegarem no ListBox. Existem diversas funções como SUM de colunas ou mesmo o Format, que permite fazer a formatação de campos e até concatenação de valores.
Só a título de exemplo, o SQL abaixo recupera o dados de duas colunas e produz uma terceira com o produto das duas:
Abraços
Quanto a suas dúvidas, o melhor jeito de fazer tudo o que está pedindo é manipulando os dados via SQL antes de eles chegarem no ListBox. Existem diversas funções como SUM de colunas ou mesmo o Format, que permite fazer a formatação de campos e até concatenação de valores.
Só a título de exemplo, o SQL abaixo recupera o dados de duas colunas e produz uma terceira com o produto das duas:
Código: Selecionar todos
SELECT
Valor,
Quantidade,
(Valor * Quantidade) as 'Total'
FROM
Produtos
Re: Pesquisa dupla na mesma coluna
Tomas
não sei se me expressei bem. Tenho uma coluna de valores (coluna D) e preciso um total após a última linha. Também a minha coluna E após a última linha, preciso um total.
Veja
Coluna D Coluna E
5,00 12,00
15,00 125,00
TOTAL 20,00 137,00
Além disto procuro uma maneira de alinhar os valores, um abaixo do outro. Vc sabe algum lugar que tenha exemplos?
Abraço
não sei se me expressei bem. Tenho uma coluna de valores (coluna D) e preciso um total após a última linha. Também a minha coluna E após a última linha, preciso um total.
Veja
Coluna D Coluna E
5,00 12,00
15,00 125,00
TOTAL 20,00 137,00
Além disto procuro uma maneira de alinhar os valores, um abaixo do outro. Vc sabe algum lugar que tenha exemplos?
Abraço
Re: Pesquisa dupla na mesma coluna
Neri,
Entendi. Recomendo que não use o listbox para mostrar essas informações. O listbox, nesse caso, é focado em armazenar os dados de resultado da consulta. Nisso podem se basear contagem de registros, ordenação e outras coisas. Sugiro que coloque esses valores em controles label ou textbox mesmo.
Abraços
Entendi. Recomendo que não use o listbox para mostrar essas informações. O listbox, nesse caso, é focado em armazenar os dados de resultado da consulta. Nisso podem se basear contagem de registros, ordenação e outras coisas. Sugiro que coloque esses valores em controles label ou textbox mesmo.
Abraços
Re: Pesquisa dupla na mesma coluna
Tomas,
veja só o comando que eu consegui:
Private Sub UserForm_Initialize()
'preenche o cboDirecao e seleciona o primeiro item
cboDirecao.Clear
cboDirecao.AddItem "Ascendente"
cboDirecao.AddItem "Descendente"
cboDirecao.ListIndex = 0
Call PopulaListBox(vbNullString, vbNullString, vbNullString, vbNullString, vbNullString, vbNullString)
' comandos para ajustar as colunas
lstLista.Clear
Dim Cont, UltimaLinha
UltimaLinha = Plan1.Range("A65000").End(xlUp).Row
For Cont = 1 To UltimaLinha
Me.lstLista.AddItem Plan1.Range("A" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 1) = Plan1.Range("B" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 2) = Plan1.Range("C" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 3) = Plan1.Range("D" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 4) = Plan1.Range("E" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 5) = Plan1.Range("F" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 6) = Plan1.Range("G" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 7) = Right(Space(16) & Format(Plan1.Range("H" & Cont), "R$ #,0.00"), 12)
Me.lstLista.List(Me.lstLista.ListCount - 1, 8) = Plan1.Range("I" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 9) = Plan1.Range("J" & Cont)
Next
End Sub
Obs.: Quando coloco este comando no Initialize funciona certo. Mas ao clicar no filtrar ele (logicamente) perde a função.
Entendi a sua observação (textbox e label). Vou ter que estudar esta maneira, pois não sei como fazer. Mas vou pesquisar.
Abraço
veja só o comando que eu consegui:
Private Sub UserForm_Initialize()
'preenche o cboDirecao e seleciona o primeiro item
cboDirecao.Clear
cboDirecao.AddItem "Ascendente"
cboDirecao.AddItem "Descendente"
cboDirecao.ListIndex = 0
Call PopulaListBox(vbNullString, vbNullString, vbNullString, vbNullString, vbNullString, vbNullString)
' comandos para ajustar as colunas
lstLista.Clear
Dim Cont, UltimaLinha
UltimaLinha = Plan1.Range("A65000").End(xlUp).Row
For Cont = 1 To UltimaLinha
Me.lstLista.AddItem Plan1.Range("A" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 1) = Plan1.Range("B" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 2) = Plan1.Range("C" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 3) = Plan1.Range("D" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 4) = Plan1.Range("E" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 5) = Plan1.Range("F" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 6) = Plan1.Range("G" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 7) = Right(Space(16) & Format(Plan1.Range("H" & Cont), "R$ #,0.00"), 12)
Me.lstLista.List(Me.lstLista.ListCount - 1, 8) = Plan1.Range("I" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 9) = Plan1.Range("J" & Cont)
Next
End Sub
Obs.: Quando coloco este comando no Initialize funciona certo. Mas ao clicar no filtrar ele (logicamente) perde a função.
Entendi a sua observação (textbox e label). Vou ter que estudar esta maneira, pois não sei como fazer. Mas vou pesquisar.
Abraço
Re: Pesquisa dupla na mesma coluna
Neri,
Coloque-o dentro do PopulaListBox e veja o que acontece. Não dúvida existe o Ctrl+Z certo?
Abraços
Coloque-o dentro do PopulaListBox e veja o que acontece. Não dúvida existe o Ctrl+Z certo?
Abraços
Re: Pesquisa dupla na mesma coluna
Dentro do Private Sub PopulaListBox o comando simplesmente é ignorado, como se não existisse.
Re: Pesquisa dupla na mesma coluna
Não, simplesmente não faz nada. Me dá um endereço que te passo um pequeno exemplo.
Abraço
Abraço