A volte può essere necessario ordinare i dati, non per ordine alfabetico o numerico, ma per ordine definito dall'utente (denominato anche ordine logico o personalizzato). Ad esempio, ordinare i giorni feriali in modo che venga visualizzato per primo ha più senso che ordinare in ordine alfabetico, dove viene visualizzato venerdì per primo. È possibile ordinare i dati nella visualizzazione Foglio dati di una tabella o di una query oppure nella visualizzazione Maschera di una maschera.
Per saperne di più
- Ordinare un numero limitato di valori di campo univoci
- Ordinare un numero elevato di valori univoci per i campi
Ordinare un numero limitato di valori di campo univoci
In questa procedura si scriverà un'espressione che usa la funzione IIf per classificare i titoli dei dipendenti.
Creare prima di tutto una tabella contenente tre campi: Titolo, Nome e Cognome. Nel campo Titolo immettere i valori seguenti per quattro nuovi record:
- Coordinatore vendite interno
- Responsabile vendite
- Rappresentante
- Vice Presidente, Vendite
Nei campi Nome e Cognome dei quattro record immettere i nomi desiderati.
- Aprire la tabella in visualizzazione Foglio dati.
- Nel gruppo Ordina e filtra della scheda Home fare clic su Avanzate, quindi scegliere Ordinamento/filtro avanzato nel menu di scelta rapida.
- Aggiungere alla griglia i campi desiderati, ad esempio Nome, Cognome e Titolo.
- Fare clic con il pulsante destro del mouse sulla riga Campo nella prima colonna vuota, scegliere Zoom e quindi digitare l'espressione seguente:
IIf([Titolo] = "Vicepresidente, Vendite", 1,IIf([Titolo] = "Responsabile vendite", 2,IIf([Titolo] = "Rappresentante vendite", 3,IIf([Titolo] = "Coordinatore vendite interno", 4, 5))))
Titolo è il nome del campo che contiene i valori da classificare. I valori racchiusi tra virgolette sono i singoli valori archiviati nel campo. Il valore numerico che segue è il rango assegnato. L'espressione precedente assegna i ranghi da 1 a 4 a quattro titoli diversi e il rango 5 a tutti gli altri. Quando si esegue l'ordinamento, ai titoli non menzionati in questa espressione viene assegnato lo stesso rango (5). - Nella riga Ordina della colonna che contiene l'espressione fare clic su Crescente.
- Nel gruppo Ordina e filtra della scheda Home fare clic su Attiva/disattiva filtro.
La funzione IIf restituisce il valore numerico che corrisponde al valore nel campo Titolo. Ad esempio, se il valore nel campo Titolo è Responsabile vendite, il numero assegnato è 2. Se nel campo Titolo è presente un valore non elencato come argomento nella funzione, ad esempio Coordinatore distrettuale , viene assegnato il numero 5. La query ordina quindi questi numeri in ordine crescente.
Inizio pagina
Ordinare un numero elevato di valori univoci per i campi
Se si ha un numero elevato di valori da classificare, un modo migliore per ordinare i dati consiste nel creare una tabella di ricerca.
Si supponga che la tabella Dipendenti faccia riferimento a più di 50 titoli diversi. Prima di tutto è necessario creare una tabella di ricerca e preparare la tabella esistente per cercare la nuova tabella. Quindi correlare le due tabelle e creare una query.
Creare una tabella di ricerca e modificare la tabella esistente
Creare una nuova tabella di ricerca in cui verranno archiviati i titoli. Assegnare un nome alla tabella tblTitles e impostare i campi sui tipi di dati indicati tra parentesi, come illustrato nella tabella seguente:
ID titolo
(Numerazione automatica)Titolo
(Testo)1 Vice Presidente, Vendite 2 Responsabile vendite 3 Rappresentante 4 Coordinatore vendite interno Impostare il campo TitleID come chiave primaria.
Modificare la tabella Dipendenti in modo che cerchi la tabella tblTitles.
- In visualizzazione Struttura modificare il nome del campo Titolo in ID Titolo.
- Nella colonna Tipo di dati impostare Tipo di dati su Numero.
Nella scheda Generale , in Proprietà campo, modificare Dimensione campo in Intero lungo.
Salvare la tabella e ignorare l'avviso relativo alla perdita di dati.
Passa a Visualizzazione Foglio dati.
Popolare la colonna Titles con il valore TitleID che corrisponde al valore del titolo.
Ad esempio, per i record in cui il valore Titolo è Sales Manager, digitare 2. Per agente di vendita, digitare 3.Salvare e chiudere la tabella.
Correlare le due tabelle
- Nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni.
- Nel gruppo Relazioni della scheda Progettazione fare clic su Aggiungi tabelle (o Mostra tabelle in Access).
- Selezionare tblTitles e Employees e fare clic su Aggiungi per aggiungerli alla finestra Relazioni. Chiudere la finestra di dialogo Mostra tabella.
- Trascinare il campo TitleID dalla tabella tblTitles al campo TitleID della tabella Employees.
Viene visualizzata la finestra di dialogo Modifica relazioni . - Verificare che i nomi dei campi visualizzati nelle due colonne siano entrambi TitleID e che la casella Tipo relazione visualizzi Uno-A-Molti. Se necessario, è possibile modificare i nomi dei campi.
- Selezionare la casella di controllo Applica integrità referenziale.
- Fare clic su Crea per creare la relazione.
La finestra di dialogo Modifica relazioni si chiude e salva le modifiche. - Chiudere la scheda Relazioni .
Creare una query
- Nel gruppo Query della scheda Crea fare clic su Struttura query.
- Nella finestra di dialogo Aggiungi tabelle (Mostra tabella in Access) fare clic sulla scheda Tabelle , fare doppio clic su Dipendenti e quindi fare doppio clic su tblTitles.
- Aggiungere i campi EmployeeID, LastName e FirstName della tabella Employees e il campo Title della tabella tblTitles alla griglia di struttura della query.
- Passa a Visualizzazione Foglio dati.
Inizio pagina