UNION SQL DE MSFLEXGRID

USUARIO.EXCLUIDOS 06/12/2006 16:41:24
#188386
ai pessoal..
como posso fazer a seguinte consulta corretamente?

("select sum(quantidade) as quant from Produtos where codigo = msflexgrid1.textMatrix(i,0) group by Produtos.codigo ")

seria a soma dos produtos que estao do msflexgrid1 agrupado por codigo


me ajudem... isso me ajudara muito!!
USUARIO.EXCLUIDOS 06/12/2006 16:43:54
#188387
Tente isso:

"select sum(quantidade) as quant from Produtos where codigo =" & msflexgrid1.textMatrix(i,0) & "group by Produtos.codigo"


USUARIO.EXCLUIDOS 06/12/2006 16:45:21
#188389
Opps. Deve ser assim:

"select sum(quantidade) as quant from Produtos where codigo = " & msflexgrid1.textMatrix(i,0) & " group by Produtos.codigo"
USUARIO.EXCLUIDOS 06/12/2006 16:54:58
#188391
acho que nao me expressei direito amigo..
o que eu mesmo queria é unir todas as consulta do loop for exemplo

MSFLEXGRID1 (1,0) = 1 ' isso seria o codigo_produto
MSFLEXGRID1 (2,0) = 2
MSFLEXGRID1 (3,0) = 1

TBProdutos
codigo | quant
1 10
2 20 ' selecionar esse +
2 5 ' selecionar esse
3 15


mas como no MSFLEXGRID é só os produtos 1 e 2
teria que retorna a soma só desses produtos!!

me ajudem pessoal... acho que teria que agrupar as tabelas no for.. mas como fazer isso?
USUARIO.EXCLUIDOS 06/12/2006 17:18:00
#188404
Primeiro vamos verificar o seguinte:

Qual sql você usou para popular o grid?

Não seria mais fácil pegar diretamente da tabela ao invés do grid? Se é que entendi direito....rsrsrs
LUIS.HERRERA 06/12/2006 19:52:51
#188420
Amigo não sei o que está fazendo e como, mas se quer exibir o resultado já somado, o caminho é o que o amigo Ricardo disse.

Agora se depois de popular seu grid, você tem alguma ação onde o usuário seleciona um produto e você dá a soma total, então teria de criar uma função com um loop do peimeiro ao último registro do grid, verificar se coluna (x,y) = código e se for, então pega o valor da coluna (W,Z) e soma numa variável auxiliar. ao final você exibe ou trata o total como desejar.

Acho que é isso, se entendi seu problema.
USUARIO.EXCLUIDOS 06/12/2006 22:10:11
#188435
Resposta escolhida
Dim SQLWhere as String

For i = 1 to msflexgrid1.Rows
SQLWhere = " codigo = " & msflexgrid1.textMatrix(i,0)
if i <> msflexgrid1.Rows
SQLWhere = SQLWhere & " OR"
End If
Next

rs.Open "Select Sum(Quantidade) as Quant from Produtos WHERE " & SQLWhere & " GROUP By Codigo",cnn, 3


Ve se lhe ajuda.
Tópico encerrado , respostas não são mais permitidas