USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Utilizar mais de um ListBox para realizar consulta
alvescbjr
não registrado
Postada em 28/02/2018 15:56 hs   
Boa tarde,

     Estou criando uma relação de produto, onde eu utilizo Três CheckBox (Grupo, Marca, Valor).
     - Quando o grupo está ticado é habilitado um listBox com todos os grupos cadastrados no banco de dados(SQLSERVER).
     - Quando o checkBox da marca está ticada habilita um ListBox com todas as marcas cadastradas.
     - Quando o checkBox Valor está ticado habilita um comboBox com todos os valores do banco

OBS:o Style dos listBox estão como CheckBox.

Eu consigo pegar todos os grupos ou marcas ticadas e atribuir para um array:

Grupo:

    Dim Contador As Integer
    Dim Indice As Integer
    Dim Grupo() As String

    Indice = 0
    
    ReDim Grupo(lista.ListCount)
        
    For Contador = 0 To lista.ListCount - 1
        If lista.Selected(Contador) = True Then
            Grupo(Indice) = lista.List(Contador)
            Indice = Indice + 1
        End If
    Next

MARCA:

    Dim Contador As Integer
    Dim Indice As Integer
    Dim Marca() As String
    
    Indice = 0
    
    ReDim Marca(lista.ListCount)
    
    For Contador = 0 To lista.ListCount - 1
        If lista.Selected(Contador) = True Then
            Marca(Indice) = lista.List(Contador)
            Indice = Indice + 1
        End If
    Next


O problema:

     Eu não consigo pensar em uma logica quando um ou mais grupo estiver ticado e uma ou mais marcas estiver ticadas consultar no banco e preencher uma flexgrid, alguém tem uma solução?


Esse é o SELECT que eu utilizo:

    Sql = "SELECT p.codigo, p.codigo_barra, p.descricao, m.descricao As 'Marca', g.descricao As 'Grupo', "
    Sql = Sql & "p.Unidade , p.preco_custo, p.preco_venda "
    Sql = Sql & "FROM Produto p "
    Sql = Sql & "LEFT JOIN Marca m "
    Sql = Sql & "On p.Marca = m.Codigo "
    Sql = Sql & "LEFT JOIN Grupo_Produto g "
    Sql = Sql & "ON p.Grupo = g.Codigo "
    Sql = Sql & "WHERE "
    If Grupo <> "" Then
        Sql = Sql & " g.Descricao ='" & Grupo & "' "
    End If
    If Marca <> "" Then
        Sql = Sql & " m.Descricao = '" & Marca & "' "
    End If
    
    If Valor > 0 Then
        Sql = Sql & " p.Preco_Venda = " & Val(Valor)
    End If
    
    Set Sn = Db.Execute(Sql)
     
alvescbjr
SÃO PAULO
SP - BRASIL
Postada em 01/03/2018 11:58 hs         
Consegui fazer:

Public Function Gerar_Relacao_Por_Grupo_Marca_Valor(listaGrupo As Object, listaMarca As Object, Valor As Double)
    Dim Contador As Integer
    Dim Contador2 As Integer
    Dim Grupo As String
    Dim Marca As String

    For Contador = 0 To listaGrupo.ListCount - 1
        If listaGrupo.Selected(Contador) = True Then
            Grupo = listaGrupo.List(Contador)
            
            For Contador2 = 0 To listaMarca.ListCount - 1
                If listaMarca.Selected(Contador2) = True Then
                    Marca = listaMarca.List(Contador2)
                    Call Produto.Gerar_Relacao_Produto(Grupo, Marca, Valor)
                    
                End If
            Next
        End If
    Next
End Function


Desde já agradeço!

TÓPICO EDITADO
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página