In alcuni casi può essere necessario ordinare i dati non alfabeticamente o numericamente, ma secondo l'ordine definito dall'utente, detto anche ordine logico o personalizzato. Ad esempio, è più sensato ordinare i giorni della settimana in modo che il lunedì compaia per primo rispetto all'ordinamento alfabetico dove il venerdì compare per primo. È possibile ordinare i dati nella visualizzazione Foglio dati di una tabella o query oppure nella visualizzazione Maschera di una maschera.
Per saperne di più
- Ordinare un numero ridotto e finito di valori di campo univoci
- Ordinare un numero elevato di valori di campo univoci
Ordinare un numero ridotto e finito di valori di campo univoci
In questa procedura verrà scritta 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 interne
- Responsabile vendite
- Rappresentante di vendita
- Vicepresidente, 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([title] = "Vicepresidente, Vendite", 1,IIf([title] = "Sales Manager", 2,IIf([title] = "Sales Representative", 3,IIf([title] = "Inside Sales Coordinator", 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 è la classificazione assegnata. L'espressione precedente assegna i gradi da 1 a 4 a quattro titoli diversi e assegna il grado 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 contenente 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 corrispondente al valore nel campo Titolo. Ad esempio, se il valore nel campo Titolo è Sales Manager, il numero assegnato è 2. Se nel campo Titolo è presente un valore non elencato come argomento nella funzione, ad esempio Coordinatore distrettuale , gli viene assegnato il numero 5. La query ordina quindi questi numeri in ordine crescente.
Inizio pagina
Ordinare un numero elevato di valori di campo univoci
Se i valori da classificare sono molti, 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 possibile 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 memorizzati i titoli. Assegnare alla tabella il nome tblTitles e impostare i campi sui tipi di dati indicati tra parentesi, come illustrato nella tabella seguente:
ID titolo
(Numerazione automatica)Titolo
(Testo)1 Vicepresidente, vendite 2 Responsabile vendite 3 Rappresentante di vendita 4 Coordinatore vendite interne Impostare il campo TitleID come chiave primaria.
Modificare la tabella Dipendenti in modo che cerchi la tabella tblTitles.
- Nella visualizzazione Struttura, modificare il nome del campo Titolo in TitleID.
- Nella colonna Tipo di dati impostare il tipo su Numerico.
In Proprietà campodella scheda Generale impostare Dimensione campo su Intero lungo.
Salvare la tabella e ignorare l'avviso relativo alla perdita di dati.
Passa a Visualizzazione Foglio dati.
Inserire nella colonna Titoli il valore TitleID corrispondente al valore del titolo.
Ad esempio, per i record in cui il valore Titolo è Sales Manager, digitare 2. Per Rappresentante di vendita, digitare 3.Salva e chiudi la tabella.
Correlare le due tabelle
- Nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni.
- Nel gruppo Relazionidella scheda Progettazione fare clic su Aggiungi tabelle (o Mostra tabelle in Access).
- Selezionare tblTitoli e Dipendenti 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 nella tabella Dipendenti.
Viene visualizzata la finestra di dialogo Modifica relazioni . - Verificare che i nomi dei campi visualizzati nelle due colonne siano entrambi ID titolo e che nella casella Tipo di relazione sia visualizzato 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 viene chiusa 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 dalla tabella Employees e il campo Title dalla tabella tblTitles alla griglia di struttura della query.
- Passa a Visualizzazione Foglio dati.
Inizio pagina