Eder Melop Postado Janeiro 26, 2011 Denunciar Share Postado Janeiro 26, 2011 (editado) Bom dia,Gostaria que alguém me ajudasse, parace ser simples pois não consegui fazer funcionar... :wacko: não achei em lugar nenhum!! Bom vamos ao exemplo bem basico:Tenho duas tabelas num banco de dado access- bd1.mdb> dentro do bancotabela 1id | produto1 | valor | id_cliente | recebido1 | memoria | 95,00 | 5 | true2 | processador | 120,00 | 6 | true3 | gabinete | 100,00 | 5 | falsetabela 2id | produto2 | valor | id_cliente | recebido1 | placa-mae | 90,00 | 5 | true2 | video | 100,00 | 6 | falseO que realmente eu queria é apenas somar a coluna (valor) das duas tabelas que simplesmente o resultado do id_cliente 5 é 185,00No caso a busca seria pelo ID_CLIENTE!A Function usada abaixo é apenas para imprimir como R$, ignorando isso veja a fonte:<%id_cliente = request.form("txt_id")Function FormataMoeda(valor) sp = Mid(FormatNumber(1000, 0, -1, 0, -1),2,1) sv = Mid(FormatNumber(0.1, 1, -1, 0, -1),2,1) If isNumeric(valor) Then v = FormatNumber (valor, 2, -1, 0, -1) Else v = FormatNumber (0, 2, -1, 0, -1) End If v = Replace(v, sp, "p") v = Replace(v, sv, "v") v = Replace(v, "p", ".") v = Replace(v, "v", ",") FormataMoeda = vEnd FunctionSet objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bd1.mdb") set cons = server.CreateObject("adodb.recordset") cons.open "Select sum(tabela1.valor) + sum(tabela2.valor) from tabela1 INNER JOIN tabela2 ON tabela1.id_cliente=tabela2.id_cliente group by tabela1.id_cliente , tabela2.id_cliente , tabela1.recebido=true, tabela2.recebido=true ",Objconn valor = cons(0) response.write "R$ "&FormataMoeda(valor)&"" cons.close set cons= nothing %>já tentei de todos os jeitos e nenhum resultado positivo, se alguém puder quebrar a cabeça e ajudar, agradeço!!vlw Editado Janeiro 27, 2011 por Eder Melop Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Janeiro 26, 2011 Denunciar Share Postado Janeiro 26, 2011 algo do tipo:SELECT Tabela1.id, Tabela1.valor+Tabela2.valor AS Expr1 FROM Tabela1, Tabela2 WHERE (((Tabela1.id)="&id&")); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Melop Postado Janeiro 26, 2011 Autor Denunciar Share Postado Janeiro 26, 2011 (editado) algo do tipo:SELECT Tabela1.id, Tabela1.valor+Tabela2.valor AS Expr1 FROM Tabela1, Tabela2 WHERE (((Tabela1.id)="&id&"));não funcionou, mas vlw bareta... vou tentar mais alguma coisa... mas tah osso... :blink: Editado Janeiro 26, 2011 por Eder Melop Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Janeiro 26, 2011 Denunciar Share Postado Janeiro 26, 2011 o.0Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bd1.mdb") set cons = server.CreateObject("adodb.recordset") cons.open "SELECT Tabela1.id, Tabela1.valor+Tabela2.valor AS Expr1 FROM Tabela1, Tabela2 WHERE Tabela1.id="&id_cliente,Objconn if not cons.eof then valor = cons(Expr1) response.write "R$ "&FormataMoeda(valor) else response.write "Nada encontrado" end if cons.close set cons= nothing Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Eder Melop Postado Janeiro 26, 2011 Autor Denunciar Share Postado Janeiro 26, 2011 (editado) o.0Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bd1.mdb") set cons = server.CreateObject("adodb.recordset") cons.open "SELECT Tabela1.id, Tabela1.valor+Tabela2.valor AS Expr1 FROM Tabela1, Tabela2 WHERE Tabela1.id="&id_cliente,Objconn if not cons.eof then valor = cons(Expr1) response.write "R$ "&FormataMoeda(valor) else response.write "Nada encontrado" end if cons.close set cons= nothing Opa, B) Consegui resolver esse problema, na verdade tudo ficou assim; primeiro a pagina de de busca; busca.htm <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Nova pagina 1</title> </head> <body> <form method="POST" action="bd.asp"> <p><input type="text" name="id" id=id size="20"><input type="submit" value="Submeter" name="B1"><input type="reset" value="Redefinir" name="B2"></p> </form> </body> </html> agora a pagina do resultado; bd.asp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Nova pagina 1</title> </head> <body> <% id_cliente = request.form("id") Function FormataMoeda(valor) sp = Mid(FormatNumber(1000, 0, -1, 0, -1),2,1) sv = Mid(FormatNumber(0.1, 1, -1, 0, -1),2,1) If isNumeric(valor) Then v = FormatNumber (valor, 2, -1, 0, -1) Else v = FormatNumber (0, 2, -1, 0, -1) End If v = Replace(v, sp, "p") v = Replace(v, sv, "v") v = Replace(v, "p", ".") v = Replace(v, "v", ",") FormataMoeda = v End Function Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bd1.mdb") set cons = server.CreateObject("adodb.recordset") cons.open "Select sum(valor) from (select * from tabela1 UNION select * from tabela2) where recebido=true and id_cliente='"&id_cliente&"' ",Objconn valor = cons(0) response.write "R$ "&FormataMoeda(valor)&"" cons.close set cons= nothing %> </body> </html>Obs: Lembrando que as tabelas tem que ter as mesmas quantidades de colunas!Bareta muito obrigado pela atençao!! Espero ajudar alguém que esteja com o mesmo problema!!!Abraço e em breve tem mais... ^_^ Editado Janeiro 27, 2011 por Eder Melop Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Eder Melop
Bom dia,
Gostaria que alguém me ajudasse, parace ser simples pois não consegui fazer funcionar... :wacko:
não achei em lugar nenhum!! Bom vamos ao exemplo bem basico:
Tenho duas tabelas num banco de dado access
- bd1.mdb
> dentro do banco
tabela 1
id | produto1 | valor | id_cliente | recebido
1 | memoria | 95,00 | 5 | true
2 | processador | 120,00 | 6 | true
3 | gabinete | 100,00 | 5 | false
tabela 2
id | produto2 | valor | id_cliente | recebido
1 | placa-mae | 90,00 | 5 | true
2 | video | 100,00 | 6 | false
O que realmente eu queria é apenas somar a coluna (valor) das duas tabelas que simplesmente o resultado do id_cliente 5 é 185,00
No caso a busca seria pelo ID_CLIENTE!
A Function usada abaixo é apenas para imprimir como R$, ignorando isso veja a fonte:
<%
id_cliente = request.form("txt_id")
Function FormataMoeda(valor)
sp = Mid(FormatNumber(1000, 0, -1, 0, -1),2,1)
sv = Mid(FormatNumber(0.1, 1, -1, 0, -1),2,1)
If isNumeric(valor) Then
v = FormatNumber (valor, 2, -1, 0, -1)
Else
v = FormatNumber (0, 2, -1, 0, -1)
End If
v = Replace(v, sp, "p")
v = Replace(v, sv, "v")
v = Replace(v, "p", ".")
v = Replace(v, "v", ",")
FormataMoeda = v
End Function
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("bd1.mdb")
set cons = server.CreateObject("adodb.recordset")
cons.open "Select sum(tabela1.valor) + sum(tabela2.valor) from tabela1 INNER JOIN tabela2 ON tabela1.id_cliente=tabela2.id_cliente group by tabela1.id_cliente , tabela2.id_cliente , tabela1.recebido=true, tabela2.recebido=true ",Objconn
valor = cons(0)
response.write "R$ "&FormataMoeda(valor)&""
cons.close
set cons= nothing
%>
já tentei de todos os jeitos e nenhum resultado positivo, se alguém puder quebrar a cabeça e ajudar, agradeço!!
vlw
Editado por Eder MelopLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.