Ir para conteúdo

POWERED BY:

Arquivado

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

Boris

[Resolvido] Agrupano por ANO

Recommended Posts

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

 

Galera estou com o seguinte problema...

 

Tenho um Banco de Dados .MDB

 

Com as seguintes informações...

 

Id_Evento

Nome_Evento

Nome_Pais

Nome_Cidade

Data

Hora

 

porem estou tentando fazer um Response.write visualizando da seguinte forma

 

ANO 2008

 

Agrupado por País

 

NOME_PAIS ( Exemplo: BRASIL )

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

NOME_PAIS ( Exemplo: ESTADOS UNIDOS )

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

ANO 2009

 

Agrupado por País

 

NOME_PAIS ( Exemplo: BRASIL )

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

NOME_PAIS ( Exemplo: ESTADOS UNIDOS )

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

Nome_Evento

Nome_Cidade

Data

Hora

 

E ASSIM POR DIANTE

 

Tentei da seguinte forma mas não deu Certo

 

<%

 

vPais = "select * from tbCalendario_Evento where ativo='1' and idioma='p' ORDER BY pais ASC"

set rsPais = cn.Execute(vPais)

 

WHILE NOT rspais.EOF

IF trim(ano) <> trim(rspais("ano")) then

ano = rspais("ano")

%>

<% Response.Write(ano) %>

<br>

<%

end if

 

WHILE NOT rspais.EOF

IF Trim(pais) <> Trim(rspais("pais")) THEN

pais = rspais("pais")

Response.write(pais)

END IF

%>

<br>

<br>

<b>Id do Evento : </b><% Response.Write(rspais("id_evento"))%><br />

 

<b>Nome do Evento :</b><% Response.write (rspais("evento")) %>

<br />

<hr>

<br />

<%

rspais.MOVENEXT

WEND

rspais.movenext

wend

 

%>

No final da pagina ao ser exibito aparece a seguinte mensagem

 

ADODB.Recordset erro '800a0bcd'

 

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

/teste.asp, line 34

Valew pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer fazer q exiba o pais e todos os eventos é isso, os dados estão na mesma tabela ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

é assim:

 

Eu tenho uma tabela tbCalendario e nela tenho os campos

id_evento

Evento

Pais

Dia

Mes

Ano

Data

Hora

 

Porem eu precisaria que ela ficasse assim

 

 

EVENTOS DO ANO 2009

 

PAIS ( Brasil )

 

evento 01

evento 02

evento 03

 

PAIS ( Australia )

 

evento 01

evento 02

evento 03

 

============================

EVENTOS DO ANO 2008

 

PAIS ( Brasil )

 

evento 01

evento 02

evento 03

 

PAIS ( Australia )

 

evento 01

evento 02

evento 03

 

Fazer esse loop so com o pais eu consegui com a ajuda de vcs em outro topico porem tentei ampliar esse loop criando outro

 

Loop para o ano

 

loop para o pais

 

O loop do país está ok mas o do ano não estou conseguindo.

 

Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok se isso estiver na mesma tabela faz assim:

sql = "Select * from tabela " 
set rs = cnn.execute(sql) %>
<table>
<% if not rs.eof then
	 while not tab.eof%>
		  <tr>
		   <td><%=rs("evento_ano")%></td>
		   <td</td>
		   <td><%=rs("pais")%></td>
		   <td></td>
		   <td><%=rs("evento")%></td>
		   </tr>
<% rs.movenext
	wend
else 
end if%></table>

Assim sempre vai repetir as linhas e colunas da tabela com o conteúdo da tabela do banco dentro de um loop, inseri duas <td></td> sem conteúdo apenas para ser uma linha em branco na tabela e assim ter um espaço antes de exibir os eventos ... Espero q seja isso um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é exatamente isso.

 

o resultado teria que ser da seguinte forma:

 

ANO 2009

 

--- PAIS ( BRASIL )

 

------ Nome do Evento 1

------ Cidade do Evento

------ Dia

------ Mes

 

------ Nome do Evento 2

------ Cidade do Evento

------ Dia

------ Mes

 

--- PAIS ( ARGENTINA )

 

------ Nome do Evento 1

------ Cidade do Evento

------ Dia

------ Mes

 

------ Nome do Evento 2

------ Cidade do Evento

------ Dia

------ Mes

 

ANO 2008

 

--- PAIS ( BRASIL )

 

------ Nome do Evento 1

------ Cidade do Evento

------ Dia

------ Mes

 

------ Nome do Evento 2

------ Cidade do Evento

------ Dia

------ Mes

 

--- PAIS ( ARGENTINA )

 

------ Nome do Evento 1

------ Cidade do Evento

------ Dia

------ Mes

 

------ Nome do Evento 2

------ Cidade do Evento

------ Dia

------ Mes

 

Ou seja é feito dois loop

 

primeiro é o do 2009

segundo é o do País

 

os registros contem todas as informações

 

País

Nome do Evento

Cidade do Cidade

Dia

Mes

Ano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todos os dados ñ estão em uma única tabela do BD ??? Então é isso mesmo você manda uma tabela dentro de um loop ... assim vai pegar pegar vários blocos da sua tabela enquanto tiver registros ... Para exibir da seginte maneira:

PAIS ( BRASIL )

 

------ Nome do Evento 1

------ Cidade do Evento

------ Dia

------ Mes claro q você deve alterar os dados conforme o seu banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhorando a idéia do Jow:

<%
sql = "SELECT * FROM tabela ORDER BY evento_ano, pais "
set rs = cnn.execute(sql)
if not rs.eof then
	 ano = empty
	 pais = empty
	 while not tab.eof
		if ano <> rs("evento_ano") then
			ano = rs("evento_ano")
			response.write "ANO " & ano & "<br />"
		end if
		
		if pais <> rs("pais") then
			pais = rs("pais")
			response.write "--- PAIS ( " & pais & ")<br />"
		end if
%>
		  ------ <%=rs("evento")%><br />
		  ------ <%=rs("cidade")%><br /><br />
<%
		rs.movenext
	wend
else
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew Hargon, é quase isso;

 

Pois eu preciso que a ordem do ano mude ou seja ordem decrescente.

 

Por mais que eu mude de ASC para DESC ele so está mudando o pais e não o ano.

 

Cheguei a tentar mudar a ordem de ano, pais para pais, ano mas não funcionou tbm...

 

Obrigado kra pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites
"SELECT * FROM tabela ORDER BY evento_ano DESC, pais "

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.