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 costituiscono il valore, invece che al valore numerico. Ad esempio, il valore 11 viene visualizzato prima di 2 e il valore 12 prima di 3, come illustrato nella tabella seguente.
Nome studente |
Student No |
Luca |
1 |
Maria |
10 |
William |
11 |
Mary |
12 |
Jane |
2 |
Lynn |
3 |
Jason |
4 |
Mary |
5 |
Per assicurarsi che i numeri vengano ordinati in base al loro valore numerico anziché in ordine alfabetico, eseguire una delle operazioni seguenti:
-
Se il campo contiene solo valori numerici, è consigliabile modificare il tipo di dati del campo in Numero o Valuta.
-
Utilizzare la procedura seguente se:
-
Il campo contiene solo valori numerici, ma non si vuole modificare il tipo di dati del campo.
-
Il campo contiene sia valori numerici che valori stringa, ma è consigliabile ignorare i valori stringa durante l'ordinamento.
-
Questa procedura usa 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.
-
Nel gruppo Ordina e filtra della scheda Home fare clic su Avanzate, quindi scegliere Ordinamento/filtro avanzato nel menu di scelta rapida.
-
Digitare l'espressione Espr1: 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 tal caso, lo considera come 0. Se il valore non è Null, la funzione IIf chiama la funzione Val per ottenere l'equivalente numerico.
-
Nella cella Ordina selezionare Crescente o Decrescente.
Un ordinamento crescente visualizza il record con il valore più piccolo all'inizio e il record con il valore più grande nella parte inferiore. Un ordinamento decrescente fa il contrario.
-
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 per evitare di alterare la struttura della tabella. Questo comporta la spaziatura dei valori che contengono meno cifre con zeri iniziali. Ad esempio, prima di applicare l'ordinamento si modificano i valori 11, 2, 2000 e 3 in 0011, 0002, 2000 e 0003.