none
Somar total com formatacao e subtrair datas - com ASP classico RRS feed

  • Pergunta

  • Boa tarde Pessoal

    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.

     

    segunda-feira, 14 de março de 2011 19:04

Todas as Respostas

  • Jonas, para somar é só criar uma variavel fora do loop, exemplo basico

    dim soma
    while not rs.EOF
          soma = soma + rs("colunavalor")
          rs.movenext
    wend

    Para formatar você pode usar o FormatNumber (FormatNumber(soma,2)

    http://www.w3schools.com/vbscript/func_formatnumber.asp

    Para calcular os dias em atraso você pode usar a função datediff, veja o link abaixo:

    http://www.w3schools.com/vbScript/func_datediff.asp

     


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 15 de março de 2011 01:51
  •  

    Olá Luiz

    Farei alguns testes para ver se consigo fazer certinho e postarei aqui...

    Muito agradeciodo pela atencao

     

    terça-feira, 15 de março de 2011 17:25
  •  

    Bom dia Luiz ou quem puder me ajudar.... uf..

    Suando para fazer uma "sominha" kkkkkk, desculpem..vou postar o codigo para ver se conseguem me entender.

    Apenas quero somar o campo "valor", tem algo errado na primeira sql ?

    No final do relatorio preciso SOMAR o campo VALOR... e se trocar o criterio de busca, claro... atualizar o total...

    Obrigado

    ---------------------------------------------------------------------- 
     
    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, SUM(valor) AS TOT1 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 
     
       
    %> 

     

    <% Response.write(FormatCurrency(rs("tot1")) %>

     

     

     

     

     

     

     

    quarta-feira, 16 de março de 2011 14:01
  • Alguma dica ...?
    quinta-feira, 17 de março de 2011 01:37
  • No seu primeiro SELECT você precisa colocar o GROUP BY para os campos diferentes de valor.

     


    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    quinta-feira, 17 de março de 2011 03:16