Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

simplificar opções

Recommended Posts

Eu terei que usar 2 SQL???uma que já tenho que é a

Sql = "SELECT First(nome) AS nomeagrupado, SUM(ponto) AS pontos FROM pontuacao_vendedor GROUP BY nome ORDER BY Sum(PONTO) DESC;"

e essa novaCOUNT numa SQL conjugada com um Where ponto = 200ou terei que juntar as 2 em uma só???valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o Where nessa sua SQL traria informações erradas o ideal é fazer em outra SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o Where nessa sua SQL traria informações erradas o ideal é fazer em outra SQL.

Então eu terei que fazer um comando SQL que compara o ponto do vendedor (se ele tem alguma linha = 200 pontos) que esta em uma tabela(pontuacao_vendedor) com o codigo da loja que esta em uma outra tabela(cad_vendedores) depois disso verificar quantas linhas = 200 tem que ter conforme a loja e pintar de vermelho.Eu estava procurando no Google alguma coisa relacionada ao comando COUNT e achei isso:Sintaxe: COUNT TO <variável> [<escopo>] [FOR <condiçãso>] [WHILE <condição>]Mas não sei como usar e não sei se isso resolve tb!ficaria + uma vez grato pela ajuda!!!obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você vai ter que fazer um relacionamento em três tabelas, isso não vai ter jeito mesmo: Deve ficar algo +/- assim:

SELECT COUNT(tabela_pontos_vendedor.Ponto) as Pontos_Loja FROM tabela_lojas, tabela_vendedor, tabela_pontos_vendedor Where tabela_pontos_vendedor.nome = tabela_vendedor.nome AND tabela_vendedor.codigo_loja = tabela_lojas.codigo_loja AND tabela_postos_vendedor.ponto = 200;

E com certeza vai precisar de um Group By, mas acho que talvez o Tiu Mário possa vir a te ajudar com ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu arrumei conforme minhas tabelas e colunas e ficou assim:

 

Sql2 ="SELECT COUNT(pontuacao_vendedor.ponto) as ponto FROM cad_loja, cad_vendedor, pontuacao_vendedor Where pontuacao_vendedor.nome = cad_vendedor.nome AND cad_vendedor.cod_loja = cad_lojas.cod_loja AND pontuacao_vendedor.ponto = 200;"

 

eu tenho que "chamar" ele em algum lugar igual faço com o outro sql???

 

meu arq esta assim:

 

 

<%dim Conexcao,sql,sql2,sql3,sql4,sql5,sql6,rs,rs2,rs3,rs4,rs5,rs6,varcodIf NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifset Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MaPpath("db_lg.mdb")Conexcao.open						Sql2 ="SELECT COUNT(pontuacao_vendedor.ponto) as ponto FROM cad_loja, cad_vendedor, pontuacao_vendedor Where pontuacao_vendedor.nome = cad_vendedor.nome AND cad_vendedor.cod_loja = cad_lojas.cod_loja AND pontuacao_vendedor.ponto = 200;"						Sql = "SELECT First(nome) AS nomeagrupado, SUM(ponto) AS pontos FROM pontuacao_vendedor GROUP BY nome ORDER BY Sum(PONTO) DESC;"			Set rs=Conexcao.Execute(sql)																										%><html><head><title>LG - Incentivo de Vendas</title>  <style type="text/css"><!--body {	background-color: #FFFFFF;	}	.texto10 {	font-family: Arial, Helvetica, sans-serif;	font-size: 10px;	color: #464646;		}		.texto11 {	font-family: Arial, Helvetica, sans-serif;	font-size: 15px;	color: #464646;	font-style:inherit	}.style2 {font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #464646; font-style: inherit; font-weight: bold; }.style4 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #464646; font-weight: bold; }-->  </style></head><body bgcolor="#FFFFFF"><p align="center"><span class="texto11">Pontuação dos Vendedores </span></p> <center>    <p> </p>   <table width="621" border="0">	 <tr>	   <td width="615"><center>		 </center>		 <center>		   <span class="texto10">		   </span>		 		 </center>	 <center>	<table width="219" border="1">		   <tr>									   <tr><td><span class="style2">Vendedor</span></td>		   <td><span class="style2">Pontos</span></td>		   </tr>			 <tr>			 <td width="157"><span class="texto10">			   <%				   While not rs.EOF   										%>			   <%=rs("nomeagrupado")%> </span></td>								 <td width="287"> <span class="texto10">			  <%=rs("pontos")%>			 </span></td>		 </tr><tr>		   <td><span class="texto10">			 <%	 rs.MoveNext	 wend	 set rs=nothing%>			   </span></td>		   		 </tr>		</table>	 </center>		 </td>	 </tr>   </table></center></body></html>

Valeu!!!!!!!!

 

Ha!!! só mais uma pergunta! como o comando vai saber as lojas que tem q ter 7 linhas = 200 e o restante 2 linhas apenas????

 

valeu abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se estou certo, mas abri uma tabela no meu banco de dados com as lojas que tem que ter 7 linhas = 200 pontos, na tabela coloquei apenas o cod das lojas!!!esta certo????Ai sei la puxar com o sql e fazer um IF hehehe não sei se estou viajando!!!Mas como seria o certo?Valeu!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me da um help ai galera!!!!!!por favor!!!!abraços!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa, você quer listar apenas as lojas que precisam ter no mínimo 7? é só acrescentar um AND tabela_lojas IN (aqui vai os IDs separados por virgula das lojas) na SQL anterior.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu quero é pintar de vermelho o vendedor da loja que não vendeu 7. com AND tabela_lojas IN da pra fazer?Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com esse que passei ele vai selecionar APENAS aquelas Lojas. Você pode fazer dois SQLs dessa forma, um para exibir essas lojas e outro mais abaixo para exibir as outras, pode ser assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com esse que passei ele vai selecionar APENAS aquelas Lojas. Você pode fazer dois SQLs dessa forma, um para exibir essas lojas e outro mais abaixo para exibir as outras, pode ser assim?

Poderia ter 4 colunasNome do vendedor | Ponto | Loja que ele esta | Se a loja esta na metaSeria isso???Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é bem isso, dessa dorma só selecionas as lojas que tem a meta mínima de 7, não vai mostrar as outras lojas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não preciso mostrar todas as lojas. Eu apenas preciso mostrar se a loja que o vendedor trabalha esta dentro da meta, pois caso ele seja o ganhador e a loja não esta na meta a empresa não pagara o premio a ele.Qual a meneira menos complicada e que você acha melhor ???Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma Gambi:

Lojas_7 = ",aqui entre essas virgulas vai os IDs das lojas(não retire essas virgulas pois ela faz parte da mágica) ,"
'Seu Select e o While normal, da forma como estava antes, dento de seu While vamos fazer um IFzinho básico
While blablabla
Cor_Fonte = "Black"
If InStr(Lojas_7,","& RS("codigo_da_loja") &",")<>0 Then
Cor_Fonte = "Red"
End If%>
<font color="<%=Cor_Fonte%>">aqui você coloca o quer vai exibir</font>
<%RS.MoveNext
Wend

A idéia é essa, pode e deve ser melhor trabalhada e ajustada para seu caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma gambi é sempre bom!!!

 

Para acontecer toda a mágica eu ajustei assim:

 

Sql = "SELECT First(nome) AS nomeagrupado, SUM(ponto) AS pontos FROM pontuacao_vendedor GROUP BY nome ORDER BY Sum(PONTO) DESC;"			Set rs=Conexcao.Execute(sql)						Lojas_7 = ",004, 156, 217, 319, 330, 423, 408, 332, 290, 401, 406, 002, 200, 037, 058, 066, 071, 085, 125, 076, 119, 128, 157, 321,"			'Seu Select e o While normal, da forma como estava antes, dento de seu While vamos fazer um IFzinho básico			Sql1 ="SELECT COUNT(pontuacao_vendedor.ponto) as ponto FROM cad_lojas, cad_vendedores, pontuacao_vendedor Where pontuacao_vendedor.nome = cad_vendedor.nome AND cad_vendedor.cod_loja = cad_lojas.cod_loja AND pontuacao_vendedor.ponto = 200;"			Set rs1=Conexcao.Execute(sql1)						While			Cor_Fonte = "Black"			If InStr(Lojas_7,","& rs1("cod_loja") &",")<>0 Then			Cor_Fonte = "Red"			End If%>			<font color="<%=Cor_Fonte%>">aqui você coloca o quer vai exibir</font>			<%rs1.MoveNext			Wend

esta faltando alguma coisa ou esta certinho???

 

Obrigado!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só retira os espaços na var Lojas_7, e coloca os campos para aparecer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu coloquei assim:

 

<%dim Conexcao,sql,sql2,sql3,sql4,sql5,sql6,rs,rs2,rs3,rs4,rs5,rs6,varcodIf NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifset Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MaPpath("db_lg.mdb")Conexcao.open						Sql = "SELECT First(nome) AS nomeagrupado, SUM(ponto) AS pontos FROM pontuacao_vendedor GROUP BY nome ORDER BY Sum(PONTO) DESC;"			Set rs=Conexcao.Execute(sql)						Lojas_7 = ",004,156,217,319,330,423,408,332,290,401,406,002,200,037,058,066,071,085,125,076,119,128,157,321,"			'Seu Select e o While normal, da forma como estava antes, dento de seu While vamos fazer um IFzinho básico			Sql1 ="SELECT COUNT(pontuacao_vendedor.ponto) as ponto FROM cad_lojas, cad_vendedores, pontuacao_vendedor Where pontuacao_vendedor.nome = cad_vendedor.nome AND cad_vendedor.cod_loja = cad_lojas.cod_loja AND pontuacao_vendedor.ponto = 200;"			Set rs1=Conexcao.Execute(sql1)																										%><html><head><title>LG - Incentivo de Vendas</title>  <style type="text/css"><!--body {	background-color: #FFFFFF;	}	.texto10 {	font-family: Arial, Helvetica, sans-serif;	font-size: 10px;	color: #464646;		}		.texto11 {	font-family: Arial, Helvetica, sans-serif;	font-size: 15px;	color: #464646;	font-style:inherit	}.style2 {font-family: Arial, Helvetica, sans-serif; font-size: 15px; color: #464646; font-style: inherit; font-weight: bold; }.style4 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #464646; font-weight: bold; }-->  </style></head><body bgcolor="#FFFFFF"><p align="center"><span class="texto11">Pontuação dos Vendedores </span></p> <center>    <p> </p>   <table width="621" border="0">	 <tr>	   <td width="615"><center>		 </center>		 <center>		   <span class="texto10">		   </span>		 		 </center>	 <center>	<table width="219" border="1">		   <tr>									   <tr><td><span class="style2">Vendedor</span></td>		   <td><span class="style2">Pontos</span></td>		   <td>Salgado</td>		   		   </tr>			 <tr>			 <td width="157"><span class="texto10">			   <%				   While not rs.EOF   										%>			   <%=rs("nomeagrupado")%> </span></td>								 <td width="287"> <span class="texto10">			  <%=rs("pontos")%>			 </span></td>			 <td>			 <%			While			Cor_Fonte = "Black"			If InStr(Lojas_7,","& rs1("cod_loja") &",")<>0 Then			Cor_Fonte = "Red"			End If%>			<font color="<%=Cor_Fonte%>">?</font>			<%rs1.MoveNext			Wend					%>							 		 </tr><tr>		   <td><span class="texto10">			 <%	 rs.MoveNext	 wend	 set rs=nothing%>			   </span></td>				 </tr>		</table>	 </center>		 </td>	 </tr>   </table></center></body></html>

e deu o erro:

 

Erro de compilação do Microsoft VBScript erro '800a03ea'

 

Erro de sintaxe

 

/incentivos_lg/pontos_vendedores.asp, line 83

 

While

 

o que fiz de errado?

 

 

Brigadão!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aquele While que eu passei era apenas para você ver o que deve fazer dentro de SEU while. Como você está usando Table é só pensar um pouquinho para formatar corretamente cada linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver aquele erro ai quando resolvi ele apareceram mais 2, ai consegui resolver tb, agora esta aparecendo minha tabela, o nome do vendedor, os pontos dele, e onde seria aquele cod esta dando o 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 86 o que significa esse erro??? procurei no ASP Brasil, mas não tem ele!!!!Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está querendo exibir um campo que aparentemente não foi selecionado.

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.