SOMA LISTVIEW

FANY2016 12/05/2016 23:22:28
#462042
Oi Pessoal,

Como efetuo uma soma na label resumido da listview?

(Em anexo o arquivo)
KERPLUNK 12/05/2016 23:56:14
#462043
Percorra todos os ítens da sua lista de dados e some o valor desejado. Simples assim.
FANY2016 13/05/2016 15:46:32
#462057
Citação:

:
Percorra todos os ítens da sua lista de dados e some o valor desejado. Simples assim.



Private Sub txtBusca_Change()
Dim li As ListItem
Dim dTotal As Integer
Dim j As Integer
For j = 0 To ListView1.ListItems.Count
For Each li In ListView1.ListItems
dTotal = dTotal + Format(li.SubItems(2), [Ô]Currency[Ô])
j + j + 1
Next
Next j
lblVEntrada.Caption = Format(dTotal, [Ô]Currency[Ô])
End Sub

→ Resultado: sem erro. Mas, não está informando os centavos.

* Resumo: ao informar no textbox o tipo de busca (exemplo: 2016) esta informando o valor de entrada + saida na label (lblVEntrada).

Sendo que eu queria somente de entrada... (ambos seus valores separados [Ô]ENTRADA - SAÍDA = TOTAL)

OMAR2011 13/05/2016 16:07:14
#462060
Resposta escolhida
Private Sub txtBusca_Change(). Acredito não ser um boa prática.
Isto é seu.
Public Sub Preenche_List()

ListView1.ListItems.Clear
If Rst.RecordCount = 0 Then Exit Sub

While Not Rst.EOF

Set Lst = ListView1.ListItems.Add(, , Rst(0))
For RG = 1 To 7
Lst.SubItems(RG) = Rst(RG)


Next RG
Rst.MoveNext

Wend
Dim i As Integer
Dim soma As Double
For i = 1 To ListView1.ListItems.Count
soma = soma + ListView1.ListItems.Item(i).SubItems(2)
Next i
lblVEntrada.Caption = Format(soma, [Ô]Currency[Ô])
End Sub
FANY2016 13/05/2016 16:56:33
#462064
Citação:

:
Private Sub txtBusca_Change(). Acredito não ser um boa prática.
Isto é seu.
Public Sub Preenche_List()

ListView1.ListItems.Clear
If Rst.RecordCount = 0 Then Exit Sub

While Not Rst.EOF

Set Lst = ListView1.ListItems.Add(, , Rst(0))
For RG = 1 To 7
Lst.SubItems(RG) = Rst(RG)


Next RG
Rst.MoveNext

Wend
Dim i As Integer
Dim soma As Double
For i = 1 To ListView1.ListItems.Count
soma = soma + ListView1.ListItems.Item(i).SubItems(2)
Next i
lblVEntrada.Caption = Format(soma, [Ô]Currency[Ô])
End Sub



Sem resultados.
A soma não sai...

Grata,
FANY2016 13/05/2016 17:15:26
#462065
Citação:

:
:
Private Sub txtBusca_Change(). Acredito não ser um boa prática.
Isto é seu.
Public Sub Preenche_List()

ListView1.ListItems.Clear
If Rst.RecordCount = 0 Then Exit Sub

While Not Rst.EOF

Set Lst = ListView1.ListItems.Add(, , Rst(0))
For RG = 1 To 7
Lst.SubItems(RG) = Rst(RG)


Next RG
Rst.MoveNext

Wend
Dim i As Integer
Dim soma As Double
For i = 1 To ListView1.ListItems.Count
soma = soma + ListView1.ListItems.Item(i).SubItems(2)
Next i
lblVEntrada.Caption = Format(soma, [Ô]Currency[Ô])
End Sub


Sem resultados.
A soma não sai...

Grata,



Dim i As Integer
Dim Soma As Double
[ô]etc...
lblVEntrada.Caption = Format(soma, [Ô]currency[Ô]) [ô]apenas uma lógica pra somar valores de Entrada.
A Soma esta sendo direta.
KERPLUNK 13/05/2016 18:04:20
#462067
O seu código está correto, mas ao invés de declarar as variáveis como Integer, declare como Double, assim, você terá também os centavos.
OMAR2011 13/05/2016 20:45:22
#462069
Caí da mudança,estou perdido.
Soma,será famigerado que está certo.
Não condiz com dados da tabela.
KERPLUNK 13/05/2016 20:55:44
#462072
Pelo que fiz mentalmente está sim. Tanto que ela disse que somou, só não apareceram os centavos, porque o tipo que ela usou era Integer...
OMAR2011 13/05/2016 21:00:21
#462073
Pela soma da tabela o resultado tem que ser R$37,01.
O resultado dela está dando R$222,06.
Usei os dados do banco do projeto.
FANY2016 13/05/2016 21:08:51
#462074
a soma com ambos os códigos saiu correto.
Pois, só queria assim:
Se a soma de (entrada) desse o resultado somente de entrada de saida somente de saida. Ou seja:
Entrada (label) - Saida (label) = Total (saida)... simples assim.
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas