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,
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:
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