Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

SQL complexo

Recommended Posts

Shumi, nessa sql acima você mandou contar os campos "pontuacao_supervisor" <- ele não existe na sua tabela... você deve contar o campo "nome" ou "pontuacao"Os erros q você tinha ali em cima é pq você tá mandando ele imprimir um RS1("ponto"), mas esse ponto não existe na SQL...... você deve trocar por RS1("pontosupervisor")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shumi, nessa sql acima você mandou contar os campos "pontuacao_supervisor" <- ele não existe na sua tabela... você deve contar o campo "nome" ou "pontuacao"Os erros q você tinha ali em cima é pq você tá mandando ele imprimir um RS1("ponto"), mas esse ponto não existe na SQL...... você deve trocar por RS1("pontosupervisor")

Ultra,coloquei assim meu cod
<%sql1 ="select count(pontuacao_supervisor) as pontosupervisor,nome from pontuacao_supervisor where nome = (select nome from cad_vendedores where nome = '"& request("nome") &"') and pontuacao = 200" 		   Set rs1=Conexcao.Execute(sql1)						SQL2 = "Select Cod_Loja From cad_vendedores Where Nome = '"& RS("NomeAgrupado") &"';"			Set RS2 = Conexcao.Execute(SQL2)			Cor_Fonte = "RED"			  If InStr(Lojas_7,","& rs2("cod_loja") &",")<>0 AND RS1("pontosupervisor") > 6 Then			Cor_Fonte = "BLACK"			End If %>		   <font color="<%=Cor_Fonte%>"><%=RS1("pontosupervisor")%></font></td>		   <td><span class="texto10"><%=RS2("cod_loja")%></span></td>		 </tr>		 <tr>		   <td><span class="texto10">			 <%			RS2.Close			Set RS2 = Nothing			RS1.Close			Set RS1 = Nothing	 		rs.MoveNext	 		wend	 		set rs=nothing%>
e esta dando erro:Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Você tentou executar uma consulta que não inclui a expressão 'nome' especificada como parte de uma função agregada. /incentivos_lg/pontos_vendedores.asp, line 71 Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

descobri o erro q tanto me incomodava: bancos de dados Access não suportam a função COUNTmonta um contador via ASP mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

descobri o erro q tanto me incomodava: bancos de dados Access não suportam a função COUNTmonta um contador via ASP mesmo

Ultra,eu tenho um outro SQL com a Função Count no mesmo programa e ele ta funcionando.ele esta assim:
Sql1 ="SELECT COUNT(pontuacao_subgerente.ponto) as ponto FROM pontuacao_subgerente Where pontuacao_subgerente.ponto = 40 AND pontuacao_subgerente.nome = '"& RS("NomeAgrupado") &"';"            Set rs1=Conexcao.Execute(sql1)

AbraçosEu consegui tirar o erro, mas devo estar fazendo algo de errado, pois não esta contando!Mas agora esta sem erro!

sql1 ="select count (pontuacao_supervisor.ponto) as ponto from pontuacao_supervisor where nome = (select nome from cad_vendedores where nome = '"& request("nome") &"') and ponto = 200"

devo ter feito algum relacionamento errado!você sabe qual?obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esquece oq falei acima... olha a SQL:

sql1 ="select count(pontuacao_supervisor.ponto) as pontosupervisor, pontuacao_supervisor.nome as nome from pontuacao_supervisor where pontuacao_supervisor.nome = (select supervisor from cad_vendedores where nome = '"& request("nome") &"') and pontuacao_supervisor.ponto = 200 group by pontuacao_supervisor.nome"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esquece oq falei acima... olha a SQL:

sql1 ="select count(pontuacao_supervisor.ponto) as pontosupervisor, pontuacao_supervisor.nome as nome from pontuacao_supervisor where pontuacao_supervisor.nome = (select supervisor from cad_vendedores where nome = '"& request("nome") &"') and pontuacao_supervisor.ponto = 200 group by pontuacao_supervisor.nome"

OkDeu erro:ADODB.Recordset erro '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. /incentivos_lg/pontos_vendedores.asp, line 78 e a linha 78 é:
If InStr(Lojas_7,","& rs2("cod_loja") &",")<>0 AND RS1("ponto") > 6 Then
ai eu alterei essa linha e coloquei assim:
If InStr(Lojas_7,","& rs2("cod_loja") &",")<>0 AND RS1("pontosupervisor") > 6 Then
e deu o erro:erro '80020009' Exceção. /incentivos_lg/pontos_vendedores.asp, line 78 Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está faltando o While not rs.eof ou algo q inicie a listagem dos registros

Tenho ela em cima

 

<%While not rs.EOF%>			 <%=rs("nomeagrupado")%> </span></td>		   <td><span class="texto10"><%=rs("pontos")%></span></td>		   <td><%'sql1 = "Select pontuacao_supervisor.nome as nomesupervisor,cad_vendedores.nome as nomevendedor,pontuacao_supervisor.ponto as pontosupervisor from cad_vendedores inner join pontuacao_supervisor on cad_vendedores.supervisor = pontuacao_supervisor.nome where cad_vendedores.nome = '"& request("nome") &"' and pontuacao_supervisor.ponto = 200" 		   	sql1 ="select count(pontuacao_supervisor.ponto) as pontosupervisor,pontuacao_supervisor.nome as nome from pontuacao_supervisor where pontuacao_supervisor.nome = (select supervisor from cad_vendedores where nome = '"& request("nome") &"') and pontuacao_supervisor.ponto = 200" 						Set rs1=Conexcao.Execute(sql1)						SQL2 = "Select Cod_Loja From cad_vendedores Where Nome = '"& RS("NomeAgrupado") &"';"			Set RS2 = Conexcao.Execute(SQL2)			Cor_Fonte = "RED"			  If InStr(Lojas_7,","& rs2("cod_loja") &",")<>0 AND RS1("pontoss") > 6 Then			Cor_Fonte = "BLACK"			End If %>		   <font color="<%=Cor_Fonte%>"><%=RS1("pontoss")%></font></td>		   <td><span class="texto10"><%=RS2("cod_loja")%></span></td>		 </tr>		 <tr>		   <td><span class="texto10">			 <%			RS2.Close			Set RS2 = Nothing			RS1.Close			Set RS1 = Nothing	 		rs.MoveNext	 		wend	 		set rs=nothing
Obrigado!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

CARA DEU CERTO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Usei a sua SQL

 

sql1 ="select count(pontuacao_supervisor.ponto) as pontosupervisor,pontuacao_supervisor.nome as nome from pontuacao_supervisor where pontuacao_supervisor.nome = (select supervisor from cad_vendedores where nome = '"& RS("NomeAgrupado") &"') and pontuacao_supervisor.ponto = 200 group by pontuacao_supervisor.nome"

 

Mas ao inves de '"& request("nome") &"') eu usei '"& RS("NomeAgrupado") &"')

 

Ai deu certo!!!!!!!!!!!!!!

 

 

VALEU CARA PELA GRANDE AJUDA!!!!!! E ATE ACEITAR QUE EU ENVIASSE O BANCO!!!!

 

VALEU MESMO PELA PACIENCIA!!!!!

 

ABRAÇOS!!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa !! Q alívio (pra nóis) hehehehehehesse tópico rendeu uns 20 posts pra nóis heheboa sorte no resto do código[]'s

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.