Compartilhar via


Cláusula ORDER BY (Microsoft Access SQL)

Aplica-se ao: Access 2013 | Access 2016

Classifica os registros resultantes de uma consulta em um campo ou campos em ordem crescente ou decrescente.

Sintaxe

SELECT fieldlist FROM table WHERE selectcriteria [ORDER BY field1 [ASC | DESC ][, campo2 [ASC | DESC ]][, ...]]]

Uma instrução SELECT que contém a cláusula ORDER BY CONTÉM estas partes:

Sair Descrição
fieldlist O nome do campo ou dos campos a ser recuperado junto com qualquer alias de nome de campo, funções agregadas do SQL, predicados de seleção (ALL, DISTINCT, DISTINCTROW ou TOP) ou outras opções da instrução SELECT.
table O nome da tabela da qual os registros são recuperados. Para obter mais informações, consulte a cláusula FROM.
selectcriteria Critérios de seleção. Se a instrução incluir uma cláusula WHERE, o mecanismo do banco de dados Microsoft Access ordenará os valores depois de aplicar as condições WHERE aos registros.
field1, field2 Os nomes dos campos nos quais os registros serão classificados.

Comentários

ORDER BY é opcional. Entretanto, se você quiser que os dados sejam exibidos na ordem de classificação, use ORDER BY.

A ordem de classificação padrão é ascendente (A a Z, 0 a 9). Os exemplos a seguir classificam os nomes de funcionários pelo sobrenome:

SELECT LastName, FirstName 
FROM Employees 
ORDER BY LastName; 
SELECT LastName, FirstName 
FROM Employees 
ORDER BY LastName ASC;

Para classificar em ordem decrescente (Z a A, 9 a 0), adicione a palavra reservada DESC ao final de cada campo que deseja classificar. O exemplo a seguir seleciona os salários e os classifica na ordem decrescente:

SELECT LastName, Salary 
FROM Employees 
ORDER BY Salary DESC, LastName;

Se você especificar um campo contendo Memorando ou dados do Objeto OLE na cláusula ORDER BY, ocorrerá um erro. O mecanismo de banco de dados do Microsoft Jet não classifica campos desses tipos.

ORDER BY é normalmente o último item em uma instrução SQL.

Você pode incluir campos adicionais na cláusula ORDER BY. Os registros são classificados primeiro pelo primeiro campo listado depois de ORDER BY. Os registros que têm valores iguais naquele campo são classificados pelo valor do segundo campo listado e assim por diante.

Exemplo

A instrução SQL mostrada no exemplo a seguir usa a cláusula ORDER BY para classificar os registros por sobrenome e em ordem decrescente (Z-A). Ele é chamado procedimento EnumFields, e pode ser encontrado no exemplo da instrução SELECT.

Sub OrderByX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Select the last name and first name values from  
    ' the Employees table, and sort them in descending  
    ' order. 
    Set rst = dbs.OpenRecordset("SELECT LastName, " _ 
        & "FirstName FROM Employees " _ 
        & "ORDER BY LastName DESC;") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print recordset contents. 
    EnumFields rst, 12 
 
    dbs.Close 
 
End Sub

Sobre os colaboradores

Ligação fornecida peloÍcone de Membro da Comunidade da comunidade UtterAccess .

UtterAccess é o fórum principal de wiki e de ajuda do Microsoft Access.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.