Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Boris

Problema com a Logica

Recommended Posts

Galera estou com um problema de logica será que alguem pode me ajudar.

 

Tenho uma tabela caixa com os campos nome_clifor - Valor - tipo_pagto

 

Eu gostaria de somar (valor) tudo que seja de um tipo de pagto separado por Clifor

 

tenho o seguinte codigo:

<%
 IF NOT Dados.eof THEN
 	nome_clifor=EMPTY 
 
  WHILE NOT DADOS.EOF
 
    IF nome_clifor<>Dados("nome_clifor") THEN
 	nome_clifor=Dados("nome_clifor")
 	response.write"<hr>
 <b>FILIAL " &nome_clifor& "</b>
 "
    END IF 
 		
    V_Dinheiro = 0
    IF(tipo_pagto = D) THEN
 	V_Dinheiro=V_Dinheiro+valor
    END IF
 		response.write"<hr>
 <b>Dinheiro " &V_Dinheiro& "</b>
 "
 %>
 
 <%=Dados("NOME_CLIFOR")%> - <%=Dados("DESC_TIPO_PGTO")%> - <%=FormatCurrency(Dados("valor"))%>
 
 
 <%
 DADOS.MOVENEXT
 WEND 
 END IF %>

Obrigado Galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tb pode usar a funcaun SUM() do SQL, fica mais rápido...

 

a função SUM () retorna a soma total de uma coluna numérica.

 

SELECT SUM (column_name)AS valortotal FROM table_name WHERE tipo ="&vartipo&" ORDER BY Clifor ASC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro que está dando?

 

reparei que você igualou o "V_Dinheiro = 0"

 

Bom dia Ted k, então aparece da seguinte forma...

 

FILIAL CENTER NORTE (NOVA)

--------------------------------------------------------------------------------

Dinheiro 0

CENTER NORTE (NOVA) - CARTAO DE CREDITO POS - R$ 39,99

--------------------------------------------------------------------------------

Dinheiro 0

CENTER NORTE (NOVA) - CARTAO DE CREDITO POS - R$ 99,99

--------------------------------------------------------------------------------

 

FILIAL MORUMBI (NOVA)

--------------------------------------------------------------------------------

Dinheiro 0

CENTER NORTE (NOVA) - CARTAO DE CREDITO POS - R$ 70,00

--------------------------------------------------------------------------------

Dinheiro 0

CENTER NORTE (NOVA) - CARTAO DE CREDITO POS - R$ 50,00

--------------------------------------------------------------------------------

 

E na realidade eu estou tentando fazer assim

 

FILIAL CENTER NORTE (NOVA)

--------------------------------------------------------------------------------

Dinheiro 100,00 (somar tudo que seja do tipo_pagto=D)

Cheque 200,00 (somar tudo que seja do tipo_pagto=C, E, F)

Cartão 300,00 (somar tudo que seja do tipo_pagto=A, B)

 

e assim por diante

 

--------------------------------------------------------------------------------

 

Mas não estou conseguindo

 

Agradeço a força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Boris! diretamente na consulta é justamente como o Xan sugeriu, no seu select:

 

SELECT SUM (column_name)AS valortotal FROM table_name WHERE tipo ="&vartipo&" ORDER BY Clifor ASC"

Depois pra você chamar o valor total você usa a Alias criada como no exemplo, "valortotal", tipo:

 

Valor Total: <%=Dados("valortotal")%>

Tenta aí, qualquer coisa poste pra gente o seu select pra gente te ajudar melhor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Boris! diretamente na consulta é justamente como o Xan sugeriu, no seu select:

 

SELECT SUM (column_name)AS valortotal FROM table_name WHERE tipo ="&vartipo&" ORDER BY Clifor ASC"

Depois pra você chamar o valor total você usa a Alias criada como no exemplo, "valortotal", tipo:

 

Valor Total: <%=Dados("valortotal")%>

Tenta aí, qualquer coisa poste pra gente o seu select pra gente te ajudar melhor

 

 

eu posso criar varios select's

tipo

 

VDinheiro = SELECT SUM (column_name)AS valortotal FROM table_name WHERE tipo ="&vartipo&" ORDER BY Clifor ASC"
Vcheque = SELECT SUM (column_name)AS valortotal FROM table_name WHERE tipo ="&vartipo&" ORDER BY Clifor ASC"
e assim por diante ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dependendo da query pode ser tudo em uma só

 

Acho que esse vai ser o problema pois estou associando varias tabelas pra obter a informação que preciso segue meu codigo abaixo sem HTML.

 



<%

SQL ="SELECT 
   CADASTRO_CLI_FOR.NOME_CLIFOR, LOJA_VENDA_PGTO.DATA, LOJA_VENDA_PARCELAS.VALOR AS 'VALOR',
   TIPOS_PGTO.DESC_TIPO_PGTO, LOJA_VENDA_PARCELAS.TIPO_PGTO as 'TIPO_PAGTO' 
FROM 
   CADASTRO_CLI_FOR CADASTRO_CLI_FOR, LOJA_VENDA_PARCELAS LOJA_VENDA_PARCELAS, LOJA_VENDA_PGTO LOJA_VENDA_PGTO,
   TB_FECHA_CAIXA TB_FECHA_CAIXA, TIPOS_PGTO TIPOS_PGTO
WHERE TIPOS_PGTO.TIPO_PGTO = LOJA_VENDA_PARCELAS.TIPO_PGTO AND LOJA_VENDA_PGTO.CODIGO_FILIAL = LOJA_VENDA_PARCELAS.CODIGO_FILIAL
   AND LOJA_VENDA_PGTO.LANCAMENTO_CAIXA = LOJA_VENDA_PARCELAS.LANCAMENTO_CAIXA AND LOJA_VENDA_PGTO.TERMINAL = LOJA_VENDA_PARCELAS.TERMINAL
   AND LOJA_VENDA_PARCELAS.CODIGO_FILIAL = CADASTRO_CLI_FOR.CLIFOR AND TB_FECHA_CAIXA.codigo_filial = LOJA_VENDA_PARCELAS.CODIGO_FILIAL
   AND TB_FECHA_CAIXA.codigo_filial = LOJA_VENDA_PGTO.CODIGO_FILIAL AND LOJA_VENDA_PGTO.DATA = TB_FECHA_CAIXA.data_registro
   AND ((LOJA_VENDA_PGTO.DATA={ts '2009-06-10 00:00:00'}))
ORDER BY CADASTRO_CLI_FOR.NOME_CLIFOR ASC"

SET Dados = Server.CreateObject("ADODB.Recordset")
Dados.Open SQL, conexao01, 3 

Dim vDinheiro
Dim vCheque
Dim vCartao

WHILE NOT DADOS.EOF 

	IF TIPO_PGTO=D THEN 

		vDinheiro=(dados("valor"))

		response.Write("Dinheiro : "&dados("tipo_pagto"))&" - "
		response.Write(vDinheiro)&"<BR>"
        
		Dados.MoveNext()

	END IF

WEND


Compartilhar este post


Link para o post
Compartilhar em outros sites

é melhor você fazer um agrupamento

ou tb você pode um SQL

SELECT SUM (column_name)AS valortotal FROM table_name WHERE tipo ="&vartipo&" ORDER BY Clifor ASC"
e aé mesmo inseridno os critérios k necessita...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.