Ir para conteúdo

Arquivado

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

shumi

Relatório

Recommended Posts

Galera,beleza???Preciso da ajuda de vcs mais do que nunca!Estou desenvolvendo a parte de relatório do sistema que estou à desenvolver ao longo de 5 meses.E agora to com uma dúvida gigatesca e preciso muito da ajuda de vcs, mas muito mesmo.Tenho uma tabela em meu banco de dados na qual tem as colunas data, produto, preco, estabelecimento e campanha.A dúvida é a seguinte como fazo um relatorio que eu consiga pegar o produto e o preço do produto de acordo com a data???Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ratu,beleza?As minhas datas estão vindo assim:28-mar-0629-mar-0604-abr-06ao inves de usar esse comando loko, que nem sei usar! hehehehNão posso fazer uns loops???Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum cara, você tem que fazer um SELECT pra selecionar estes registros neh??!! este BETWEEN eh um filtro, ele serve pra você pesquisar em um intervalo de tempo tipo:select * from tabela where data BETWEEN data1 AND data2ele soh vai selecionar os registros que estiverem neste intervalo de tempo. depois você dá um looping no recordset!entendeu?falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi sim!!!Mas eu quero todas as datas, só não pode vir repetido.eu tava fazendo assim:

Sql3= "Select Distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' order by data"Set rs3 = Conexcao.Execute(Sql3)

Mas ali onde esta Distinct eu quero que não se repita a data e o produto e nesse mesmo SQL eu teria que fazer pegar tb o preço, mas eu não sei como!!! :wacko: Me da uma maozinha pra mim Ratu! seria mais uma maozinha, pois você já me ajudou algumas vezes no forum!Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum você tem q usar o comando group bySql3= "Select data From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' GROUP BY data order by data"Set rs3 = Conexcao.Execute(Sql3)deste jeito você soh seleciona as datas diferentes, caso ocorra alguma igual ele juntase você quiser escolher mais de um registro, você coloca ele no group by tb, exemploSql3= "Select data, preco From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' GROUP BY data, preco order by data"Set rs3 = Conexcao.Execute(Sql3)beleza?!!!tenta aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi Ratu, mas acho que fiz alguma coisa errada.Fiz assim:

Sql3= "Select data, preco, produto From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' GROUP BY data, preco, produto order by data"Set rs3 = Conexcao.Execute(Sql3)

Mas esta repetindo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem certeza de que os dados são identicos???

 

tipo a data vem com hora, minuto e segundo junto???

 

os precos são diferentes de acordo com a data???

o mesmo produto tem pode ter precos diferentes???

 

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tirei o preço da Sql, pois podem haver dias que o preço pode estar o mesmo.ai ficou assim:

Sql3= "Select data, produto From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' GROUP BY data, produto order by data"Set rs3 = Conexcao.Execute(Sql3)

você tem certeza de que os dados são identicos???tipo a data vem com hora, minuto e segundo junto???

A data não vem com a hora, minuto e segundo ela vem somente o dia, mes e anoassim:28/3/2006

os precos são diferentes de acordo com a data???o mesmo produto tem pode ter precos diferentes???

O mesmo produto pode ter preços diferentes de acordo com a dataExemplo no dia 1/01/2006 o produto Banana está a 1,00 e no dia 02/01/2006 o produto banana está a 2,00Como ficaria minha SQL??? :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum se o mesmo produto pode ter preços diferentes de acordo com a data ele vai retornar em registros diferentes!!!!você pode colocar um relatorio assimDATA PRODUTO PRECO12/12/1900 TAL 1,99naum eh isso q você quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum cara, seu problema naum eh resolvido por group by!!

 

preta atenção na lógica:

vctem que montar uma table certo?!

 

na 1º linha você coloca todas as datas, da um select e exibe de acordo com o periodo que v colocar usando o between

 

depois q você vai pra segunda linha você da um looping para exibir com o distinct todos os produtos

 

e o miolo nada + eh doque um select naquela tabelinha q você me mostrou assim

 

SELECT preco from preco_nosso where produto = "&produto_referente coluna&" AND DATA = "&DATA REFERENTE A LINHA&""

 

certo??!!

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara consegui fazer exibir os produtos e as datas, mas na com a mesma SQL.

Eu fiz 2 SQL Meu script esta assim veja:

 

<%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")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&"' order by data"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 * from preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"'"Set rs5=Conexcao.Execute(Sql5)%><html><head><title>Sistema NewStyle</title>  <style type="text/css"><!-- 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:13px;	color: #464646;		}	.texto12 {	font-family:Arial, Helvetica, sans-serif;	font-size:10px;	color:#FFFFFF;	}	.texto13 {	font-family:Arial, Helvetica, sans-serif;	font-size:13px;	color:#FFFFFF;	}	.texto14{	font-family:Arial, Helvetica, sans-serif;	font-size:13px;	color:#0033FF;	}-->  </style></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>	<%while not rs3.EOF%>	<td width="157"><span class="texto10"><%=rs3("data")%></span></td>	<%rs3.MoveNext	wend%>	  </tr>	<%while not rs4.EOF%>  <tr>	  <td><span class="texto10"><%=rs4("produto")%></span></td>	<%rs4.MoveNext	Wend%>	<td><span class="texto10"></span></td>	</tr></table></center><p> </p>

e pra fazer o miolo aparecer de acordo com a data e o produto???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera alguem pode dar uma mãozinha aqui???Não to conseguindo fazer funfar, não ficam os preços de acordo com o produto e data!por favor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera como que eu faço para unir essas 3 SQL???

Sql3="Select Distinct(data) From preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' order by data"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)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho que colocar o and a virgula o quê?Putz to tentando de tudo e dá erro!Me da um help ai galera, sei que não é obrigação de ninguem me ajudar, mas se alguem puder ficaria agradecido, pois tenho que entregar isso hoje!!Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pô cara, eh assim, a idéia, eh você montar a tabelanaum tente juntar as sql, elas são separadas mesmovocê tem q fazer um laco pra montar as datas em cimadepois um laco pra montar em cada linha na 1º coluna o nome do produto, e depois você vai ter a 2º coluna q tem o valor da 1º data com o 1º produto eh nesta hora que você faz um select especifico para selecionar o preco do produto que esta na linha correspondente e a data que esta na coluna correspondente, assim:Sql5= "Select preco from preco_nosso where campanha='"&cod&"' and estabelecimento='"&estabelecimento&"' AND PRODUTO='"&sql("PRODUTO")&"' AND DATA='"&sql("DATA")&"' "entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ratu eu entendi +ou-Quebra um galho pra mim faz junto comigo?Por favor!

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.