Pode haver momentos em que você deseja classificar dados, não por ordem alfabética ou numérica, mas por ordem definida pelo usuário (também chamada de ordem personalizada ou lógica). Por exemplo, classificar dias da semana para que segunda-feira apareça primeiro faz mais sentido do que classificar em ordem alfabética, onde sexta-feira aparece primeiro. Você pode classificar dados na exibição Datasheet de uma tabela ou consulta ou na exibição Formulário de um formulário.
O que você deseja fazer?
Classificar um número pequeno e finito de valores de campo exclusivos
Neste procedimento, você escreverá uma expressão que usa a função IIf para classificar os títulos dos funcionários.
Primeiro, crie uma tabela que contenha três campos : Title, FirstName e LastName. No campo Título, insira os seguintes valores para quatro novos registros:
-
Coordenador interno de vendas
-
Gerente de vendas
-
Representante de vendas
-
Vice-presidente, Vendas
Nos campos FirstName e LastName dos quatro registros, insira todos os nomes desejados.
-
Agora, abra a tabela no modo de exibição Datasheet.
-
Na guia Página Inicial , no grupo Classificar & Filtro , clique em Avançado e clique em Filtro/Classificação Avançado no menu de atalho.
-
Adicione os campos desejados, como FirstName, LastName e Title, à grade.
-
Clique com o botão direito do mouse na linha Campo na primeira coluna em branco, clique em Zoom e digite a seguinte expressão:
IIf ([Title] = "Vice-Presidente, Vendas", 1, IIf ([Title] = "Sales Manager", 2, IIf ([Title] = "Representante de Vendas", 3, IIf ([Título] = "Coordenador de Vendas interno", 4, 5)))))
Título é o nome do campo que contém os valores que estão sendo classificados. Os valores entre aspas são os valores individuais armazenados no campo. O valor numérico a seguir é a classificação atribuída a ele. A expressão anterior atribui classificações de 1 a 4 a quatro títulos diferentes e atribui a classificação 5 a todos os outros. Quando você executa o tipo, os títulos não mencionados nessa expressão recebem a mesma classificação (5).
-
Na linha Classificar para a coluna que contém a expressão, clique em Ascending.
-
Na guia Página Inicial , no grupo Classificar & Filtro , clique em Alternar Filtro.
A função IIf retorna o valor numérico que corresponde ao valor no campo Título. Por exemplo, se o valor no campo Título for Gerenciador de Vendas, o número atribuído será 2. Se houver um valor no campo Título não listado como um argumento na função , por exemplo, Coordenador do Distrito, ele será atribuído ao número 5. Em seguida, a consulta classifica esses números em ordem crescente.
Classificar um grande número de valores de campo exclusivos
Se você tiver um grande número de valores para classificar, uma maneira melhor de classificar dados é criando uma tabela de pesquisa.
Suponha que a tabela Funcionários se refira a mais de 50 títulos diferentes. Primeiro, você precisará criar uma tabela de pesquisa e preparar a tabela existente para pesquisar a nova tabela. Em seguida, você relaciona as duas tabelas e cria uma consulta.
Criar uma tabela de pesquisa e modificar a tabela existente
-
Crie uma nova tabela de pesquisa que armazenará os títulos. Nomeie os tblTitles da tabela e defina os campos para os tipos de dados indicados em parênteses, conforme mostrado na tabela a seguir:
TitleID
(Número Automático)Título
(Texto)1
Vice-presidente, Vendas
2
Gerente de vendas
3
Representante de vendas
4
Coordenador interno de vendas
-
Defina o campo TitleID como a chave primária.
-
Modifique a tabela Funcionário para que ela procure a tabela tblTitles.
-
Na exibição Design, altere o nome do campo Título para TitleID.
-
Na coluna Tipo de Dados , altere o Tipo de Dados para Número.
-
-
Na guia Geral , em Propriedades de Campo, altere o Tamanho do Campo para Inteiro Longo.
-
Salve a tabela e ignore o aviso sobre a perda de dados.
-
Alterne para o modo de exibição de Folha de dados.
-
Preencha a coluna Títulos com o valor TitleID que corresponde ao valor do título.
Por exemplo, para registros em que o valor título é Gerenciador de Vendas, tipo 2. Para Representante de Vendas, tipo 3.
-
Salve e feche a tabela.
Relacionar as duas tabelas
-
Na guia Ferramentas de Banco de Dados, no grupo Relações, clique em Relações.
-
Na guia Design , no grupo Relações , clique em Adicionar Tabelas (ou Mostrar Tabelas no Acesso).
-
Selecione tblTitles e Funcionários e clique em Adicionar para adicioná-los à janela Relações. Feche a caixa de diálogo Mostrar Tabela.
-
Arraste o campo TitleID da tabela tblTitles para o campo TitleID na tabela Funcionários.
A caixa de diálogo Editar Relações é aberta.
-
Verifique se os nomes de campo exibidos nas duas colunas são TitleID e também que a caixa Tipo de Relação exibe Um Para Muitos. Você pode alterar os nomes de campo, se necessário.
-
Marque a caixa de seleção Impor Integridade Referencial.
-
Clique em Criar para criar a relação.
A caixa de diálogo Editar Relações fecha e salva as alterações.
-
Feche a guia Relações .
Criar uma consulta
-
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
-
Na caixa de diálogo Adicionar Tabelas (Mostrar Tabela no Acesso), clique na guia Tabelas , clique duas vezes em Funcionários e clique duas vezes em tblTitles.
-
Adicione os campos EmployeeID, LastName e FirstName da tabela Employees e o campo Título da tabela tblTitles à grade de design de consulta.
-
Alterne para o modo de exibição de Folha de dados.