SELECT SUM

MARCELO.VB.PIRA 18/03/2005 11:54:06
#73583
oi!!! divinha??? eu BIS!!!

seguinte miguinhos:

usando um dbgrid que ta ligado a um dataobject (DtFinanceiro), montei uma pesquisa da seguinte forma:

DtFinanceiro.RecordSource = "Select * From financeiro where cliente = 'valdir' Order by codigo"
DtFinanceiro.Refresh

intaum, no dbgrid q ta ligado ao dataobject "DtFinanceiro" é mostrado apenas as contas deste cliente.

gostaria que a partir deste resultado, eu conseguisse somar uma das colunas (ou campos, sepreferirem)

como não sei usar o select sum, peguei a seguinte tentativa:

TotalDaConsulta = "Select SUM (ccur(total_liquido)) AS total FROM financeiro "

Obs.:O campo Total_Liquido foi gravado no format texto com a seguinte formatação: R$ 14,43 R$ 1234,54 etc . Por isso usei o ccur. está certo isso?


detalhe: onde catzo eu pego o resultado da soma??? gostaria de jogar dentro de um TextBox tipo TxFinValorTotal.text

como eu faço para somar o campo TOTAL_LIQUIDO??? e esta soma tem q ser no resultado da consulta...

poderia fazer um loop... mas... para fazer um loop e contar fica meio complicado... pois uma das consultas disponiveis, é o total de debitos dos clientes, que pode gerar a "besteirinha" de mais de 12.000 registros... e "loopar" isso tudo demanda tempo...

alguem pode me ajudar de novov??? mais uma vez??? novamente??? bis???

FELIPEA 18/03/2005 12:09:33
#73588
Nenhum dos itens abaixo serve?

To falando do fim da pagina
MARCELO.VB.PIRA 18/03/2005 12:16:31
#73592
infelizmente naum felipão...

pois estou usando DAO com dataobject...

e os exemplos abaixo não se encaixam na minha procura...
WEBMASTER 18/03/2005 12:16:46
#73594
Resposta escolhida
Conexão em DAO

dim rs as recordset

cSql = Select SUM (ccur(total_liquido)) AS total FROM financeiro "

set rs = conexao.openrecordset(cSql)

txt_total = rs.fields(0)
MARCELO.VB.PIRA 18/03/2005 12:29:56
#73595
bom.. desta forma, deu METHOD OR DATA MEMBER NOT FOUND

Dim rs As Recordset
260 cSql = "Select SUM (ccur(total_liquido)) AS total FROM financeiro "
270 Set rs = DtFinanceiro.OpenRecordset(cSql)
280 txt_total = rs.Fields(0)



e desta forma, deu erro 424 (object requerid) na linha 270

Dim rs As Recordset
260 cSql = "Select SUM (ccur(total_liquido)) AS total FROM financeiro "
270 Set rs = CONEXAO.OpenRecordset(cSql)
280 txt_total = rs.Fields(0)



o q ta faltando????
WEBMASTER 18/03/2005 12:36:41
#73599
Conexão em DAO

dim rs as recordset
dim basedados as database

cSql = Select SUM (ccur(total_liquido)) AS total FROM financeiro "

set basedados = opendatabase("c:\base.mdb",false)
set rs = basedados.openrecordset(cSql)

txt_total = rs.fields(0)
MARCELO.VB.PIRA 18/03/2005 12:43:47
#73600
Dim rs As Recordset
Dim basedados As Database

260 cSql = "Select SUM (ccur(total_liquido)) AS total FROM financeiro "

270 Set basedados = OpenDatabase(DriveTrabalho + "\Arquivos de programas\Down_Ups\dados\" + Viniciais + "\financeiro\financeiro" + CbAno + ".mdb", False)
280 Set rs = basedados.OpenRecordset(cSql)

290 txt_total = rs.Fields(0)


deu o seguinte erro:

erro 3061 (too few parameters expected 1) na linha 280


e outra pergunta: esta soma que estamos tentando fazer, ela vai fazer a soma de TODO o bd??? pq veja bem: eu quero a soma apenas do resultado da seguinte consulta:

DtFinanceiro.RecordSource = "Select * From financeiro where cliente = 'valdir' Order by codigo"
DtFinanceiro.Refresh


ou seja: some os valores do campo "Total_Liquido" dos registros que foram filtrados pela consulta acima.
ou ainda: some os valores do campo "Total_liquido" do recordset resultante da consulta acima.

e não esqueçamos que estou usando um dataobject (DtFinanceiro)...


WEBMASTER 18/03/2005 13:03:24
#73604
Dim rs As Recordset
Dim basedados As Database

cSql = "Select SUM (vl_liquido) AS total FROM tabela where id_cliente=" & codigo_cliente

Set basedados = OpenDatabase("c:\base.mdb", False)
Set rs = basedados.OpenRecordset(cSql)

MsgBox rs.Fields(0)
WEBMASTER 18/03/2005 13:05:05
#73605
tire ccur
MARCELO.VB.PIRA 18/03/2005 13:19:53
#73610
DEU CERTO!!!!!

so um detalhe amado "master" que me ajudou (leia-se leopoldoarj):

tinha que ter o Ccur mesmo, pois como expliquei no inicio to topico, este campo (valor_liquido) estava em formato texto, e gravado da segunte maneira : R$ 145,87 R$ 654,23 etc)

Mas Valeu Mesmo!!!! daqui por diante, eu me viro quando aparecer alguma duvida com o select sum...

MUITISSIMO OBRIGADO COLEGA!!!!!!!


Tópico encerrado , respostas não são mais permitidas