SELECT EM CAIXA DE LISTAGEM

 Tópico anterior Próximo tópico Novo tópico

SELECT EM CAIXA DE LISTAGEM

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#438343 - 19/05/2014 14:29:20

EDINALDOLA
RIO DE JANEIRO
Cadast. em:Junho/2009


Amigos alguém sabe qual a instrução que devo fazer para um select em uma caixa de listagem ? Exemplo: Tenho uma caixa de listagem com 50 registros. Dai o usuário seleciona 10 desses registros, que poderão ser ou não em ordem de sequência. Daí preciso executar um select em uma tabela para, por exemplo, dar um bônus de 10% na próxima compra dos clientes referentes aos 10 registros selecionados nesta caixa de listagem.
Se alguém puder ajudar, agradeço.




Resposta escolhida #438344 - 19/05/2014 15:50:12

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe
Voce já consegue obter os itens selecionados?




#438360 - 20/05/2014 12:10:31

EDINALDOLA
RIO DE JANEIRO
Cadast. em:Junho/2009


Consigo selecionar os registros na caixa de listagem. Agora o que não estou conseguindo é identificar estes registros para o select. Não sei se a caixa de listagem possui alguma propriedade que possa utilizar no WHERE do select.



#438368 - 20/05/2014 17:35:46

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe
O que precisa fazer é percorrer os itens do listbox e verificar se a propriedade selected é = true.

dim selecionado as string, i as integer
for i = 0 to list1.listcount - 1
  if list1.selected (i) = true then
    selecionado = selecionado & list1.list (i) & [Ô], [Ô]
  end if
next i

selecionado = left (selecionado, len (selecionado) - 2)

Quando você for montar a expressao SQL é só concatenar com o valor da variável [Ô]selecionado[Ô].

... WHERE campo IN ([Ô] & selecionado & [Ô])[Ô]





#438531 - 27/05/2014 11:19:47

EDINALDOLA
RIO DE JANEIRO
Cadast. em:Junho/2009


                  Tecla, deu certo, fiz apenas algumas modificações, conforme abaixo, e funcionou. Obrigado. Vou encerrar o tópio e pontuar você.                  

                   Dim I as Integer
                   Dim Selecionado as Integer

                   For I = 0 To Lista1.ListCount - 1
                        If ListaI1.Selected(I) = True Then
                            Selecionado = Lista1.Column(1, I)
                            ....
                            ([Ô]Select Campo FROM Tabela WHERE Campo=[Ô] & Selecionado & [Ô][Ô])
                           ....
                        End If
                    Next I




 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por EDINALDOLA em 27/05/2014 11:20:33