Ordinare record in base a un ordinamento personalizzato

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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.

  1. Aprire la tabella in visualizzazione Foglio dati.
  2. Nel gruppo Ordina e filtra della scheda Home fare clic su Avanzate, quindi scegliere Ordinamento/filtro avanzato nel menu di scelta rapida.
  3. Aggiungere alla griglia i campi desiderati, ad esempio Nome, Cognome e Titolo.
  4. 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).
  5. Nella riga Ordina della colonna contenente l'espressione fare clic su Crescente.
  6. 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

  1. 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
  2. Impostare il campo TitleID come chiave primaria.

  3. 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.
  4. In Proprietà campodella scheda Generale impostare Dimensione campo su Intero lungo.

  5. Salvare la tabella e ignorare l'avviso relativo alla perdita di dati.

  6. Passa a Visualizzazione Foglio dati.

  7. 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.

  8. Salva e chiudi la tabella.

Correlare le due tabelle

  1. Nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni.
  2. Nel gruppo Relazionidella scheda Progettazione fare clic su Aggiungi tabelle (o Mostra tabelle in Access).
  3. Selezionare tblTitoli e Dipendenti e fare clic su Aggiungi per aggiungerli alla finestra Relazioni. Chiudere la finestra di dialogo Mostra tabella.
  4. Trascinare il campo TitleID dalla tabella tblTitles al campo TitleID nella tabella Dipendenti.
    Viene visualizzata la finestra di dialogo Modifica relazioni .
  5. 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.
  6. Selezionare la casella di controllo Applica integrità referenziale.
  7. Fare clic su Crea per creare la relazione.
    La finestra di dialogo Modifica relazioni viene chiusa e salva le modifiche.
  8. Chiudere la scheda Relazioni .

Creare una query

  1. Nel gruppo Query della scheda Crea fare clic su Struttura query.
  2. 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.
  3. Aggiungere i campi EmployeeID, LastName e FirstName dalla tabella Employees e il campo Title dalla tabella tblTitles alla griglia di struttura della query.
  4. Passa a Visualizzazione Foglio dati.

Inizio pagina