dcoder Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 Bom dia pessoal,Estou precisando de uma ajuda sou iniciante em asp e estou com um problemao tremendo..Preciso criar um filtro assim:http://img187.imageshack.us/img187/2554/imgkj4.jpgEssa consulta tem que retornar a demanda mensal por item em ordem desc, só que o codigo que fiz esta filtrando somente o mes de janeiro...Acho que a imagem explica tudo..Aguardo a juda de voces, obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 Posta o codigo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dcoder Postado Janeiro 30, 2009 Autor Denunciar Share Postado Janeiro 30, 2009 Posta o codigo...Cara muito obrigado, segue o codigo:<% 'O Primeiro passo é criar a conexão com o Banco de dados. 'Para isto crio um objeto do tipo Connection. 'Cria um Objeto do Tipo ADODB.Connection Set conexao = Server.CreateObject("ADODB.Connection") conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("dados/dados.mdb") Dim optitem optitem = Request.Form("optjan") Dim sql_item sql_item = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optjan <> "") then sql_item = sql_item + " Where Month(DtEntrega) = " + optitem end if sql_item = sql_item + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_item Set const_item = Server.CreateObject("ADODB.RecordSet") 'response.write str 'response.End() const_item.Open sql_item,conexao,3,3 '************************************************************* Dim optjan optjan = Request.Form("optjan") Dim sql_jan sql_jan = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optjan <> "") then sql_jan = sql_jan + " Where Month(DtEntrega) = " + optjan end if sql_jan = sql_jan + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_janeiro Set const_janeiro = Server.CreateObject("ADODB.RecordSet") 'response.write str 'response.End() const_janeiro.Open sql_jan,conexao,3,3 '************************************************************* Dim optfev optfev = Request.Form("optfev") Dim sql_fev sql_fev = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optfev <> "") then sql_fev = sql_fev + " Where Month(DtEntrega) = " + optfev end if sql_fev = sql_fev + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_fev Set const_fev = Server.CreateObject("ADODB.RecordSet") 'response.write sql_fev 'response.End() const_fev.Open sql_fev,conexao,3,3 '************************************************************* Dim optmar optmar = Request.Form("optmar") Dim sql_mar sql_mar = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optmar <> "") then sql_mar = sql_mar + " Where Month(DtEntrega) = " + optmar end if sql_mar = sql_mar + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_mar Set const_mar = Server.CreateObject("ADODB.RecordSet") 'response.write sql_mar 'response.End() const_mar.Open sql_mar,conexao,3,3 '************************************************************** Dim optabril optabril = Request.Form("optabril") Dim sql_abril sql_abril = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optabril <> "") then sql_abril = sql_abril + " Where Month(DtEntrega) = " + optabril end if sql_abril = sql_abril + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_abril Set const_abril = Server.CreateObject("ADODB.RecordSet") 'response.write sql_abril 'response.End() const_abril.Open sql_abril,conexao,3,3 '************************************************************** Dim optmaio optmaio = Request.Form("optmaio") Dim sql_maio sql_maio = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optmaio <> "") then sql_maio = sql_maio + " Where Month(DtEntrega) = " + optmaio end if sql_maio = sql_maio + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_maio Set const_maio = Server.CreateObject("ADODB.RecordSet") 'response.write sql_maio 'response.End() const_maio.Open sql_maio,conexao,3,3 '************************************************************** Dim optjun optjun = Request.Form("optjun") Dim sql_jun sql_jun = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optjun <> "") then sql_jun = sql_jun + " Where Month(DtEntrega) = " + optjun end if sql_jun = sql_jun + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_jun Set const_jun = Server.CreateObject("ADODB.RecordSet") 'response.write sql_jun 'response.End() const_jun.Open sql_jun,conexao,3,3 '************************************************************** Dim optjul optjul = Request.Form("optjul") Dim sql_jul sql_jul = "SELECT item, SUM(total) AS DtEntrega From FIAT" if (optjul <> "") then sql_jul = sql_jul + " Where Month(DtEntrega) = " + optjul end if sql_jul = sql_jul + " Group By Item Order By SUM(total)DESC" 'Criamos o RecordSet const_jul Set const_jul = Server.CreateObject("ADODB.RecordSet") 'response.write sql_jul 'response.End() const_jul.Open sql_jul,conexao,3,3 '************************************************************** 'RecordSet para o menu Clientes Set menu_clientes = Server.CreateObject("ADODB.Recordset") menu_clientes.Open "Select Cliente from FIAT Group By Cliente Order By Cliente", conexao, 3, 3 %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>::: SISTEMA DE GESTÃO DE MANUFATURA - SIGMA :::</title> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #FFFFFF; } .titulo_menor { font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 11px; } .titulo { font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; } .style3 {font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; } --> </style></head> <body> <form method="POST" action="inicio.asp"> <table width="1500" border="0" align="center" cellpadding="0" cellspacing="3" bgcolor="#FFFFFF"> <tr> <td width="729" height="16" rowspan="5" valign="top"><img src="imagens/banner.jpg" width="600" height="100" /></td> <td colspan="3"><div align="center"><span class="titulo_menor">PLANEJAMENTO DE MANUFATURA </span></div></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="95" bgcolor="#F2F2F2"> </td> <td width="92" bgcolor="#F2F2F2"> </td> <td width="74" bgcolor="#F2F2F2"> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td height="6" colspan="4"> </td> </tr> <tr> <td height="7" colspan="4"><table width="1500" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="46" bgcolor="#DDDDDD"><span class="style3">Cliente:</span></td> <td width="151" bgcolor="#F2F2F2"><label></label> <label> <SELECT id=optClientes name=optClientes> <% 'Agora construo a lista de opções a partir dos 'dados obtidos da tabela FIAT. Do While Not menu_clientes.EOF Response.Write "<OPTION value=" & Chr(34) & menu_clientes.Fields("Cliente") & Chr(34) & ">" & menu_clientes.Fields("Cliente")& "</OPTION>" menu_clientes.MoveNext Loop %> </SELECT> </label></td> <td width="132" bgcolor="#F2F2F2"> </td> <td width="52" bgcolor="#DDDDDD"><span class="style3">Células:</span></td> <td width="173" bgcolor="#F2F2F2"><label></label> <select name="celulas" id="celulas"> <option value="afiat">Curva A-Fiat</option> <option value="bfiat">Curva BC-Fiat</option> <option value="gmb">GMB</option> </select> </td> <td width="94" bgcolor="#DDDDDD"><span class="style3">Filtro por mês: </span></td> <td width="278" bgcolor="#F2F2F2" class="titulo_menor"><a href="#" onclick="window.open('busca_mes.asp', 'busca', 'STATUS=NO, TOOLBAR=NO, LOCATION=NO, DIRECTORIES=NO, RESISABLE=NO, SCROLLBARS=YES, TOP=10, LEFT=10, WIDTH=600, HEIGHT=600');">Pesquisar demanda por mês </a> </label> </td> <td width="63" bgcolor="#DDDDDD"> </td> <td width="187" bgcolor="#DDDDDD"><div align="center" class="style3">Mês atual </div></td> <td width="157" bgcolor="#DDDDDD"><div align="center" class="style3">90 D </div></td> <td width="137" bgcolor="#DDDDDD"><div align="center" class="style3">180D</div></td> </tr> <tr> <td bgcolor="#DDDDDD"><span class="style3">Planta:</span></td> <td bgcolor="#F2F2F2"><label> <select name="planta" id="planta"> </select> </label></td> <td bgcolor="#F2F2F2"> </td> <td bgcolor="#DDDDDD"> </td> <td bgcolor="#F2F2F2"> </td> <td bgcolor="#DDDDDD"><span class="style3">Mix de Produtos: </span></td> <td bgcolor="#F2F2F2" class="titulo"></td> <td bgcolor="#DDDDDD"><span class="style3">Demanda:</span></td> <td bgcolor="#F2F2F2"><div align="center" class="titulo_menor"></div></td> <td bgcolor="#F2F2F2"><div align="center" class="titulo_menor">ASP</div></td> <td bgcolor="#F2F2F2"><div align="center" class="titulo_menor">ASP</div></td> </tr> <tr> <td bgcolor="#DDDDDD"><span class="style3">Fonte:</span></td> <td bgcolor="#F2F2F2" class="titulo">EDI</td> <td bgcolor="#F2F2F2"> </td> <td bgcolor="#DDDDDD"> </td> <td bgcolor="#F2F2F2"> </td> <td bgcolor="#DDDDDD"> </td> <td bgcolor="#F2F2F2"> </td> <td bgcolor="#DDDDDD"><span class="style3">Variações:</span></td> <td bgcolor="#F2F2F2"><div align="center" class="titulo_menor">ASP</div></td> <td bgcolor="#F2F2F2"><div align="center" class="titulo_menor">ASP</div></td> <td bgcolor="#F2F2F2"><div align="center" class="titulo_menor">ASP</div></td> </tr> </table> <table width="1500" border="0" cellspacing="2" cellpadding="0"> <tr> <td colspan="6" bgcolor="#D7F4EB"> </td> </tr> <tr> <td colspan="2" bgcolor="#F2F2F2" class="titulo_menor"><div align="center"></div></td> <td bgcolor="#DDDDDD" class="titulo_menor"><div align="center"><strong>Demanda</strong></div></td> <td bgcolor="#F2F2F2" class="titulo_menor"> </td> <td width="329" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"><strong>Analise das variações </strong></div></td> <td width="143" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"><strong>Curva</strong></div></td> </tr> <tr> <td width="105" bgcolor="#F2F2F2" class="titulo_menor"><div align="center"></div></td> <td width="105" bgcolor="#DDDDDD" class="titulo_menor"><div align="center" class="style3">Mês atual </div></td> <td width="586" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"><strong>Próximos 6 meses</strong></div></td> <td width="212" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"><strong>Consolidação</strong></div></td> <td bgcolor="#F2F2F2" class="titulo_menor"> </td> <td bgcolor="#F2F2F2" class="titulo_menor"> </td> </tr> <tr> <td colspan="6" bgcolor="#D7F4EB" class="titulo_menor">Selecione os meses para qual deseja consulta e clique em atualizar </td> </tr> </table> <table width="1500" border="0" cellpadding="0" cellspacing="3" bgcolor="#DDDDDD"> <tr> <td width="104"><div align="center"> <input name="atualiza" type="submit" id="atualiza" value="Atualizar" /> </div></td> <td width="101"><div align="center"> <input name="optjan" type="radio" value="01" checked="checked" /> </div></td> <td width="95"><div align="center"> <input name="optfev" type="radio" value="02" checked="checked" /> </div></td> <td width="88"><div align="center"> <input name="optmar" type="radio" value="03" checked="checked" /> </div></td> <td width="95"><div align="center"> <input name="optabril" type="radio" value="04" checked="checked" /> </div></td> <td width="97"> <div align="center"> <input name="optmaio" type="radio" value="05" checked="checked" /> </div></td> <td width="94"><div align="center"> <input name="optjun" type="radio" value="06" checked="checked" /> </div></td> <td width="100"><div align="center"> <input name="optjul" type="radio" value="07" checked="checked" /> </div></td> <td width="106"> </td> <td width="104"> </td> <td width="103"> </td> <td width="117"> </td> <td width="103"> </td> <td width="148"> </td> </tr> <tr> <td class="style3"><div align="center"><strong>Item</strong></div></td> <td width="101" class="style3"><div align="center"><strong>Janeiro</strong></div></td> <td width="95" class="style3"><div align="center"><span class="style3">Fevereiro</span></div></td> <td width="88" class="style3"><div align="center"><strong>Março </strong></div></td> <td width="95" class="style3"><div align="center"><strong>Abril </strong></div></td> <td width="97" class="style3"><div align="center"><strong>Maio</strong></div></td> <td width="94" class="style3"><div align="center"><strong>Junho</strong></div></td> <td width="100" class="style3"><div align="center"><strong>Julho</strong></div></td> <td width="106" class="style3"><div align="center"><strong>90D</strong></div></td> <td width="104" class="style3"><div align="center"><strong>180D</strong></div></td> <td width="103" class="style3"><div align="center"><strong>Mês atual x 90D</strong></div></td> <td width="117" class="style3"><div align="center"><strong>Mês atual x 180D</strong></div></td> <td width="103" class="style3"><div align="center"><strong>90D x 180D </strong></div></td> <td width="148" class="style3"><div align="center"></div></td> </tr> </table> <table width="1500" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="106" valign="top" bgcolor="#D7F4EB" class="titulo_menor"><div align="center"> <%Do Until const_item.EOF %> <br /> <%=const_item.Fields("item")%> <br/> <% const_item.MoveNext Loop %> </div></td> <td width="102" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"> <%Do Until const_janeiro.EOF %> <br /> <%=const_janeiro.Fields("DtEntrega")%> <br /> <% const_janeiro.MoveNext Loop %> </div></td> <td width="96" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center" class="titulo_menor"> <%Do Until const_fev.EOF %> <br /> <%=const_fev.Fields("DtEntrega")%><br /> <% const_fev.MoveNext Loop %> </div></td> <td width="90" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"> <%Do Until const_mar.EOF %> <br /> <%=const_mar.Fields("DtEntrega")%><br /> <% const_mar.MoveNext Loop %> </div></td> <td width="96" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"> <div align="center"> <%Do Until const_abril.EOF %> <br /> <%=const_abril.Fields("DtEntrega")%><br /> <% const_abril.MoveNext Loop %> </div> </div></td> <td width="97" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"> <%Do Until const_maio.EOF %> <br /> <%=const_maio.Fields("DtEntrega")%><br /> <% const_maio.MoveNext Loop %> </div></td> <td width="96" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"> <%Do Until const_jun.EOF %> <br /> <%=const_jun.Fields("DtEntrega")%><br /> <% const_jun.MoveNext Loop %> </div></td> <td width="100" valign="top" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"> <%Do Until const_jul.EOF %> <br /> <%=const_jul.Fields("DtEntrega")%><br /> <% const_jul.MoveNext Loop %> </div></td> <td width="92" bgcolor="#D7F4EB" class="titulo_menor"><div align="center"></div></td> <td width="110" bgcolor="#D7F4EB" class="titulo_menor"><div align="center"></div></td> <td width="104" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"></div></td> <td width="122" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"></div></td> <td width="106" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"></div></td> <td width="153" bgcolor="#DDDDDD" class="titulo_menor"><div align="center"></div></td> </tr> </table> </td> </tr> <tr> </tr> </table> </form> </body> </html>obrigado cara.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Janeiro 30, 2009 Denunciar Share Postado Janeiro 30, 2009 Nossa... grandinho o script... :wacko: Vou dar uma olhada com mais calma a tarde... assim que tiver um posicionamento posto aqui! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dcoder Postado Janeiro 30, 2009 Autor Denunciar Share Postado Janeiro 30, 2009 Obrigado mesmo, fico aguardando..Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcio Benvenuto de Lima Postado Fevereiro 6, 2009 Denunciar Share Postado Fevereiro 6, 2009 (editado) Olá Dcoder!Acredito que você está se confundindo ao organizar seu script, esclareço para você.OBS: O que entendi foi que o Item possui vários registros com valores diferentes onde você gostaria de somar todas as referências em um determinado mês e em um único item, organizando-os em uma lista por ordem Desc.Sua logística:1. Banco de dados FAIT2. Tabela Item (O que entendi)3. Campo Item4. Campo DtEntrega5. Objetivo Somar registros6.Loop + SumItem ---Item --- Janeiro ---fevereiro --- Março --- Abril --- Maio --- Junho --- JulhoLoop loop loop loop loop loop loop loop ---- LoopEstá foi sua logística para dar a sua ação desejada, porém com algumas controversas no excesso de loops individuais, ou seja, cada loop possui sua própria lógica de execução e não depende de uma base que seria o campo Item.Para você entender melhor compare o exemplo abaixo de logística com a que foi citada acima.7. Banco de dados FAIT8. Tabela Item (O que enntendi)9. Campo Item10. Campo DtEntrega11. Objetivo Somar registrosResposta + SumItem --- Item --- Janeiro ---fevereiro --- Março --- Abril --- Maio --- Junho --- JulhoResposta Soma Soma Soma Soma Soma Soma Soma ---- LoopEm relação à ordem por soma você poderá usar cases para executar isto. Porém acredito que ordenar por soma se trata de uma forma abstrata na organização da informação, ou seja, desnecessária caso o objetivo seja simplesmente somar por ordem de Item. Caso contrário é possível se organizar em relação a isto.Exemplo claro:1. Soma<% SQL="SELECT item, SUM(DtEntrega) AS total_Suma_Item FROM FAIT" set obj_Suma_Item = conexao.execute(SQL) Total_Suma_Item = obj_Suma_Item("total_Suma_Item") Set obj_Suma_Item = Nothing %> <%=Total_Suma_Item%> 2. Resposta <%=Obj_Lista_Item("DtEntrega")%>E/ou soma também de acordo com sua programação.PS: Meu ponto de vista sobre sua forma de organizar tudo isto seria rever a organização da informação e rever também a necessidade de usar cases para tornar mais focada as execuções já que o próprio script depende de atualização e não possui uma paginação onde ordena e limita o tempo de espera de execução da página. Uma forma inteligente de pensar em problemas futuros sobre números gigantescos de registros em uma única página. Editado Fevereiro 6, 2009 por Marcio Benvenuto de Lima Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
dcoder
Bom dia pessoal,
Estou precisando de uma ajuda sou iniciante em asp e estou com um problemao tremendo..
Preciso criar um filtro assim:
http://img187.imageshack.us/img187/2554/imgkj4.jpg
Essa consulta tem que retornar a demanda mensal por item em ordem desc, só que o codigo que fiz esta filtrando somente o mes de janeiro...
Acho que a imagem explica tudo..
Aguardo a juda de voces, obrigado.
Link para o comentário
Compartilhar em outros sites
5 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.