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)
|