MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Pesquisar em Listbox e imprimir.

    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 19/01/2013

    Pesquisar em Listbox e imprimir. Empty Pesquisar em Listbox e imprimir.

    Mensagem  Carvalho 5/7/2018, 15:25

    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:
    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
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    Pesquisar em Listbox e imprimir. Empty Re: Pesquisar em Listbox e imprimir.

    Mensagem  caiosouza 11/7/2018, 23:34

    Boa noite amigo,

    Isso não tem como alterar nas propriedades da listbox.

    Sugestão:

    1 - Crie uma função no evento clique duplo da listbox, e vá armazenando o índice do seu registro em um vetor ou listbox temporária.
    2 - Depois crie um botão para executar a rotina com os itens do vetor/listbox temporária armazenados pelo duplo clique.


    .................................................................................
    Caio Souza

    Engenheiro de Software
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 19/01/2013

    Pesquisar em Listbox e imprimir. Empty Re: Pesquisar em Listbox e imprimir.

    Mensagem  Carvalho 14/7/2018, 23:22

    Poxa bem pensado, vou fazer aqui uns teste daqui para amanhã posto o resultado.

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3598
    Registrado : 22/11/2016

    Pesquisar em Listbox e imprimir. Empty Re: Pesquisar em Listbox e imprimir.

    Mensagem  DamascenoJr. 15/5/2022, 03:37

    Carvalho, como ficou a situação?

    Aguardamos...


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado


    Pesquisar em Listbox e imprimir. Empty Re: Pesquisar em Listbox e imprimir.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/5/2022, 00:15