Ordinare indirizzi IP

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

In questo articolo viene descritta la procedura per eseguire l'ordinamento di indirizzi IP (Internet Protocol) memorizzati in un database di Microsoft Office Access 2007.

Contenuto dell'articolo

Introduzione

Creare la query

Altri utilizzi degli indirizzi IP ordinati

Introduzione

Gli utenti che utilizzano gli indirizzi IP sono consapevoli del fatto che il loro utilizzo non è così semplice come lavorare con testo o numeri. Un indirizzo IP, infatti, è in realtà composto da una serie di quattro valori numerici separati da un punto (.), in cui ogni valore è un numero compreso tra 0 e 255. Nella tabella seguente vengono riportati i dati prima dell'applicazione di un ordinamento.

IDComputer

Dipendente

Ubicazione

IndirizzoIP

1

...

...

123.4.245.23

2

...

...

104.244.253.29

3

...

...

1.198.3.93

4

...

...

32.183.93.40

5

...

...

104.30.244.2

6

...

...

104.244.4.1


L'ordinamento di indirizzi IP in Access è un'operazione complessa, dal momento che in Access non è disponibile un tipo di dati specifico per la memorizzazione di indirizzi IP. Sebbene un indirizzo IP sia semplicemente composto da una serie di numeri, non è possibile memorizzare un indirizzo IP in un campo numerico. I campi numerici, infatti, supportano solo un unico punto decimale (.), mentre un indirizzo IP ne contiene tre. È pertanto necessario memorizzare gli indirizzi IP in campi Testo.

Poiché gli indirizzi IP vengono memorizzati in campi Testo, non è possibile utilizzare i pulsanti per l'ordinamento incorporati in Access per ordinarli in modo efficace. Quando si utilizzano i pulsanti per l'ordinamento, i valori contenuti nei campi Testo vengono sempre ordinati alfabeticamente, anche quando i caratteri sono numeri. In altre parole, gli indirizzi vengono ordinati in base alla prima cifra, quindi in base alla seconda e così via, anziché in base ai valori numerici che compongono l'indirizzo. Nella tabella seguente vengono riportati gli indirizzi della tabella precedente ordinati alfabeticamente in base al campo IndirizzoIP.

IDComputer

IndirizzoIP

3

1.198.3.93

2

104.244.253.29

6

104.244.4.1

5

104.30.244.2

1

123.4.245.23

4

32.183.93.40


Gli indirizzi che iniziano con 1 vengono visualizzati prima degli indirizzi che iniziano con 2 e così via. Nella tabella seguente vengono riportati gli indirizzi nell'ordine crescente corretto.

IDComputer

IndirizzoIP

3

1.198.3.93

4

32.183.93.40

5

104.30.244.2

6

104.244.4.1

2

104.244.253.29

1

123.4.245.23


Per facilitare la comprensione della procedura utilizzata per l'ordinamento di questi indirizzi, gli indirizzi IP vengono scomposti in quattro parti numeriche. Gli indirizzi devono essere ordinati in base alla prima parte, poi in base a ogni valore contenuto nella prima parte, quindi in base alla seconda parte e così via. Nella tabella viene riportata ogni parte in una colonna diversa e poiché le colonne contengono valori numerici, diventa possibile ordinare le colonne da sinistra a destra in ordine crescente, come illustrato nella tabella seguente.

ParteI

ParteII

ParteIII

ParteIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23


L'ordinamento separato delle quattro parti è l'accorgimento che consente di ordinare gli indirizzi IP. Nella procedura seguente viene creata una query che, oltre al campo dell'indirizzo IP, include quattro colonne calcolate, in ognuna delle quali viene memorizzata una parte dei valori dell'indirizzo. La prima colonna calcolata conterrà la prima parte numerica dell'indirizzo, la seconda colonna calcolata conterrà la seconda parte numerica dell'indirizzo e così via. Anziché ordinare i record in base al campo IndirizzoIP, questi verranno ordinati tramite la query in base alle quattro colonne calcolate.

Torna all'inizio

Creare la query

Verrà creata una query di selezione denominata IndirizziIP Ordinati per visualizzare i record degli indirizzi IP in ordine crescente. Si supponga che il database corrente contenga una tabella denominata DettagliComputer che include un campo Testo denominato IndirizzoIP.

  1. Nel gruppo Altro della scheda Crea fare clic su Struttura query.

  2. Nella scheda Tabelle della finestra di dialogo Mostra tabella fare clic su DettagliComputer e quindi su Aggiungi. Chiudere la finestra di dialogo.

  3. Trascinare i campi IDComputer e IndirizzoIP nella griglia di struttura della query.

  4. Si è ora pronti per aggiungere le colonne calcolate. Nella riga Campo della prima colonna vuota a destra digitare l'espressione ParteI: Val(Left([IndirizzoIP],(InStr(1,[IndirizzoIP],".")-1))). L'espressione restituisce i caratteri che precedono il primo punto (.) nel campo IndirizzoIP.

    A questo punto, esaminare il valore di expression. Perché non si conosce il numero di cifre che compongono la prima parte dell'indirizzo, utilizzare la funzione InStr per trovare la posizione del primo periodo. Sottraendo 1 (per escludere il periodo) restituisce il numero di cifre nella prima parte. Sarà quindi utilizzare questo numero con la funzione Left per estrarre per molti caratteri, a partire dal primo carattere a sinistra, dal campo indirizzo IP. Infine, si chiama la funzione Val per convertire i caratteri restituiti dalla funzione Left in un numero. Quest'ultimo passaggio è necessario perché il tipo di dati sottostante è di tipo testo.

  5. Salvare la query facendo clic su Salva sulla barra di accesso rapido. È consigliabile eseguire questa operazione dopo ogni passaggio intermedio.

  6. Aggiungere la colonna per la seconda parte dell'indirizzo. Nella riga Campo della colonna a destra di ParteI digitare ParteII: Val(Mid([IndirizzoIP],InStr(1,[IndirizzoIP],".")+1,InStr(InStr(1,[IndirizzoIP],".")+1,[IndirizzoIP],".")-InStr(1,[IndirizzoIP],".")-1)). L'espressione restituisce i caratteri che si trovano tra il primo e il secondo punto nel campo IndirizzoIP.

    Nuovo, esaminare il valore di expression. Perché non si conosce il numero di cifre che compongono la seconda parte dell'indirizzo o il punto di inizio esatto nella seconda parte (perché non si conosce il periodo di tempo prima parte), utilizzare la funzione InStr per trovare le posizioni dei periodi. È quindi possibile utilizzare il funzione Mid per estrarre i caratteri che seguono il primo punto ma che precedono il secondo punto. Infine, si chiama la funzione Val per convertire i caratteri restituiti dalla funzione Mid in un numero. Quest'ultimo passaggio è necessario perché il tipo di dati sottostante è di tipo testo.

  7. Aggiungere la colonna per la terza parte dell'indirizzo. Nella riga Campo della colonna a destra di ParteII digitare ParteIII: Val(Mid([IndirizzoIP],InStr(InStr(1,[IndirizzoIP],".")+1,[IndirizzoIP],".")+1,InStr(InStr(InStr(1,[IndirizzoIP],".")+1,[IndirizzoIP],".")+1,[IndirizzoIP],".")-InStr(InStr(1,[IndirizzoIP],".")+1,[IndirizzoIP],".")-1)). L'espressione restituisce i caratteri che si trovano tra il secondo e il terzo punto nel campo IndirizzoIP.

    Analizzare di nuovo l'espressione. Poiché non è noto il numero di cifre che compongono la terza parte dell'indirizzo o il punto di inizio esatto della terza parte, dal momento che non si conosce la lunghezza della prima parte e della seconda parte, viene utilizzata la funzione InStr per trovare le posizioni dei punti. Viene quindi utilizzata la funzione Mid per estrarre i caratteri che seguono il secondo punto ma che precedono il terzo punto. Viene infine chiamata la funzione Val per convertire i caratteri restituiti dalla funzione Mid in un numero. Quest'ultimo passaggio si rende necessario poiché il tipo di dati sottostante è Testo.

  8. Aggiungere la colonna per la quarta e ultima parte dell'indirizzo. Nella riga Campo della colonna a destra di ParteIII digitare ParteIV: Val(Right([IndirizzoIP],Len([IndirizzoIP])-InStr(InStr(InStr(1,[IndirizzoIP],".")+1,[IndirizzoIP],".")+1,[IndirizzoIP],"."))). L'espressione restituisce i caratteri che seguono l'ultimo punto.

    Nuovo, esaminare il valore di expression. La chiave è per trovare la posizione del terzo punto ed estrarre tutti i caratteri che seguono. Perché non si conosce esattamente il terzo periodo in cui si trova, si chiama la funzione InStr tre volte per trovare la posizione del terzo punto. È quindi possibile utilizzare il funzione Len per calcolare il numero di cifre nella quarta parte. Il numero di cifre restituito viene quindi utilizzato con la funzione Right per estrarre tale numero di caratteri dalla parte destra del campo indirizzo IP. Infine, si chiama la funzione Val per convertire i caratteri restituiti dalla funzione Mid in un numero. Quest'ultimo passaggio è necessario perché il tipo di dati sottostante è di tipo testo.

  9. Impostare la riga Ordinamento delle quattro colonne su Crescente.

    Importante    La riga Ordinamento della colonna IndirizzoIP deve essere lasciata vuota.

    Se si desidera eseguire l'ordinamento in base ad altri valori di campo, in aggiunta agli indirizzi, posizionare i campi a sinistra o a destra delle quattro colonne calcolate. Non posizionare gli altri campi in base a cui eseguire l'ordinamento tra le colonne calcolate.

  10. Il passaggio successivo consiste nel nascondere le quattro colonne calcolate nel foglio dati, ma prima di eseguire questa operazione passare alla visualizzazione Foglio dati per visualizzare i risultati delle espressioni nelle colonne calcolate. Nella tabella seguente vengono riportate le colonne che verranno visualizzate nella visualizzazione Foglio dati.

IDComputer

IndirizzoIP

ParteI

ParteII

ParteIII

ParteIV

3

1.198.3.93

1

198

3

93

4

32.183.93.40

32

183

93

40

5

104.30.244.2

104

30

244

2

6

104.244.4.1

104

244

4

1

2

104.244.253.29

104

244

253

29

1

123.4.245.23

123

4

245

23

  1. Tornare alla visualizzazione Struttura e deselezionare la casella di controllo Mostra nelle quattro colonne calcolate per evitare che le colonne calcolate vengano visualizzate nella visualizzazione Foglio dati.

  2. È inoltre possibile specificare criteri per l'esclusione di record dalla query.

  3. Passare alla visualizzazione Foglio dati per visualizzare i record ordinati. Verranno visualizzati i record degli indirizzi IP ordinati in modo corretto in senso crescente.

Torna all'inizio

Altre modalità di utilizzo degli indirizzi IP ordinati

Convalidare indirizzi IP durante l'immissione di dati

Se si desidera convalidare gli indirizzi senza scrivere codice, è possibile eseguire questa operazione, nei limiti impostando la proprietà maschera di input del campo al quale #. ## #. # # #. # # #; 0; " " e la proprietà formato del campo indirizzo IP a & & & & & & & & & & & &.

Informazioni sulla maschera di input. Quando si inizia a digitare informazioni nel campo dell'indirizzo, la maschera di input impedisce di immettere caratteri diversi da numeri e spazi tra i tre punti. Se una parte numerica è un numero a due cifre, lasciare vuota la terza cifra o digitare uno spazio. Si noti che la maschera di input non avvisa l'utente nel caso in cui non vengano digitate una o più parti dell'indirizzo o vengano digitati solo spazi al posto di un valore numerico. Ad esempio, "345. .3. " viene accettato come indirizzo valido.

Informazioni sul formato di visualizzazione, Dopo aver immesso le informazioni e spostato lo stato attivo dal campo, il formato di visualizzazione rimuove gli spazi inclusi nell'indirizzo e visualizza solo i numeri e i punti. Pertanto, se è stato digitato "354.35 .2 .12 ", l'indirizzo verrà visualizzato come "354.35.2.12". Si noti che se si fa clic sull'indirizzo o si premere F2 per attivare la modalità di modifica quando l'indirizzo è selezionato, gli spazi verranno di nuovo visualizzati.

Suggerimento : Se si desidera copiare un indirizzo oppure spostarsi alla colonna o al controllo precedente, premere TAB per selezionare l'indirizzo formattato e quindi fare clic su Copia. In questo modo non verrà copiata la stringa dell'indirizzo che contiene spazi.

Ordinare record in una maschera o in un report in base agli indirizzi IP

Se è necessario creare una maschera o un report in cui i record vengono ordinati in base agli indirizzi IP, basare il nuovo oggetto su una query per l'ordinamento di indirizzi, come descritto in precedenza, anziché su una tabella per la memorizzazione degli indirizzi.

Torna all'inizio

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×