Ir para conteúdo

POWERED BY:

Arquivado

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

Inside

[Resolvido] Somar Lances

Recommended Posts

Caros amigos,

 

preciso de uma ajuda. Tenho esse código:

 

SQL = "SELECT id,dados1 from servicos where order by id"
	
rs.Open sql, conn

do while not rs.eof
	response.write "<tr><td>" & rs("dados1") & "</td><td>LANCES</td></tr>"
rs.movenext
loop

É como se fosse um leilão de serviços, esse código mostra os serviços que deverão ser feitos. Num outro banco eu tenho os lances de quem se interessa em fazer o serviço. Como faço para mostrar no código acima aonde está escrito "LANCES", quantos lances cada serviço teve?

 

A relação entre eles é o ID que na tabela Lances é igual ao que está na tabela Serviços.

 

 

Obrigado pela atenção de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se as tabelas sao relacionadas basta selecionar corretamente e listar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faca um inner join na instrucao SQL

SQL = "SELECT Servicos.id, Servicos.dados1 FROM servicos INNER JOIN Lances on Lances.Id = Servicos.Id where order by id"
	
rs.Open sql, conn

do while not rs.eof
	response.write "<tr><td>" & rs("Servicos.dados1") & "</td><td>" & rs("Lances.CAMPOQUEPRECISA") & "</td></tr>"
rs.movenext
loop

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é que os dados que devem ser relcionados estão em bancos diferentes.

 

Dá para fazer isso?

 

Eu achei isso aqui na Internet, mas na coluna Total de Lances aparece resultdo -1 em vez de aparecer quantos lances tem em cada Serviço.

 

 

Function findSubj_lances(id)

dim conn_la, rs_la, sql_la, cat_la, totalla, total

Set conn_la = Server.CreateObject("ADODB.Connection")

conn_la.open dsn_lance

SQL_la = "SELECT id_leilao from lances where id_leilao = " & id & ""

set rs_la = conn_la.execute(sql_la)

if rs_la.eof and rs_la.bof then
cat_la = ""
else
totalla = rs_la.recordcount
cat_la = totalla
end if

set rs_la = nothing

conn_la.close
set conn_la = nothing

findSubj_lances = cat_la

End Function



SQL = "SELECT id,dados1 from servicos order by id"
	
rs.Open sql, conn

do while not rs.eof
	response.write "<tr><td>" & rs("dados1") & "</td><td>" & rfindSubj_lances(rs("id")) & "</td></tr>"
rs.movenext
loop

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah...

 

 

Faz assim...

 

Cria 2 conexoes e 2 record sets

'--------------conexao bd1
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("String de conexao")
'--------------------------conexao bd 2
Set oConn2 = Server.CreateObject("ADODB.Connection")
oConn2.Open("String de conexao")
'-----------------------Record Set 1--------------------------------------------
Set RsListar = Server.CreateObject("ADODB.Recordset")
vSql = "SELECT id,dados1 from servicos where order by id"
RsListar.Open vSql, oConn
'-----------------------Record Set 1--------------------------------------------
Set RsListar = Server.CreateObject("ADODB.Recordset")
vSql2 = "SELECT * FROM Lances WHERE id="&RsListar("Id")
RsListar.Open vSql2, oConn2

Manjou?

 

q q coisa post ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Rodrigo1,

 

 

não deu certo, e além disso precisa mostar o total de lances em cada servico, tipo:

 

Serviço 1 - 2 Lance(s)

 

Serviço 2 - 1 Lance(s)

 

O código que você passou não soma os lances.

 

Caros amigos eu consegui fazer funcionar desta forma:

 

dim conn_lan

Set conn_lan = Server.CreateObject("ADODB.Connection")

conn_lan.Open dsn_lance

dim rscount_lances, sqlcount_lances, total_lances

Set rscount_lances = server.createobject("ADODB.Recordset")

sqlcount_lances = "SELECT id_leilao from registros where id_leilao = "& rs("id") &""
rscount_lances.Open sqlcount_lances, conn_lan, 1, 3

total_lances = rscount_lances.recordcount

set rscount_lances = nothing

conn_lan.close
set conn_lan = nothing

mas esse código preciso estar dentro do

 

do while not rs.eof

Do primeiro código que chama os serviços.

 

 

Obrigado pela atenção de todos.

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.