Jump to content


Photo

Colocar Em Colunas


  • Faça o login para participar
7 replies to this topic

#1 Sanches-Pg

Sanches-Pg

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 19/02/2009, 23:09

Boa noite Pessoal,

Utilizei o codigo de colunas, porem ao aplica-lo estou tendo um probleminha

Eis o codigo:

<%
Do While NOT rs.EOF
If cont=0 Then
Response.Write "<tr>"
End If
Response.Write "<td>"%>

<%
Set nt1 = Server.CreateObject("ADODB.Recordset")
nt1.Open "SELECT * from xp order by id asc", DB

Do while not nt1.Eof
Codigo = nt1("Codigo")
Produto = nt1("Produto")
Classe1 = nt1("Classe1")
Classe = nt1("Classe")
Data = nt1("Data")
Horas = nt1("Horas")
id = nt1("id")
if Classe1 = "INJETORAS" Then
%>
<table width="473" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>
<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
<%Response.Write Codigo%>
-
<%Response.Write Produto%> </td>
</tr>
<tr>
<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=nt1("id")%>&amp;Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">
<%Response.Write Descricao%>
</a></td>
</tr>
<tr>
<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>
</tr>
</table>
<%
Response.Write "</td>"
cont=cont+1
If cont=2 Then ' Definimos a Quantidade de colunas
Response.Write "</tr>"
cont=0
End If
rs.MoveNext
Loop
%>



O erro que aparece é o seguinte:
Erro de compilação do Microsoft VBScript erro '800a040e'

'loop' sem 'do'

/teste/xp/injetoras1.asp, line 189

Loop
^


Vcs podem me ajudar?

#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 20/02/2009, 08:37

Colega ... coloca teu código na tag CODE!
[ code ] seu código [ / code ]

Tenta isso:
Do 
	...
Loop While not nt1.EOF
Tem que ser com "Do"?
Só while não serve?
While not nt1.EOF
	...
Wend
Outra coisa, da uma olhada no w3schools tem muita coisa boa!

Edição feita por: Renan L. Queiroz, 20/02/2009, 09:07.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 Sanches-Pg

Sanches-Pg

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 20/02/2009, 09:24

Oi Renan,

Tudo bem?

O codigo ele começa com Do, eu add o que pediu mas não consegui veja meu o codigo vou add ele do jeito que pediu
<%
			Set nt1 = Server.CreateObject("ADODB.Recordset")
			nt1.Open "SELECT * from xp order by id asc", DB
			
			Do While not nt1.EOF
				  If cont=0 Then
				  Response.Write "<tr>"
				  End If
				  Response.Write "<td>"
				Codigo = nt1("Codigo")
				Produto = nt1("Produto")
				Classe1 = nt1("Classe1")
				Classe = nt1("Classe")
				Data = nt1("Data")
				Horas = nt1("Horas")
				id = nt1("id")
				if Classe1 = "INJETORAS" Then
				%>
				  <table width="473" border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>
						<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
						  <%Response.Write Codigo%>
-
<%Response.Write Produto%>						</td>
					  </tr>
					  <tr>
						<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=nt1("id")%>&Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">
						  <%Response.Write Descricao%>
						</a></td>
					  </tr>
					  <tr>
						<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>
					  </tr>
					</table>
				  <%
				  Response.Write "</td>"
				  cont=cont+1
				  If cont=2 Then ' Definimos a Quantidade de colunas
				  Response.Write "</tr>"
				  cont=0
				  End If
				  nt1.MoveNext
				  Loop
				  %>


#4 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 20/02/2009, 09:33

Cara ... tem um If sem Enf If ai!!
Tenta assim:
<%
	Set nt1 = Server.CreateObject("ADODB.Recordset")
	nt1.Open "SELECT * from xp order by id asc", DB

	Do While not nt1.EOF
		If cont=0 Then
			Response.Write "<tr>"
		End If
		Response.Write "<td>"
		Codigo = nt1("Codigo")
		Produto = nt1("Produto")
		Classe1 = nt1("Classe1")
		Classe = nt1("Classe")
		Data = nt1("Data")
		Horas = nt1("Horas")
		id = nt1("id")
		If Classe1 = "INJETORAS" Then
%>
			<table width="473" border="0" cellspacing="0" cellpadding="0">
				<tr>
					<td width="10%" height="75" rowspan="2" align="left" valign="middle">
						<img src="<%=nt1("mini1")%>" width="84" height="63" border="0" />
					</td>
					<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
						<%Response.Write Codigo%> - <%Response.Write Produto%>
					</td>
				</tr>
				<tr>
					<td height="55" align="left" valign="middle">
						<a href='ct-materias.asp?materias=<%=nt1("id")%>&Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">
							<%Response.Write Descricao%>
						</a>
					</td>
				</tr>
				<tr>
					<td colspan="2">
						<img src="images/detalhes/traco2.gif" width="415" height="1" />
					</td>
				</tr>
			</table>
<%
			Response.Write "</td>"
			cont=cont+1
			If cont=2 Then ' Definimos a Quantidade de colunas
				Response.Write "</tr>"
				cont=0
			End If
			nt1.MoveNext
		End If 'ESSE AQUI <<<<<
	Loop
%>

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#5 Sanches-Pg

Sanches-Pg

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 20/02/2009, 09:38

Oi Renan,

Creio que acertei,

Mas apareceu um outro erro que não conheço

Objeto Response erro 'ASP 0251 : 80004005'

Limite do Buffer de Resposta Ultrapassado

/teste/xp/injetoras1.asp, line 0

A execução da página ASP fez com que o Buffer de Resposta ultrapassasse seu limite configurado.


Este é o codigo
<%
			Set nt1 = Server.CreateObject("ADODB.Recordset")
			nt1.Open "SELECT * from xp order by id asc", DB
			
			Do While not nt1.EOF
				  if cont=0 Then
				  Response.Write "<tr>"
				  End if
				  Response.Write "<td>"
				Codigo = nt1("Codigo")
				Nome = nt1("Nome")
				Classe1 = nt1("Classe1")
				Classe = nt1("Classe")
				Data = nt1("Data")
				Horas = nt1("Horas")
				id = nt1("id")
				if Classe1 = "INJETORAS" Then
				%>
				  <table width="473" border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>
						<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
						  
<%Response.Write Codigo%>
-
<%Response.Write Nome%>						</td>
					  </tr>
					  <tr>
						<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=nt1("id")%>&Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">
						  <%Response.Write Descricao%>
						</a></td>
					  </tr>
					  <tr>
						<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>
					  </tr>
					</table>
				  <%
				  Do
				  Response.Write "</td>"
				  cont=cont+1
				  if cont=2 Then ' Definimos a Quantidade de colunas
				  Response.Write "</tr>"
				  cont=0
				  End if
				  nt1.MoveNext
				  Loop
				  End if
				  Loop
				  %>

O que tem de errado?

#6 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 20/02/2009, 10:53

O seu segundo loop está excedendo-se, pois está tentando acessar um valor fora do numero de registros retornados.
Falta uma verificação para o mesmo!

Edição feita por: Renan L. Queiroz, 20/02/2009, 10:55.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#7 Sanches-Pg

Sanches-Pg

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 20/02/2009, 11:03

Putz... foi mal...

Desculpe por te torrar a pasciencia..

Se termino com Wend ou com loop da erro o que está faltando?




Final Wend

Erro de compilação do Microsoft VBScript erro '800a0400'

Instrução esperada

/teste/xp/injetoras1.asp, line 190

Wend
^

------------

Final Loop
Erro de compilação do Microsoft VBScript erro '800a03f6'

'End' esperado

/teste/xp/injetoras1.asp, line 190

#8 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 20/02/2009, 11:23

Não se preocupe, estou aqui para ajudar também!
Mas vamos aos problemas!

Pelo que vi nas descrições dos erros, acima
vc está tendo problemas com a sintax, com relação a
isso da uma olhada no site do link que lhe enviei, no inicio do tópico.

Procure lá sobre IF e While.
Vou deixar um exemplo de ambos aqui:
If ... Then
'1.
If x = 1 then
   ...
End If

'2.
If x = 1 Then
   ...
Elseif x = 2 then
   ...
Else
   ...
End If
While ...
'1.
While x < 10
   ...
Wend

'2.
Do While x < 10
  ...
Loop

'3.
Do
  ...
Loop While x < 10
Esses são só alguns exemplos.
Tem mais no w3schools.
Mais links:
- Condicionais
- Looping

Espero que possa ajudar! ;-)

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq