Ir para conteúdo
Fórum Script Brasil
  • 0

Soma Em Bd Simples Ou Naum ?!?!


fhermel

Pergunta

cool.gif Ai Galeria do ASP

É nois de novo com a seguente duvida tenho um BD com o nome "COMPRA" neste tem duas coluna "VALOR" e "QUANTIDADE"

Eu gostaria de fazer um busca q ate ai é tranquilo mais no final do resultado quero mostra a soma total das colunas "VALOR" e "QUANTIDADE"

Meu code de busca é este o q tenho que agrecentar ?

<%
Dim objConn, objrs, strsql
Set objConn = server.createobject("ADODB.Connection")
objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &Server.MapPath("bds/cadastro.mdb"))
set objrs=server.createobject("adodb.recordset")
strsql= "select * from compra"
objrs.open strsql,objconn,3,2
%>

Valeuzis curisada

Toques polyfonicos e imagens free tem la no meu site WEB MASTER RS

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Você pode fazer o seguinte:

set objrs2 = server.createobject("adodb.recordset")
strsql2 = "select SUM(valor) AS tvalor, SUM(quantidade) as tqt from compra"
objrs2.open strsql2, objconn, 3, 2

Dessa forma você terá dois campos neste Recordset ("tvalor" e "tqt") e ambos terão os respectivos somatórios dos campos "valor" e "quantidade".

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu amigo mais não deu era assim o code ???

<%
Dim objConn, objrs, strsql
Set objConn = server.createobject("ADODB.Connection")
objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &Server.MapPath("bds/cadastro.mdb"))
set objrs2 = server.createobject("adodb.recordset")
strsql2 = "select SUM(valor) AS tvalor, SUM(quanto) as tqt from compra"
objrs2.open strsql2, objconn, 3, 2
%>
e mostra assim
<%=objrs2("tvalor")%>
<%=objrs2("tqt")%>

Link para o comentário
Compartilhar em outros sites

  • 0

pior q sim amigo

o erro é este


Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

[Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério. 

/teste.asp, line 8 

a linha 7 e 8 são estas

7 - strsql2 = "select SUM(valor) AS tvalor, SUM(quanto) as tqt from compra"

8 - objrs2.open strsql2, objconn,3,2

Link para o comentário
Compartilhar em outros sites

  • 0

Experimenta trocar a linha...

objConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &Server.MapPath("bds/cadastro.mdb"))
... por:
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bds/cadastro.mdb"))

E veja se dá certo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Nada broder

Da uma olhada no meu code ai


<%
Dim objConn, objrs, strsql
Set objConn = server.createobject("ADODB.Connection")
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bds/cadastro.mdb"))
set objrs2 = server.createobject("adodb.recordset")
'strsql2 ="SELECT * FROM compra"
strsql2 = "SELECT SUM(valor) AS tvalor, SUM(quanto) AS tqt FROM compra"
objrs2.open strsql2, objconn,3,1
%>
<html>
<head>
<STYLE>
BODY
{
SCROLLBAR-FACE-COLOR: #000000; 
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; 
SCROLLBAR-SHADOW-COLOR: #ffffff; 
SCROLLBAR-3DLIGHT-COLOR: #000000; 
SCROLLBAR-ARROW-COLOR: #ffffff; 
SCROLLBAR-TRACK-COLOR: #ffffff; 
SCROLLBAR-DARKSHADOW-COLOR: #000000
}
</STYLE>
<style type="text/css">
a{font-family:verdana;font-size:8pt;color:#ffffff;text-decoration:nome;}
input{font-family:verdana;font-size:8pt;color:#ffffff;background-color:#000066;}
</style>
</head>
<body bgcolor="#E0E0E0" ftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<%do while not objrs2.eof%>

<%=objrs2("valor")%> | <%=objrs2("tipo")%> | <%=objrs2("data")%> | <%=objrs2("quanto")%><br>
<%=objrs2("tvalor")%>|                     |                     | <%=objrs2("tqt")%><br>

<%objrs2.movenext 
loop%>

<%
objconn.close
set objconn = nothing
%>
</body>
</html>


assim como esta da este erro
Microsoft JET Database Engine error '80040e07' 

Tipo de dados imcompatível na expressão de critério. 

/teste.asp, line 8 

Link para o comentário
Compartilhar em outros sites

  • 0

Veja bem, quando criei o objrs2 (que contém apenas os somatórios) não foi para suprir o objrs original (que continha os registros). Por isso, ele não terá os campos valor e tipo, mas sim somente tvalor e tqt. Porém, ainda não acho que seja esse o problema. Quando ele dá o erro da linha 8, ele não informa o que está realmente na linha 8?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Seria sem abrir um recordset separado OU somando os valores a medida que o recordset fosse sido percorrido. Para o primeiro caso, seria assim:

strsql2 = "SELECT SUM(valor) AS tvalor, SUM(quanto) AS tqt FROM compra"
Response.Writeln(objConn.Execute(strsql2).Fields("tvalor").Value)
Response.Writeln(objConn.Execute(strsql2).Fields("tqt").Value)
A outra maneira é ter variáveis que iriam acumulando os valores a medida que o recordset fosse exibido:
do while not objrs.eof
  Response.Writeln(objrs.fields("campo1").value)
  Response.Writeln(objrs.fields("campo2").value)  
  tvalor = tvalor + objrs.fields("valor").value
  tqt = tqt + objrs.fields("qt").value
loop
Response.Writeln(tvalor)
Response.Writeln(tqt)

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Ola a todos com este code deu !


<% 
ConnString = "bds/cadastro.mdb" 
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(ConnString)
Set Connexao = Server.CreateObject("ADODB.Connection") 
Connexao.Open DSN 
SQLString = "SELECT sum(compra.valor) as valor, sum(compra.quanto) as quanto from compra"
Set RS = Connexao.Execute(SQLString) 
%>
<html>
<head>
<STYLE>
BODY
{
SCROLLBAR-FACE-COLOR: #000000; 
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; 
SCROLLBAR-SHADOW-COLOR: #ffffff; 
SCROLLBAR-3DLIGHT-COLOR: #000000; 
SCROLLBAR-ARROW-COLOR: #ffffff; 
SCROLLBAR-TRACK-COLOR: #ffffff; 
SCROLLBAR-DARKSHADOW-COLOR: #000000
}
</STYLE>
<style type="text/css">
a{font-family:verdana;font-size:8pt;color:#ffffff;text-decoration:nome;}
input{font-family:verdana;font-size:8pt;color:#ffffff;background-color:#000066;}
</style>
</head>
<body bgcolor="#E0E0E0" ftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
VALOR: <b><%=RS("valor")%></b><br>
QUANTIDADE: <b><%=RS("quanto")%></b>
</body>
</html>
<% 
RS.Close 
Connexao.Close 
Set RS = Nothing 
Set Connexao = Nothing 
%>

Link para o comentário
Compartilhar em outros sites

  • 0

olá

o codigo realmente era o mesmo..

Bem.. se foi resolvido, então vou fechar o tópico aqui.. beleza?

Se tiverem mais alguma duvida nisso, manda PM pra mim, que eu abro

abraços

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...