Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

Tabela

Recommended Posts

Galera,

 

To tentado fazer um relatorio, quando tem uma data só na tabela controle de presença vem certinho, mas quando tem 3 datas por exemplo ao inves de só pintar a data na mesma tabela(HTML), ele faz 3 tabelas e pinta as 1 data em cada tabela.

como fazemos pra agrupar isso?

 

vejam como esta:

<!--#include file="includes/conecao.asp"--><%codperiodo = 67campanha = 87SqlData = "Select controle_presenca.cod_local,controle_presenca.periodo,controle_presenca.cod_pessoal,controle_presenca.cod_campanha,controle_presenca.data,controle_presenca.presenca,controle_presenca.motivo,controle_presenca.outros,controle_presenca.idem,local2.codlocal,local2.fantasia,ficha_de_pessoal.codmovimeta,ficha_de_pessoal.nome,inter_campanha_periodo.codperiodo,inter_campanha_periodo.codcampanha,inter_campanha_periodo.periodo,inter_campanha_periodo.fim_periodo From controle_presenca,ficha_de_pessoal,local2,inter_campanha_periodo where controle_presenca.cod_campanha=" & campanha & " and controle_presenca.cod_pessoal = ficha_de_pessoal.codmovimeta and controle_presenca.cod_local=local2.codlocal and inter_campanha_periodo.codperiodo = " & codperiodo &" and controle_presenca.periodo ="& codperiodo &" group by controle_presenca.cod_local,controle_presenca.cod_pessoal,controle_presenca.cod_campanha,controle_presenca.data,controle_presenca.presenca,controle_presenca.motivo,controle_presenca.outros,controle_presenca.idem,local2.codlocal,local2.fantasia,ficha_de_pessoal.codmovimeta,ficha_de_pessoal.nome,inter_campanha_periodo.codperiodo,inter_campanha_periodo.codcampanha,inter_campanha_periodo.periodo,inter_campanha_periodo.fim_periodo, controle_presenca.periodo"Set rsData = Conexcao.Execute(SqlData)DataInicial = RsData("periodo")DataFinal = RsData("fim_periodo")Dias = DateDiff("d", DataInicial, DataFinal)Do While (Not RsData.EOF)IF CodLocalAnt <> RsData("nome") then  response.write(rsData("nome")) &" - "& response.write(rsData("fantasia"))				End IFResponse.Write("<table cellpadding=""2"" cellspacing=""1"" border=""0"" width=""100%"">")For x = 0 to DiasstrSQL = "SELECT * FROM controle_presenca WHERE Data = " & DateAdd("d", x, DataInicial)Set rs = Conexcao.Execute(strSQL)		  			if (not rs.Eof) then  response.write("<tr>")	  		With Response			.write("<td width=""20%"" bgcolor=""#FFCC66"">"& DateAdd("d", x, DataInicial) &"")			.write("<td width=""80%"">"& x &"")		End With	else			With Responseif DateAdd("d", x, DataInicial) = RsData("data") then			.write("<td bgcolor=""#F0F0F0"" width=""20%"">"& DateAdd("d", x, DataInicial) &"")else			.write("<td bgcolor=""#ffffcc"" width=""20%"">"& DateAdd("d", x, DataInicial) &"")				'		.write("<td width=""80%"">"& x &"")end if		End With			response.write("</tr>")	end if			rs.CloseNextResponse.Write("</table>")		CodLocalAnt = rsData("nome")		rsData.Movenext%>   </td></tr></table><%	LOOPrsData.Close%>

valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca img de como tem que ficar e como está ficando pra facilitr o entendimento...eu entendi que você tem assim: -data 10/10/2006 item 1-data 10/10/2006 item 2-data 10/10/2006 item 3-data 05/12/2006 item 1-data 05/12/2006 item 2 e que você quer assim-data 10/10/2006 item 1 item 2 item 13 -data 05/12/2006 item 1 item 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara...vou dar uma fuçada aqui, provavelmente seja um probleminha no sql, logo mais estou indo pra casa ai fica mais facil pra eu fazer teste, se conseguir algo coloco aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza cara, ficou no aguardo!valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que consegui aqui no serviço foi a lógica....segue abaixo, tente apenas adaptar seus recordset pra ver se a consulta retorna corretamente...quando chegar em casa tento novamente

 

 

 

<table border=1><!--exibindo cada data--><%i = 1Do While i < 20%> <tr>	 <td>Data<%response.write(i)%></td> </tr> <tr><!-- exibindo os dados de acordo com o dia --> <%   j=1   Do While j < 31	 Response.write("<td> item "& j &" </td>")	 j=j+1   LOOP %> </tr><% i=i+1LOOP%></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então jonathandj,Eu tenho uma faixa de datas e quero que elas fiquem na horizontal mesmo e tenho umas datas aleatorias em uma outra tabela e quero que elas pintem as datas que vão estar nessa tabela da horizontal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente é isso!Seria a mesma logica

Compartilhar este post


Link para o post
Compartilhar em outros sites

teria como você enviar as tabelas que usa com alguns dados pra eu testar aqui...vi que tem muitos campos, eu levaria muito tempo refazendo a estrutura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria sim cara!

veja meu codigo como esta:

<!--#include file="includes/conecao.asp"--><%codperiodo = 67campanha = 87SqlData = "Select controle_presenca.cod_local,controle_presenca.periodo,controle_presenca.cod_pessoal,controle_presenca.cod_campanha,controle_presenca.data,controle_presenca.presenca,controle_presenca.motivo,controle_presenca.outros,controle_presenca.idem,local2.codlocal,local2.fantasia,ficha_de_pessoal.codmovimeta,ficha_de_pessoal.nome,inter_campanha_periodo.codperiodo,inter_campanha_periodo.codcampanha,inter_campanha_periodo.periodo,inter_campanha_periodo.fim_periodo From controle_presenca,ficha_de_pessoal,local2,inter_campanha_periodo where controle_presenca.cod_campanha=" & campanha & " and controle_presenca.cod_pessoal = ficha_de_pessoal.codmovimeta and controle_presenca.cod_local=local2.codlocal and inter_campanha_periodo.codperiodo = " & codperiodo &" and controle_presenca.periodo ="& codperiodo &" group by controle_presenca.cod_local,controle_presenca.cod_pessoal,controle_presenca.cod_campanha,controle_presenca.data,controle_presenca.presenca,controle_presenca.motivo,controle_presenca.outros,controle_presenca.idem,local2.codlocal,local2.fantasia,ficha_de_pessoal.codmovimeta,ficha_de_pessoal.nome,inter_campanha_periodo.codperiodo,inter_campanha_periodo.codcampanha,inter_campanha_periodo.periodo,inter_campanha_periodo.fim_periodo, controle_presenca.periodo"Set rsData = Conexcao.Execute(SqlData)While Not RsData.EOFDataInicial = RsData("periodo")DataFinal = RsData("fim_periodo")Dias = DateDiff("d", DataInicial, DataFinal)strSQL = "SELECT * FROM controle_presenca WHERE Data = " & DateAdd("d", x, DataInicial) Set rs = Conexcao.Execute(strSQL)IF CodLocalAnt <> RsData("nome") then %>  <%=rsData("nome")%> - <%=rsData("fantasia")%><%End IF%><table cellpadding="2" cellspacing="1" border="0" width="90%"><tr><%For x = 0 to Diasif DateAdd("d", x, DataInicial) = RsData("data") then %><td bgcolor="#999999" align="center"><font color="#FFFFFF" size="1" face="arial"> <%= DateAdd("d", x, DataInicial) %></font><%else%><td bgcolor="#cccccc"  align="center"> <font size="1" face="arial"><%= DateAdd("d", x, DataInicial) %></font><%end if%><%Next%></td></tr></table><%		CodLocalAnt = rsData("nome")		rsData.Movenext	wendrsData.Close%><BR><br>

como que posso te mandar a tabela???

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

envia o arquivo zipado para esse e-mail jonathan.cardozo@hotmail.com ou para cardozo81@gmail.com(se for pelo gmail tens que mudar a extensão do mdb senão o arquivo será removido. Coloque *.txt que eu troco aqui para mdb)

 

 

 

eu tenho um relatorio que fiz em asp.net usando recordsets que é semelhante a isso que pretende, quero ver se o sql fica certo nele

Compartilhar este post


Link para o post
Compartilhar em outros sites

eae cara beleza?Te mandei no do hotmail!valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonathan,

O que fiz de errado?

<!--#include file="includes/conecao.asp"--><!--#include file="includes/conecao.asp"--><%codperiodo = 67campanha = 87Sqlperiodo = "Select * From inter_campanha_periodo where codperiodo="&codperiodoSet rsd = Conexcao.Execute(Sqlperiodo) DataInicial = rsd("periodo")DataFinal = rsd("fim_periodo")SqlData = "SELECT DISTINCT ficha_de_pessoal.nome, local2.fantasia, ficha_de_pessoal.codmovimeta FROM inter_campanha_periodo, ficha_de_pessoal INNER JOIN (local2 INNER JOIN controle_presenca ON local2.codlocal = controle_presenca.cod_local) ON ficha_de_pessoal.codmovimeta = controle_presenca.cod_pessoal WHERE (((inter_campanha_periodo.periodo) Between #"&DataInicial&"# And #"&DataFinal&"#)) GROUP BY ficha_de_pessoal.nome, local2.fantasia, controle_presenca.periodo, controle_presenca.cod_campanha, ficha_de_pessoal.codmovimeta HAVING (((controle_presenca.periodo)="&codperiodo&" AND ((controle_presenca.cod_campanha)="&campanha&");"Set RsData = Conexcao.Execute(SqlData)While Not RsData.EOFDias = DateDiff("d", DataInicial, DataFinal)strSQL = "SELECT * FROM controle_presenca WHERE Data = " & DateAdd("d", x, DataInicial)Set rs = Conexcao.Execute(strSQL)IF CodLocalAnt <> RsData("nome") then %>  <%=rsData("nome")%> - <%=rsData("fantasia")%><%End IF%><table cellpadding="2" cellspacing="1" border="0" width="90%"><tr><%For x = 0 to Diasif DateAdd("d", x, DataInicial) = RsData("data") then %><td bgcolor="#999999" align="center"><font color="#FFFFFF" size="1" face="arial"> <%= DateAdd("d", x, DataInicial) %></font><%else%><td bgcolor="#cccccc"  align="center"> <font size="1" face="arial"><%= DateAdd("d", x, DataInicial) %></font><%end if%><%Next%></td></tr></table><%		CodLocalAnt = rsData("nome")		rsData.Movenext	wendrsData.Close%><BR><br>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

então Mario e aqui?

Sql8 = "Select Count(presenca) AS dias_trabalhados,data From controle_presenca Where cod_campanha="&campanha&" and data Between #" & fim_periodoo & "# And #" & inicio_periodoo & "# and presenca="&True&" and cod_local in (Select codlocal From local2 Where segmento='"&segmento&"') Group By data"Set rs8 = Conexcao.Execute(Sql8)

ei precisaria do codlocal da Sql que esta dentro do in...

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa no select de fora??

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá ai, acho que é isso que quer, se não for acho que dá pra aproveitar algo

 

<%'setando para padrão português-BR a hora e dataSession.LCID = 1046'criando o objeto conexãoSet Conexcao= server.createobject("adodb.connection")'abrindo a conexãoConexcao.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db_sistema.mdb")'período e campanha que vem do formulário(valores fixos para teste)codperiodo = 67campanha = 87'selecionando apenas os nomes e campanhas.SqlData = "SELECT DISTINCT ficha_de_pessoal.nome, local2.fantasia, ficha_de_pessoal.codmovimeta, controle_presenca.cod_campanha, inter_campanha_periodo.periodo, inter_campanha_periodo.fim_periodo, inter_campanha_periodo.codperiodo FROM (ficha_de_pessoal INNER JOIN (local2 INNER JOIN controle_presenca ON local2.codlocal = controle_presenca.cod_local) ON ficha_de_pessoal.codmovimeta = controle_presenca.cod_pessoal) INNER JOIN inter_campanha_periodo ON controle_presenca.periodo = inter_campanha_periodo.codperiodo GROUP BY ficha_de_pessoal.nome, local2.fantasia, ficha_de_pessoal.codmovimeta, controle_presenca.cod_campanha, inter_campanha_periodo.periodo, inter_campanha_periodo.fim_periodo, inter_campanha_periodo.codperiodo HAVING (((controle_presenca.cod_campanha)="&campanha&") AND ((inter_campanha_periodo.codperiodo)="&codperiodo&"));"Set rsData = Conexcao.Execute(SqlData)'recebendo período do recordset rsDataDataInicial = RsData("periodo")DataFinal = RsData("fim_periodo")'contar quantos dias de diferença no períodoDias = DateDiff("d", DataInicial, DataFinal)'formatando fonte padrãoresponse.Write("<font color=""#000000"" size=""1"" face=""arial"">")'exibindo nome e camapnhado while not rsData.eofresponse.write("<table width=""99%"" border=""0"" cellspacing=""0"" cellpadding=""0"">")response.Write("<tr>") IF CodLocalAnt <> RsData("nome") then  response.write("<td>")   response.write("<b>"&rsData("nome") &"</b> - "& rsData("fantasia")&"")  response.write("<td>") End IFResponse.Write("</tr>")response.Write("</table>") 'listando as datas de acordo com o registro no período response.write("<table border=""0""") response.write("<tr>")    For x = 0 to Dias   'select para verificar se existe presença na data atual que está rodando dentro do FOR   strSQL = "SELECT DISTINCT ficha_de_pessoal.codmovimeta, controle_presenca.cod_campanha, inter_campanha_periodo.codperiodo, controle_presenca.data, controle_presenca.presenca FROM (ficha_de_pessoal INNER JOIN controle_presenca ON ficha_de_pessoal.codmovimeta = controle_presenca.cod_pessoal) INNER JOIN inter_campanha_periodo ON controle_presenca.periodo = inter_campanha_periodo.codperiodo GROUP BY ficha_de_pessoal.codmovimeta, controle_presenca.cod_campanha, inter_campanha_periodo.codperiodo, controle_presenca.data, controle_presenca.presenca HAVING (((ficha_de_pessoal.codmovimeta)="&rsdata("codmovimeta")&") AND ((controle_presenca.cod_campanha)="&campanha&") AND ((inter_campanha_periodo.codperiodo)="&codperiodo&") AND ((controle_presenca.data)=#"&DateAdd("d", x, DataInicial)&"#) AND ((controle_presenca.presenca)=True));"    Set rs = Conexcao.Execute(strSQL) 	if rs.eof then	 response.write("<td width=""20%"" bgcolor=""#f4f4f4"">"& DateAdd("d", x, DataInicial)&"")	else	 response.write("<td width=""20%"" bgcolor=""#ffff00"" >"& DateAdd("d", x, DataInicial)&"")	end if   Response.Write("</td>")   rs.close   set rs=nothing     Next response.write("</tr>")   response.Write("</table>") Response.Write("<br>") rsdata.movenext 'fim loop que exibe o nomeloop'fechando recordset e conexãorsData.CloseConexcao.closeset Conexcao = nothing'tag fecha fonte padrãoResponse.Write("</font>")%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara perfeito!!!

 

 

Valeu mesmo! fiquei dias nessa mesma coisa!

 

Abração e valeu! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

era isso mesmo?fez os testes pra ver se o resultado fica correto? espero ter entendido e colocado o codigo correto, fiquein na duvida pois tinha umas linhas no seu codigo que não entendi a finalidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi certinho sim!Velaue mesmo

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.