Ordinare record in base a valori numerici memorizzati in un campo Testo

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

I numeri e le stringhe archiviati in un campo Testo breve (testo) o Testo lungo (memo) in Access sono ordinati alfabeticamente. In altre parole, i numeri verranno ordinati in base alle singole cifre che compongono il valore, anziché in base al valore numerico. Ad esempio, il valore 11 viene visualizzato prima di 2 e il valore 12 viene visualizzato prima di 3, come illustrato nella tabella seguente.

Nome dello studente Studente No
Luca 1
Maria 10
Guglielmo 11
Mary 12
Giovanna 2
Lynn 3
Giasone 4
Mary 5

Per assicurarsi che i numeri siano ordinati in base al relativo valore numerico anziché alfabeticamente, eseguire una delle operazioni seguenti:

  • Se il campo contiene solo valori numerici, è consigliabile modificare il tipo di dati in Numero o Valuta.

  • Usare la procedura seguente se:

    • Il campo contiene solo valori numerici, ma non si desidera modificare il tipo di dati del campo.
    • Il campo contiene sia valori numerici che stringa, ma si desidera ignorare i valori stringa durante l'ordinamento.

In questa procedura viene usata la funzione Val per ottenere il valore numerico di un numero archiviato come testo. L'espressione usa anche la funzione IIf per gestire i valori Null che potrebbero essere presenti nel campo di ordinamento.

  1. Nel gruppo Ordina e filtra della scheda Home fare clic su Avanzate, quindi scegliere Ordinamento/filtro avanzato nel menu di scelta rapida.
  2. Digitare l'espressione Expr1: IIf([NomeCampo] Is Null, 0, Val([NomeCampo])) nella riga Campo della prima colonna.
    La funzione IIf verifica se il valore del campo è Null e, in caso affermativo, lo considera come 0. Se il valore non è Null, la funzione IIf chiama la funzione Val per ottenere l'equivalente numerico.
  3. Nella cella Ordina selezionare Crescente o Decrescente.
    In ordine crescente vengono visualizzati il record con il valore più piccolo all'inizio e il record con il valore più grande in basso. Un ordinamento decrescente fa l'opposto.
  4. Nel gruppo Ordina e filtra della scheda Home fare clic su Attiva/disattiva filtro.

Se la procedura precedente non funziona, è possibile provare un altro approccio che evita di modificare la struttura della tabella. Ciò implica la "spaziatura interna" dei valori che contengono meno cifre con zeri iniziali. Ad esempio, è necessario modificare i valori 11, 2, 2000 e 3 in 0011, 0002, 2000 e 0003 prima di applicare l'ordinamento.

Inizio pagina