SOMA EM SELECT

ADHEL 04/06/2010 13:44:35
#343890
Boa tarde pessoal

Consigo Carregar um datagrid assim


sqlSelect = [Ô]Select Vendedor,Total From Vendas3 Where Data Between [ô][Ô] & Format(DTPicker1.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DTPicker2.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] [Ô]
Comando = New MySqlCommand(sqlSelect, Conexao)


da = New MySqlDataAdapter(sqlSelect, Conexao)
ds = New DataSet
da.Fill(ds, [Ô]Vendas3[Ô])

With dgvVendedores
.DataSource = ds.Tables([Ô]Vendas3[Ô])
.Columns(0).Width = 100
.Columns(1).Width = 100

End With

Eu precisava agora que o datagrid fosse carregado com o nome do vendedor mais o total da vendas ex:

O vendedor João fez 3 vendas
1ª venda = R$ 40,00
2 ª venda =R$ 25,00
3 ª Venda = R$ 10,00

No datagrid GOSTARIA que aparecesse apenas uma vez o Nome do vendedor e o Total que seria assim

Vendedor Total
João R$ R$ 75,00


Eu fiz assim a query


sqlSelect = [Ô]Select Vendedor,sum(Total) From Vendas3 Where Data Between [ô][Ô] & Format(DTPicker1.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DTPicker2.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] [Ô]
Comando = New MySqlCommand(sqlSelect, Conexao)

Desse jeito aparece apenas um vendedor e o campo Total aparece apenas o 0

Obrigados a todos
Qlqr dica será muito bem vinda.
CLAUDIO1404 04/06/2010 15:24:27
#343898
ADHEL,

O Select tem que ter o Group By.

Select Vendedor, SUM(Total) from Vendas Where [clausula where] Group By Vendedor

ADHEL 04/06/2010 15:37:43
#343900
CLAUDIO

Do jeito que você postou,aparece todos os vendedores.Mas na coluna Total TODOS ficam com o número 0

obrigado
ADHEL 05/06/2010 12:44:14
#343971
Pessoal consegui obter o resultado mas..

Coloquei a query assim

sqlSelect = [Ô]Select Vendedores, SUM(Total)as Total from Vendas3 Where Data Between [ô][Ô] & Format(DTPicker1.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DTPicker2.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] Group By Vendedores[Ô]

Eu estava gravando o Total Formatado.Ou seja No campo do banco de dados 15 reais ficava assim R$ 15,00
Quando tirei a formatação consegui obter o resultado.
Só que agora tenho outro problema se existe no campo total algum valor que não seja inteiro ele não soma esses centavos
Alguém saberia me dizer como faço a query para somar corretamente

Obrigado a todos
RICART 05/06/2010 18:17:55
#344003
Pelo que estou entendendo o seu campo de valor está como texto. Se vc corrigir essa falha, creio que dará certo. Acredito que era por isso que estava saindo zerado antes.
NICKOSOFT 05/06/2010 20:01:55
#344015
pode ser q ajude, mas qnd trago campos da tabela pra efetuar calculos, eu uso cdlb(campo)+cdbl(o q for somar), e ao resultado qnd quero em forma de $$ formatcurrency(valor)
nao sei se isso pode ajudar em algo vc
ADHEL 07/06/2010 09:44:03
#344092
Ricart
Seguindo sua orientação mudei o meu campo de VarChar para Decimal ,Depois float e depois Int.
Nenhum deu certo.

Nickosoft
Pela sua explicação como ficaria a minha query ?

Ricart e Nickosoft Obrigado pela ajuda
ADHEL 08/06/2010 13:36:25
#344263
Pessoal consegui resolver por completo
Vou postar
Eu estava preocupado só com a query para solucionar. Na verdade o problema estava como esses números eram gravados no banco de dados. Foi depois de pesquisar bastante, que soube que para obter o resultado exato, teria que trocar a vírgula pelo ponto.
Na hora que vai gravar usei o Replace.
Na hora que vou consultar, formatei a célula do datagrid para exibir como Currency.
Lembrando que estou usando o Mysql e para outro banco possa ser que não funcione.
Fico grato pela ajuda que obtive mais uma vez aqui
Tópico encerrado , respostas não são mais permitidas