FILTRAR E SOMAR NO DBGRID

MARCELO.VB.PIRA 13/01/2005 01:42:14
#60427
perguntinha:

pq o loop começou do zero ate o valor do tamanho do aqruivo -1???

as linhas (row) do dbgrid começão a numeração pelo zero??? num é pelo 1???
DAVID.SP 13/01/2005 02:04:57
#60428
Camaradas, olha só

numa primeira listagem deu certo.....trouxe a soma da coluna, mas ele listou apenas 7 registros, quando tento listar tudo que são apenas 9, ele dá erro no registro 8 "row number error" e o erro apresenta exatamente na linha a linha "i" e encrementada o valor da linha que é 8........
DAVID.SP 13/01/2005 02:33:55
#60430
Galera, percebi o que está acontecendo.....

Quando a quantidade de registros ultrapassam o tamanha o DbGrid, ou seja, quando as barras de rolagem vertical aparecem.....apresenta o erro Invalid row number, mas se eu aumentar o tamanha o DbGrid de acordo que apareçam todos os registros filtrados ele mostra o resultado numa boa.....mas o problema é quando eu tiver um número muito grande de registros filtrados.......

Será que alguém saberia dizer como resolver esse problema....já mexi nas propriedades do DbGrid e nada.....

Muito obrigado.....
DAVID.SP 13/01/2005 02:48:18
#60431
Sem querer abusar da boa vontade de vocês, como faz para que a soma apareça os centavos, pois só está aparecendo o valor por inteiro, já tentei tranformá-lo com o format, mas não funcionou.....bom eu coloquei assim

dim soma as double

soma = format&(soma, "#,##0.00")

Mas mesmo assim não deu certo...

Fico muito agradecido.....
PAULOHSV 13/01/2005 07:32:38
#60434
DAVID_SP vamos aos casos:

Para filtrar:
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * from resultados where Nome = '" & TextNome.Text & "' and Data = '" & TextData.Text & " '"
Adodc1.Refresh
O seu grid deve estar ligado ao ado e as condições vc pode adapata-las

Para somar:

Dim soma As Double
Adodc1.Recordset.MoveFirst
While Not Adodc1.Recordset.EOF
soma = soma + Adodc1.Recordset.Fields("Valor")
Adodc1.Recordset.MoveNext
Wend
LabelResultado = soma

cria um loop percorrendo todos os registro contidos no ado somando os valores da coluna Valor


DAVID.SP 14/01/2005 01:06:02
#60645
Ok Camaradas,

Muito obrigado pela força, funcionou direitinho....mas tem outro problema, sem querer abusar da vontade de vocês........ele está mostrando o resultado inteiro, não mostra valores quebrados e outra coisa, quando lista muitos registros, onde o DbGrid tem que ativar a barra de rolagem vertical ele aparece o erro 6148 (Invalid row number), ou seja, se os registros listados forem menor ou igual ao tamanho do Grid beleza, caso contrário, aparece o erro.

Alguém saberia dizer o que é isso?????
USUARIO.EXCLUIDOS 14/01/2005 01:44:16
#60648
Coloca no looping para sempre faze isso:

DBGrid1.Scroll 0, DBGrid1.VisibleRows

Espero ter ajudado.

RGAFFO
PAULOHSV 14/01/2005 07:19:23
#60652
DAVID_SP mesmo no exemplo que eu te passei? Eu não faço referencia nenhuma as linhas do dbgrid mas sim ao proprio campo dentro do banco de dados.
DAVID.SP 14/01/2005 18:34:55
#60829
Ok Rgaffo e Paulohsv...

Rgaffo coloquei mas não adiantou, mas o que você colocou foi para exibir todas as linhas, no caso as linhas estão visíveis, existe uma barra de rolagem mas o problema é que quando o registro não é mostrada, porque deverá abaixo a rolagem para vê-lo ele dá erro, agora se no filtro mostrar todos os registros no tamanho do DbGrid, sem ativar a rolagem, ai funciona normalmente.......
DAVID.SP 14/01/2005 18:48:25
#60834
Senhores, consegui.......agora ele consegue trazer todos os registros sem problemas.....mas o total da soma da coluna só mostra o valor por inteiro, a variável está como Double e mesmo assim não mostra valores picados........já tentei de tudo....alguém poderia me dar uma luz?????

Muito obrigado,
Página 2 de 3 [21 registro(s)]
Tópico encerrado , respostas não são mais permitidas