Ir para conteúdo

POWERED BY:

Arquivado

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

bobsponja

Somar total com formatacao e subtrair datas - com ASP classico

Recommended Posts

Olá

 

Tenho um relatorio feito em ASP CLÁSSICO e preciso...

 

1) Como somar a coluna TOTAL e formatar o total com duas casas decimais?

 

2) Como extrair os dias em atraso entre as datas "data de vencto" e "data pagto" como no exemplo abaixo, por favor.

 

Total.......Data Vencto.....Data Pagto....Dias atraso

=====......===========.....======....=======

100,20......10/01/2011......15/01/2011........5

200,10......10/01/2011......17/01/2011........7

=======

300,30

 

 

 

Muito obrigado pela atençao.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode utilizar a cláusula SUM do SQL

SELECT nome,SUM(produtos) AS Total FROM tabela where Data_lote between DataIni and DataFim GROUP BY NTipo_Lote

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara...faça igual ao o que amigo xanburzum mostrou, ai para puxar tu pode por assim no código:

 

<%

'Aqui tu cria o recordset

Dim SQL

Dim RS

Set RS = Server.createobject("ADODB.Recordset")

SQL = "SELECT nome,SUM(produtos) AS Total FROM tabela where Data_lote between DataIni and DataFim GROUP BY NTipo_Lote"

RS.open SQL, 3, 3, CONEXÃO DO BANCO DE DADOS

 

 

Response.write(FormatCurrency(RS("Total"))

 

 

Neste exemplo, tu vai somar todos valores e trazer eles formatados já, caso dê um erro trazendo valor a mais, experimente o uso de um replace trocando o . por ,

 

Já para dar o numero de dias em atraso, tu faz assim:

 

<%

Dim Hoje

Dim Vencimento

Dim Atraso

 

'TEM que Criar um Recorset pra puxar a data de vencimento do banco de dados

 

Hoje = Day(now)&"/"&Month(now)&"/"&Year(now)

Vencimento = RECORSET("campo")

 

Atraso = DateDiff("d", Hoje, Vencimento)

 

Response.write("O atraso é de "&Atraso&" dias.")

%>

 

Caso tenha alguma dúvida só postar...

 

Abraços

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok galera , vou tentar aqui ... muchas gracisas

 

Pritricki me ajude per favore rsrsrsr

 

Tenho a seguinte situacao:

 

Empresa - Data_Vencto - Data_Pagto - Valor

Empresa1 - 10/01/2011 - 15/01/2011 - 100,00

Empresa1 - 10/01/2011 - 15/01/2011 - 100,00

Empresa2 - 15/01/2011 - 20/01/2001 - 300,00

 

O que estou tentando fazer:

 

- Somar por empresa = Ex: Empresa1 = 200,00 ( por o sum no campo valor )

 

- Somar por empresa no periodo = 10/01/2011 = 2000 ( a sql por perido esta ok, apenas por o sum no valor )

 

=== Todas as sqls abaixo estao certas e funfando, apenas nao consigo por um sum no campo VALOR - q vergonha rs

 

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

if ((var_por <> "cliente") and (var_por <> "nr_pedido") and (var_por <> "forma_curta") ) then var_por = ""

'-------// delete checkbox --------------------------------------------
strDelChk = Trim(Request.QueryString("c_delete"))
If (strDelChk<>"") Then
	SQL = "DELETE FROM servicos WHERE Id IN (" & strDelChk & ")"
	Conexao.Execute(SQL)
End If
'------// end checkbox delete ----------------------------------------


if (var_por <> "") then

if ((var_procurar = "") and (isnumeric(var_begin) and isnumeric(var_end))) then

	'response.write("1")
	SQL = "SELECT id,data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, valor FROM servicos WHERE nr_pedido BETWEEN '" & var_begin & "' AND '" &  var_end & "' ORDER BY data_servico ASC;"
elseif ((var_procurar = "") and (isdate(var_begin) and isdate(var_end))) then
	'response.write("2")

	allBegin = split(var_begin,"/")
	newBegin = allBegin(1) & "/" & allBegin(0) & "/" & allBegin(2)

	allEnd = split(var_end,"/")
	newEnd = allEnd(1) & "/" & allEnd(0) & "/" & allEnd(2)

	SQL = "SELECT id, data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, valor FROM servicos WHERE data_servico BETWEEN #" & newBegin & "# AND #" &  newEnd & "# ORDER BY data_servico ASC;"
elseif ((var_procurar <> "") and (isnumeric(var_begin) and isnumeric(var_end))) then

	'response.write("3")

	SQL = "SELECT id, data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido,valor FROM servicos WHERE (nr_pedido BETWEEN '" & var_begin & "' AND '" &  var_end & "') AND " & var_por & " LIKE '%" & var_procurar & "%' ORDER BY data_servico ASC;"
elseif ((trim(var_procurar) <> "") and (isdate(var_begin) and isdate(var_end))) then

	'response.write("4")

	allBegin = split(var_begin,"/")
	newBegin = allBegin(1) & "/" & allBegin(0) & "/" & allBegin(2)

	allEnd = split(var_end,"/")
	newEnd = allEnd(1) & "/" & allEnd(0) & "/" & allEnd(2)

	SQL = "SELECT id, data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, valor FROM servicos WHERE (data_servico BETWEEN #" & newBegin & "# AND #" &  newEnd & "#) AND " & var_por & " LIKE '%" & var_procurar & "%' ORDER BY data_servico ASC;"
elseif ((var_procurar = "") and (var_begin = "") and (var_end = "")) then

	'response.write("5")

	SQL = "SELECT id, data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, valor FROM servicos ORDER BY data_servico ASC;"
else	

	'response.write("6")

	SQL = "SELECT id, data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, valor FROM servicos WHERE " & var_por & " LIKE '%" & var_procurar & "%' ORDER BY data_servico ASC;"
end if
else
SQL = "SELECT id, data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, valor FROM servicos ORDER BY data_servico ASC;"
end if


set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open SQL, conexao, 3


%>

===================================

 

Essa linha retorna erroooooooooooo so por que pos o sum(valor) as totalx - por que ???

 

SQL = "SELECT id,data_servico, hora_solicitacao, cliente, solicitante, forma_curta, descricao, origem, destino, nr_pedido, sum(valor) as totalx  FROM servicos WHERE nr_pedido BETWEEN '" & var_begin & "' AND '" &  var_end & "' ORDER BY data_servico ASC;"

 

Muito agradecido a quem puder me dar uma dica ;-D

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro apresentado

 

e exatamente o que precisa acontecer para ter o funcionamento correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe... to tentado ver aqui no gerenciador, parece que tem q ativar alguma opcao para mostrar os erros no navegador

 

enviar erroa ao navegador = true

 

mas ainda no mosta os erros - tenho q ativar alguma outra coisa ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No minimo estão postando do mesmo lugar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retorna qual erro ?

Qual o seu banco de dados ?

Já viu a documentação desse banco de dados para saber se a clausula sql está correta ? Alguns comandos tem pequenas variações na montagem da clausulas.

Verificou se não está faltando uma aspas simples ou dupla nessa clasula ?

Deu um response.write nessa linha para ver como estão sendo passado os paramentos para o banco de dados ?

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.