fhermel Postado Setembro 18, 2004 Denunciar Share Postado Setembro 18, 2004 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 curisadaToques polyfonicos e imagens free tem la no meu site WEB MASTER RS Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 18, 2004 Denunciar Share Postado Setembro 18, 2004 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, 2Dessa 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 More sharing options...
0 fhermel Postado Setembro 19, 2004 Autor Denunciar Share Postado Setembro 19, 2004 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 More sharing options...
0 Graymalkin Postado Setembro 19, 2004 Denunciar Share Postado Setembro 19, 2004 Eu mostraria assim:<% Response.Writeln(objrs2.fields("tvalor").value) %> <% Response.Writeln(objrs2.fields("tqt").value) %>Apresentou algum erro aí?Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 fhermel Postado Setembro 19, 2004 Autor Denunciar Share Postado Setembro 19, 2004 pior q sim amigoo 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 estas7 - 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 More sharing options...
0 Graymalkin Postado Setembro 19, 2004 Denunciar Share Postado Setembro 19, 2004 Ambos os campos são numéricos?Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 fhermel Postado Setembro 19, 2004 Autor Denunciar Share Postado Setembro 19, 2004 Sim tanto a coluna VALOR quanto a coluna quanto são numerosMais não tem nenhum parametro semdo enviado apena umapagina que busca no BD e mostra o total tipo isto Valor | Quantidade 10 | 1 20 | 2 total 30 | 3 Valeuzis Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 19, 2004 Denunciar Share Postado Setembro 19, 2004 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 More sharing options...
0 fhermel Postado Setembro 19, 2004 Autor Denunciar Share Postado Setembro 19, 2004 Nada broderDa 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 More sharing options...
0 Graymalkin Postado Setembro 19, 2004 Denunciar Share Postado Setembro 19, 2004 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 More sharing options...
0 fhermel Postado Setembro 19, 2004 Autor Denunciar Share Postado Setembro 19, 2004 nada amigo so isto que já lhe mostreivaleuzis Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 19, 2004 Denunciar Share Postado Setembro 19, 2004 Putz, não faço nem idéia do que possa estar errado. Faz o seguinte, monte do mesmo jeito que você fazia antes e mostre onde você queria que aparecesse os totais (porque existe uma outra maneira de se obter esses cálculos).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 fhermel Postado Setembro 19, 2004 Autor Denunciar Share Postado Setembro 19, 2004 Ola Amigo estou de volta.Qual a outra maneira de obter o calculo ????valeuzis Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 19, 2004 Denunciar Share Postado Setembro 19, 2004 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 More sharing options...
0 fhermel Postado Setembro 20, 2004 Autor Denunciar Share Postado Setembro 20, 2004 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 More sharing options...
0 Graymalkin Postado Setembro 20, 2004 Denunciar Share Postado Setembro 20, 2004 Estranho... teoricamente é o mesmo código de antes. O que Execute() retorna é justamente um Recordset.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Setembro 20, 2004 Denunciar Share Postado Setembro 20, 2004 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 abroabraços Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
fhermel
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 ?
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