Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Access ordena os registos por ordem ascendente ou descendente independente do caso. Contudo, ao escrever algumas linhas de código VBA (Visual Basic for Applications), pode ordenar o texto por valores de carateres ASCII. A ordenação com base nos valores ASCII distingue as letras maiúsculas das minúsculas e resulta numa ordem sensível às maiúsculas e minúsculas.

A seguinte tabela demonstra como uma sequência de ordenação ascendente no Access difere de uma sequência de ordenação sensível às maiúsculas e minúsculas:

Pré-sequência de ordenação

Ordem ascendente

Ordenar por maiúsculas e minúsculas

c

a

A

D

A

B

a

B

C

d

b

D

N

c

a

C

C

b

A

D

c

b

d

d

Apesar de os resultados na coluna em ordem Ascendente pareçam estar apresentados de forma imprevisível, eles não o estão. Na coluna em ordem Ascendente, é apresentado o nome "a" antes de "A" e "B" é apresentado antes de "b". Isso ocorre porque, quando avaliados como valores de texto, "A" = "a" e "B" = "b", sejam eles em minúsculas ou em maiúsculas. O Access leva em conta a ordem original dos valores. Na coluna de ordem de Pré-sequência de ordenação, "a" precede "A" e "B" precede "b".

Quando a operação de classificação sensível às maiúsculas e minúsculas é executada, os valores de texto são substituídos por seus valores ASCII. Por exemplo, A = 65, a = 97, B = 66, b = 98 e assim por diante.

Escrever o código VBA

  1. Crie um módulo VBA e escreva a linha seguinte na secção de Declarações, se ainda não estiver lá:

    Option Explicit

  2. Escreva o procedimento seguinte num módulo no Visual Basic Editor:

    Function StrToHex (S As Variant) As Variant
    '
    ' Converts a string to a series of hexadecimal digits.
    ' For example, StrToHex(Chr(9) & "A~") returns 09417E.
    '
    Dim Temp As String, I As Integer
    If VarType(S) <> 8 Then
    StrToHex = S
    Else
    Temp = ""
    For I = 1 To Len(S)
    Temp = Temp & Format(Hex(Asc(Mid(S, I, 1))), "00")
    Next I
    StrToHex = Temp
    End If
    End Function

    A função definida pelo utilizador anterior, StrToHex, pode ser chamada a partir de uma consulta. Quando passa o nome do campo de ordenação para esta função, ela irá ordenar os valores de campo numa ordem sensível às maiúsculas e minúsculas.

  3. Agora, crie uma consulta a partir da qual irá chamar esta função.

    No separador Criar, no grupo Consultas, clique em Estrutura da Consulta.

  4. Selecione Adicionar Tabelas (Mostrar tabela em Access 2013).

  5. Arraste os campos que pretende para a grelha.

  6. Na primeira coluna em branco, na linha Campo, escreva Expr1: StrToHex([SortField]).

    StrToHex é a função definida pelo utilizador que criou anteriormente. SortField é o nome do campo que contém os valores sensíveis às maiúsculas e minúsculas.

  7. Na célula Classificar, clique em Ascendente ou Decrescente.

    Se selecionar ordem ascendente, será apresentado o valor que começa com letras maiúsculas antes das que começam com letras minúsculas. Aplicar uma ordenação descendente faz o oposto.

  8. Mudar para a Vista de Folha de Dados.

    O Access apresenta os registos, ordenados em ordem sensível às maiúsculas e minúsculas.

Início da Página

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×