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 da comunidade UtterAccess .
UtterAccess é o fórum principal de wiki e de ajuda do Microsoft Access.
Confira também
- Fórum do Access para desenvolvedores
- Ajuda do Access em support.office.com
- Fóruns do Access no UtterAccess
- Central de ajuda da programação VBA e desenvolvedor do Access (FMS)
- Postagens do Access no StackOverflow
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.