Ir para conteúdo

Arquivado

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

shumi

Relatório

Recommended Posts

assim

 

Pensa em coordenadas

 

tipo data 28/3/2006 e produto 10

 

ele eh o 1º preco certo? entaum você vai fazer um select pra cada celula do miolo com os valores correspondentes das suas coordenadas

 

Sql3="Select Distinct(data) From preco_nosso where data = '"&data_coordenada&"' AND produto ='"&produto_coordenada&"'"

 

soh precisa destes filtros, entendeu?

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi o que quis dizer...Só não sei como aplicar...Ve se eu entendi.Para descobrir o preço do meu produto1 e do primeiro dia que é o dia 28/03/2006 tenho que fazer uma SQL que seria assim:

Sql6="Select preco From preco_nosso where data = '"&data&"' AND produto ='"&produto&"' and campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"

É isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eh issovocê naum da um looping para exibir todos os produtos??? qd você der este looping, dentro dele você vai fazer outro looping para preencher o restante das colunas com um looping com todas as datas, neste momento você tem a data e o produto, que eh o necessário para resolver o problema!!!!:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eh issovocê naum da um looping para exibir todos os produtos??? qd você der este looping, dentro dele você vai fazer outro looping para preencher o restante das colunas com um looping com todas as datas, neste momento você tem a data e o produto, que eh o necessário para resolver o problema!!!!:)

nossa cara http://forum.imasters.com.br/public/style_emoticons/default/cry.gif To ficando totalmente loko com esse relatorio :wacko: Ve se é isso:
<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql6="Select preco From preco_nosso where data = '"&data&"' AND produto ='"&produto&"' and campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"Set rs6 = Conexcao.Execute(sql6)Sql = "Select * from ficha_tecnica where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs = Conexcao.Execute(Sql)Sql2 = "Select * From campanha where campanha='"& cod &"'"Set rs2 = Conexcao.Execute(Sql2)Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)Sql5= "Select preco from preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs5=Conexcao.Execute(Sql5)%><html><head><title>Sistema NewStyle</title></head><body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><p><img src="topo.jpg"></p></p><p> </p><p align="center"><span class="texto13"><%=estabelecimento%> - <%=rs("promotora")%></span></p><br><p align="center"><span class="texto13">Início - <%=rs2("inicio")%></span></p><center><table width="525" border="1">  <tr>	<td width="221"><span class="texto14">Produtos</span></td>	<td width="157"><span class="texto10"><%=rs3("data")%></span></td>	</tr>	<tr>	<td><span class="texto10"><%=rs4("produto")%></span></td>	<td><span class="texto10"><%=rs6("preco")%></span></td>	</tr>	  </table>	</center><p> </p>
Ta certo??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)<table>  <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%   do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF			  Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   SET rspreco = Conexcao.Execute(Sql3)					 			   response.write ("<td>" & rspreco("preco") & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  sql4.MoveNext   loop%></table>

TESTA AÍ!! vamo ve se funciona??!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu erro!Veja

28/3/2006 4/4/2006 Produto 10 ADODB.Recordset erro '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. /sis/relatorio_acoes_lojas_.asp, line 51

ficou assim:
<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)%><table> <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF			  Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   SET rspreco = Conexcao.Execute(Sql3)					 			   response.write ("<td>" & rspreco("preco") & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  sql4.MoveNext   loop%></table>
e a linha do erro é essa
</tr>
estranho a linha do erro! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"

SET rspreco = Conexcao.Execute(Sql3)

 

 

AO INVEZ DO sql3 eh o sql6 naConexcao.Execute(Sql6)!!!

 

CARA EU TOW SAINDO, pq acabou meu horário, tenta se virar aí!!! a lógica esta formada, soh eh corrigir erros....

 

BOA SORTE http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

OBS* este erro: Item cannot be found in the collection corresponding to the requested name or ordinal, acontece quando você quer pegar algum valor do recordset que naum existe!! tipo RS("DATA"), sendo q você fez um select q naum retorna este elemento do BD!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Ratu!Valeu cara ta quase saindo.Deu um outro erro e eu consegui resolver, mas agora deu um que não consigoveja

28/3/2006 4/4/2006 Produto 10 Erro de tempo de execução do Microsoft VBScript erro '800a01a8' Objeto necessário: 'Select Distinct(prod' /sis/relatorio_acoes_lojas_.asp, line 59

meu script ta assim agora:
<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)%><table> <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   'Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF			  Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   SET rspreco = Conexcao.Execute(Sql6)					 			   response.write ("<td>" & rspreco("preco") & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  sql4.MoveNext   loop%></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qua eh a linha 59? aponta ela aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Ratu beleza?Então a linha 59 é essa: sql4.MoveNextela fica la no final do script!abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara naum eh "Sql4.movenext" e sim rs4.movenext!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ratu!

Agora apareceu os produtos na vertical e na horizizontal apareceu as datas, mas o miolo não apareceu!

Veja como está:

 

<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)%><table> <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   'Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF			  Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   SET rspreco = Conexcao.Execute(Sql6)					 			   response.write ("<td>" & rspreco("preco") & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  rs4.MoveNext   loop%></table>

Ta quase mano!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write no sql6 antes da parte SET rspreco = Conexcao.Execute(Sql6) , o select deve estar errado! ou algum valor,sei lah, ve oq retorna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra testar fiz assim:

 

Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   set rs9 = Conexcao.Execute(Sql6)			   response.write(rs9("preco"))			   Response.End()
e não veio nada... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'" set rs9 = Conexcao.Execute(Sql6&"<br><br>") response.write(Sql6)sem o END!!beleza, ele vai retornar varios selects, aí você vai poder monitorar os erros!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ratu fiz assim:

 

<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)%><table> <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   'Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF		   Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'" 			set rs9 = Conexcao.Execute(Sql6&"<br><br>")			response.write(Sql6)			   SET rspreco = Conexcao.Execute(Sql6)					 			   response.write ("<td>" & rspreco("preco") & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  rs4.MoveNext   loop%></table>

e retornou apenas os produtos e as datas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)%><table> <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   'Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF			  Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   SET rspreco = Conexcao.Execute(Sql6)					 			   response.write ("<td>" & rspreco("preco") & sql6 & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  rs4.MoveNext   loop%></table>

 

tenta assim!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ratu!Nossa cara, desculpa to enchendo seu saco neh!!Não funfou maninho!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%Set Conexcao = Server.CreateObject("ADODB.Connection")Conexcao.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dbsistema.mdb"))If NOT (Session("logado")) ThenResponse.Redirect "index.asp"Response.EndEnd Ifcod = Request.Form("cod")estabelecimento = Request.Form("estabelecimento")uf = Request.Form("uf")Sql3="Select distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs3=Conexcao.Execute(Sql3)Sql4= "Select Distinct(produto) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs4 = Conexcao.Execute(Sql4)%><table> <tr>	 <td> </td>	 <%		do while NOT rs3.EOF	 %>	  <td>	   <%=rs3("data")%> 	 </td>	 <%			rs3.MoveNext		loop	 %>  </tr><%do while NOT rs4.EOF%>	<tr>	   <td>		  <%=rs4("produto")%>		</td>		<%		  ' NESTE PONTO QUE ESTA O X DA QUESTÃO, você VAI FAZER UM LOOPING NAS DATAS NOVAMENTE		  ' ENTAUM você VAI TER A DATA E O PRODUTO, AI você VAI FAZER UM SELECT, E EXIBIR O PRECO ESPECIFICO			   		   Set rs3=Conexcao.Execute(Sql3)		   do while NOT rs3.EOF			  Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and   campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"			 			   SET rspreco = Conexcao.Execute(Sql6)					 			   response.write ("<td>" & rspreco("preco") & sql6 & "</td>")  			 			   rs3.MoveNext		   loop	   %>	</tr><%	  rs4.MoveNext   loop%></table>

PERAÍ, tem uma coisa

 

antes deste codigo aki:

do while NOT rs3.EOF

Sql6="Select preco From preco_nosso where data = '"&rs3("data")&"' AND produto ='"&rs4("produto")&"' and campanha='"&campanha&"' and estabelecimento='"&estabelecimento&"'"

SET rspreco = Conexcao.Execute(Sql6)

 

 

tem esta linha

 

' Set rs3=Conexcao.Execute(Sql3) --> ela estava comentada, e naum era pra estar comentada!!

 

tira o comentario e tenta dnovo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora apareceu assim:

28/3/2006 4/4/2006 Produto 10 erro '80020009' Exceção. /sis/relatorio_acoes_lojas_.asp, line 51

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.