Pesquisar em Listbox e imprimir.

Moderador: Avelino Sampaio

Avatar do usuário
Carvalho
Mensagens: 142
Registrado em: 21 Ago 2015, 23:22

Pesquisar em Listbox e imprimir.

Mensagempor Carvalho » 03 Jul 2018, 17:14

senhores boa tarde,

Estou com um probleminha, venho usando um form com uma Listbox para seleção múltipla e pesquisa disponibilizado pelo senhor Avelino do aplicativo Maestro, para selecionar e imprimir, só que vem o problema, tenho 42.000 mil itens e tenho que selecionar 30 itens, só que quando acho um deles e seleciono, ai vou pesquisar outro item ele desmarca o que eu tinha selecionado anterior, como faço para evitar issso ? se eu selecionei ele fique, mesmo eu pesquisando outros itens até eu escolher todos. e imprimir.

seria possível isso ?

códigos que estou usando,

Código: Selecionar todos

Private Sub fncCarregalista(Optional filtro As String, Optional ordem As String)
Dim strSql As String
strSql = "SELECT Num,taag,PalletMontagem,Bloco,Fase,Qtd,DataReceb,StatusEstoque"
strSql = strSql & " FROM TbRelatorioPagoPorBlocoIten WHERE " & filtro
strSql = strSql & " ORDER BY taag;"
Me!Lista.RowSource = strSql
filtroLista = filtro
End Sub

Public Sub fncFiltrar(NomeCampoFoco As String)
Dim x As String, filtro As String, strSplit As String
Dim f(5) As String, cp(5) As Variant
Dim k As Variant, p As Byte
Dim booPos As Boolean

'------------------------------------------------------------------
' Variável x recebe o valor digitado na caixa de texto de filtragem
'-------------------------------------------------------------------
x = Me(NomeCampoFoco).Text: p = 0

'--------------------------------------------------------------------------------------
'Passa para a matrix Cp() todos os valores digitados nas caixas de texto de filtragens
'--------------------------------------------------------------------------------------
For p = 0 To 4
    cp(p) = IIf(InStr(NomeCampoFoco, "tx" & p + 1) > 0, x, Me("tx" & p + 1))
Next

'----------------------------------------------------------------------------------------------------------------------------
' Passa para a matrix f() os campos a serem filtrados, com os respectivos valores digitados nas caixas de texto de filtragens
'-----------------------------------------------------------------------------------------------------------------------------
f(0) = "taag Like '*" & cp(0) & "*'"
f(1) = IIf(cp(1) = Chr(32), "PalletMontagem is null", "PalletMontagem Like '*" & cp(1) & "*'")
f(2) = IIf(cp(2) = Chr(32), "bloco is null", "bloco Like '*" & cp(2) & "*'")
f(3) = IIf(cp(3) = Chr(32), "Fase is null", "fase Like '*" & cp(3) & "*'")
f(4) = "StatusEstoque Like '*" & cp(4) & "*'"

'------------------------------------------------------------------------------------------
'Passa para Variável strSplit o comprimento de texto da cada caixa de texto de filtragens
'Comprimento zero(0) significa que a caixa de texto de filtragem se encontra vazia
'Exemplo: strSplit = 2|0|1|0
'Significa que os campos 2 e 4 não receberam valores para serem filtrados
'------------------------------------------------------------------------------------------
strSplit = Len(cp(0) & "") & "|" & Len(cp(1) & "") & "|" & Len(cp(2) & "") & "|" & Len(cp(3) & "") & "|" & Len(cp(4) & "")
k = Split(strSplit, "|")

'----------------------------------------------------------------------------------------------
'Filtro assume todos os valores de registros caso todos os campos de filtragens estejam limpos
'----------------------------------------------------------------------------------------------
filtro = "taag": p = 0

'------------------------------------------------------------------------------------------
'Monta a variável filtro com todos os campos de filtragens que possuirem valores digitados
'------------------------------------------------------------------------------------------
For p = 0 To UBound(k)
    If Val(k(p)) > 0 Then
        If booPos = False Then
            filtro = "taag" & " and " & f(p): booPos = True
        Else
            filtro = filtro & " AND " & f(p)
        End If
    End If
Next p

'--------------------------------------------
'Carrga a listbox com os registros filtrados
'--------------------------------------------
'Call fncCarregalista("Nota > 0 And Função =  forms!frmFiltraListBox!TxtFunção")
Call fncCarregalista(filtro)

End Sub



Provérbios 1:7 “O temor do SENHOR é o princípio do saber, mas os loucos desprezam a sabedoria e o ensino.”

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Carvalho
Mensagens: 142
Registrado em: 21 Ago 2015, 23:22

Re: Pesquisar em Listbox e imprimir.

Mensagempor Carvalho » 14 Jul 2018, 22:23

Alguma sugestão pessoal ?
Provérbios 1:7 “O temor do SENHOR é o princípio do saber, mas os loucos desprezam a sabedoria e o ensino.”


Voltar para “Formulários”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante