Ir para conteúdo
Fórum Script Brasil
  • 0

Como "somar" os valores de uma coluna em DataGrid


Danleonhart

Pergunta

Olha eu de novo ! ^_^

Seguinte, tenho um DataGrid que recebe valores de três TextBoxes...sendo que a última coluna é onde ficam os valores numéricos, e desejo somar estes valores sempre que adicionar algo no DataGrid, assim como também subtrair o valor quando retirado...

O valor final será apresentado em um Label, mas quero saber se tem como apresentar o resultado na última linha da coluna.

Valeu pessoal :)

Editado por Danleonhart
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

@Kuroi:

Vou postar o script que uso no Form_Load e no CommandButton... faço sem BD, pois nesse caso não necessito manter nenhuma informação salva:

Dim tb As ADODB.Recordset

Private Sub Form_Load()

Set tb = New ADODB.Recordset

tb.Fields.Append "A", adVarChar, 50
tb.Fields.Append "B", adVarChar, 50
tb.Fields.Append "C", adVarChar, 50
tb.Open

End Sub

Private Sub cmd2_Click()
tb.AddNew
tb!A = txt1.Text
tb!B = txt2.Text
tb!C = txt3.Text
tb.Update

Set DG1.DataSource = tb
End Sub

Pronto, dessa maneira tudo escrito nos TextBoxes são colocados em três Colunas do DataGrid... agora o que desejo fazer é que todo valor colocado na Coluna "C" do DataGrid seja somado e apresentado em um Label ou n última linha da coluna... :rolleyes:

Mas você falou algo interessante, pois não sei usar esse tal de "sum()" :blush:

se você me explicar, agradeço também ! legal.png

Link para o comentário
Compartilhar em outros sites

  • 0

Achei !

Encontrei pesquisando no Google (mais de 4 horas :unsure: )

Segue script:

Private Sub Command1_Click()
    Dim dSoma As Double
   
    dSoma = 0
   
    For i = 0 To Me.DataGrid1.VisibleRows - 1
        DataGrid1.Row = i
        dSoma = dSoma + CDbl(Me.DataGrid1.Columns(0))
    Next i
   
    Label1.Caption =  "Total: " & dSoma

Para detalhar, em meu código alterei para a Coluna 3 pois é onde necessitei fazer a soma ==> CDbl(Me.DataGrid1.Columns(2)).

VALEU ! 033k.gif

Link para o comentário
Compartilhar em outros sites

  • 0

danleon, você tem q entender q se o datagrid esta vinculado com o recordset, os dados q ele mostra não pertencem a ele e sim ao recordset.

então, você tem q apagar do recordset e não do grid.

você teria então q localizar o registro no recordset, chamar o metodo Delete() e depois o Update().

quanto ao Sum(), não vai servir no seu caso, porque serve pra pegar os dados direto do banco.

ele é uma funcao de agregacao (existem outras como Count(), Max(), Min()), serve pra você trazer os dados já somados a partir do select.

de uma lida aqui:

http://www.w3schools.com/sql/sql_functions.asp

http://www.w3schools.com/sql/sql_func_sum.asp

http://www.sql-tutorial.net/SQL-SUM.asp

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...