Ir para conteúdo

POWERED BY:

Arquivado

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

mickemj

[Resolvido] asp em ordem crescente

Recommended Posts

Olá amigos

 

Estou tendo dificuldades para colocar em ordem alfabetica uma caixa de listagem de um banco de dados em asp.

 

abaixo segue o codigo, se alguem puder ajudar...

 

A caixa referente ao modelo não aparece em ordem alfabetica...

 

antecipo meus agradecimentos por qualquer ajuda.

 

 

Sql = "SELECT modelo.* FROM Modelo where IdMarca = "&Request.Form("Marca")&";"
Set Rs = Server.Createobject("ADODB.RecordSet")
Rs.open Sql,BD
Response.Write "Modelo: <select name='Modelo' Onchange='updateModelo(this.form);'>"
Response.Write "<option value='0'>Escolha</option>"
do while not Rs.eof 
 Response.write "<option value='"&Rs("IdModelo")&"'"
 if Cint(Request.Form("Modelo"))=Cint(Rs("IdModelo")) then
    Response.Write " selected " 

   end if
 Response.write ">"&Rs("Modelo")&"</option>"
 Rs.movenext
loop
Response.write "</select> "

Set Rs = Nothing
BD.Close    
set bd=nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um ponto no seu select.

Sql = "SELECT modelo.* FROM Modelo where IdMarca = "&Request.Form("Marca")&"

O certo eu acho que seria

Sql = "SELECT modelo * FROM Modelo where IdMarca = "&Request.Form("Marca")& oder by modelo"

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos complementar um pouco mais sobre a ordenação em SQL.

 

você pode classificar os resultados por qualquer campo em uma ordem ascendente ou descendente apenas adicionando 'ORDER BY' no final de sua consulta. Você usaria ORDER BY ASC field_name para uma classificação crescente, ou ORDER BY DESC field_name para uma classificação decrescente. esta cláusula é opcional. Entretanto. O padrão ordem de classificação é ascendente (A a Z, 0 a 9).

 

ASC | DESC

 

Define que os valores na coluna especificada devem ser classificados em ordem crescente ou decrescente. ASC classifica do valor mais baixo para o valor mais alto. DESC classifica do valor mais alto para o valor mais baixo. ASC é a ordem de classificação padrão. Valores nulos são tratados como os menores valores possíveis.

 

Evite especificar inteiros na cláusula ORDER BY como representações de posição das colunas na lista de seleção. Por exemplo, embora uma instrução como SELECT ProductID, Name FROM Production.Production ORDER BY 2 seja válida, ela não é entendida por outros com tanta facilidade quanto com a especificação do nome de coluna real. Além disso, as alterações da lista de seleção, como alterar a ordem das colunas ou adicionar novas colunas, exigirão a modificação da cláusula ORDER BY para evitar resultados inesperados.

 

Em uma instrução SELECT TOP (N), sempre use uma cláusula ORDER BY. Essa é a única forma de indicar de maneira previsível as linhas que são afetadas por TOP.

 

Quando usada com uma instrução SELECT...INTO para inserir linhas de outra origem, a cláusula ORDER BY não garante que as linhas sejam inseridas na ordem especificada.

 

O uso de OFFSET e FETCH em uma exibição não altera a propriedade updateability da exibição.

 

Não há um limite para o número de colunas na cláusula ORDER BY; porém, o tamanho total das colunas especificado em uma cláusula ORDER BY não pode exceder 8.060 bytes.

 

Não é possível usar colunas dos tipos ntext, text, image, geography, geometry e xml em cláusulas ORDER BY.

 

Um inteiro ou uma constante não podem ser especificados quando order_by_expression é exibido em uma função de classificação.

 

Se um nome de tabela tiver um alias na cláusula FROM, apenas o nome do alias poderá ser utilizado para qualificar suas colunas na cláusula ORDER BY.

 

Os nomes e aliases de coluna especificados na cláusula ORDER BY deverão ser definidos na lista de seleção, se a instrução SELECT contiver uma das seguintes cláusulas ou dos seguintes operadores:

 

operador UNION

 

operador EXCEPT

 

operador INTERSECT

 

SELECT DISTINCT

 

Além disso, quando a instrução incluir um operador UNION, EXCEPT ou INTERSECT, os nomes ou aliases de coluna deverão ser especificados na lista de seleção da primeira consulta (à esquerda).

 

Em uma consulta que usa operadores UNION, EXCEPT ou INTERSECT, ORDER BY é permitida somente ao final da instrução. Essa restrição se aplica apenas ao especificar UNION, EXCEPT e INTERSECT em uma consulta de nível superior e não em uma subconsulta. Consulte a seção de Exemplos a seguir.

 

A cláusula ORDER BY é inválida em exibições, funções embutidas, tabelas derivadas e subconsultas, a menos que as cláusulas TOP ou OFFSET e FETCH também estejam especificadas. Quando ORDER BY é usada nesses objetos, a cláusula é utilizada apenas para determinar as linhas retornadas pela cláusula TOP ou pelas cláusulas OFFSET e FETCH. A cláusula ORDER BY não garante resultados ordenados quando essas construções são consultadas, a menos que ORDER BY também seja especificada na própria consulta.

 

Não há suporte para OFFSET e FETCH exibições indexadas ou em uma exibição definida usando a cláusula de CHECK OPTION.

 

OFFSET e FETCH podem ser usadas em qualquer consulta que permita TOP e ORDER BY, com as seguintes limitações:

 

A cláusula OVER não dá suporte a OFFSET e FETCH.

 

Não é possível especificar OFFSET e FETCH diretamente em instruções INSERT, UPDATE, MERGE e DELETE, mas elas podem ser especificadas em uma subconsulta definida nessas instruções. Por exemplo, na instrução INSERT INTO SELECT, OFFSET e FETCH podem ser especificadas na instrução SELECT.

 

Em uma consulta que use operadores UNION, EXCEPT ou INTERSECT, OFFSET e FETCH podem ser especificadas somente na consulta final que define a ordem dos resultados da consulta.

 

Não é possível combinar TOP com OFFSET e FETCH na mesma expressão de consulta (no mesmo escopo de consulta).

 

Exemplos:

 

No código abaixo, estamos recuperando dados de endereços, e estamos ordenando pelo nome da pessoa de forma ascendente.

 

sql_query("SELECT * FROM endereços ORDER BY nome ASC")

 

Nesta outra string SQL estamos selecionando apenas os endereços de e-mail e listando-os em ordem decrescente.

 

sql_query("SELECT email FROM endereços ORDER BY email DESC")

 

Perceba que é simples trabalhar com ORDER By.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sql = "SELECT modelo.* FROM Modelo where IdMarca = "&Request.Form("Marca")&" ORDER BY SEU_CAMPO ASC"

 

??????

Olá Humberto, alem de resolutiva a solução foi ótima! deu certo muito obrigado mesmo!!!

 

Micke

 

Pessoal foi muito util a ajuda de voces! fantastico o forum, obrigado a todos inclusive pela explanação completa

 

abs

Micke

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.