shumi 0 Denunciar post Postado Dezembro 28, 2005 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
Salgado 4 Denunciar post Postado Dezembro 28, 2005 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
shumi 0 Denunciar post Postado Dezembro 28, 2005 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
Salgado 4 Denunciar post Postado Dezembro 28, 2005 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
shumi 0 Denunciar post Postado Dezembro 28, 2005 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
shumi 0 Denunciar post Postado Dezembro 28, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 Me da um help ai galera!!!!!!por favor!!!!abraços!!! Compartilhar este post Link para o post Compartilhar em outros sites
Salgado 4 Denunciar post Postado Dezembro 29, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 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
Salgado 4 Denunciar post Postado Dezembro 29, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 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
Salgado 4 Denunciar post Postado Dezembro 29, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 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
Salgado 4 Denunciar post Postado Dezembro 29, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 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
Salgado 4 Denunciar post Postado Dezembro 29, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 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
Salgado 4 Denunciar post Postado Dezembro 29, 2005 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
shumi 0 Denunciar post Postado Dezembro 29, 2005 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
Salgado 4 Denunciar post Postado Dezembro 29, 2005 Você está querendo exibir um campo que aparentemente não foi selecionado. Compartilhar este post Link para o post Compartilhar em outros sites