Ordinare indirizzi IP in Access

Nota: Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l'articolo in lingua inglese per riferimento.

In questo argomento è descritta la procedura per l'ordinamento di indirizzi IP (Internet Protocol) memorizzati in un database Access.

Introduzione

Se si lavora con indirizzi IP, probabile che sia già noti che non è semplice come l'utilizzo di testo o numeri. In questo modo un indirizzo IP è un insieme di quattro valori numerici separati da un punto (.), in cui ogni valore è un numero compreso tra 0 e 255. Nella tabella seguente mostra i dati prima di applicata alcun ordinamento.

IDComputer

Employee

Posizione

Indirizzo IP

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

Ordinamento di indirizzi IP in Access è un'operazione impegnativa, poiché Access non fornisce un tipo di dati speciali per l'archiviazione di indirizzi IP. Anche se un indirizzo IP è solo un insieme di numeri, è possibile archiviare un indirizzi IP in un campo numerico. In questo modo un campo numerico supporta solo un singolo separatore decimale (), mentre un indirizzo IP contiene tre punti (.). Di conseguenza, che è necessario archiviare gli indirizzi in un campo di testo.

Poiché si archiviano gli indirizzi IP in un campo di testo, è possibile utilizzare i pulsanti di ordinamento predefinito in Access per ordinare gli indirizzi in modo significativo. I pulsanti di ordinamento ordinare sempre valori in un campo di testo in ordine alfabetico, anche se i caratteri sono numeri. In altre parole, gli indirizzi vengono ordinati in base alla prima cifra presente, quindi dalla seconda cifra e così via, anziché con i valori numerici che compongono l'indirizzo. Nella tabella seguente sono riportati gli indirizzi della tabella precedente in ordine alfabetico nel campo indirizzo IP.

IDComputer

Indirizzo IP

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

Vengono visualizzati gli indirizzi che iniziano con 1 prima di indirizzi che iniziano con 2 e così via. Nella tabella seguente mostra gli indirizzi il corretto ordine crescente.

IDComputer

Indirizzo IP

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 rendere più semplice da comprendere i passaggi della procedura di ordinamento di questi indirizzi, si interrompe gli indirizzi IP in quattro parti numeriche. Gli indirizzi devono essere ordinati per la prima parte, quindi per ogni valore nella prima parte quindi per la seconda parte e così via. Nella tabella sono illustrati ogni parte in una colonna diversa e, in quanto le colonne contengono valori numerici, è 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

Ordinamento quattro parti separatamente è il trucco dietro un ordinamento di indirizzi IP. Nella procedura seguente, si crea una query che, oltre al campo dell'indirizzo IP, include quattro colonne calcolate in ogni colonna contiene 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. Invece di ordinamento dei record in base al campo indirizzo IP, la query verrà ordinare i record da quattro colonne calcolate.

Creare la query

È necessario creare una query di selezione denominata IndirizziIP che visualizza i record in ordine crescente di indirizzi IP. Si supponga che il database corrente include una tabella denominata DettagliComputer che include un campo di testo denominato indirizzo IP.

  1. Fare clic su Crea > struttura Query. Nota Se si sta utilizzando Access 2007, nel gruppo della scheda Crea fare clic su Struttura Query.

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

  3. Trascinare i campi IDComputer e indirizzo IP alla griglia di struttura della query.

  4. A questo punto si è pronti aggiungere le colonne calcolate. Nella prima colonna vuota nella parte destra digitare l'espressione ParteI: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) nella riga campo. L'espressione restituisce il carattere che precede il primo punto (.) nel campo indirizzo IP.

    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, fare 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 colonna a destra di ParteI digitare ParteII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) nella riga campo. L'espressione restituisce i caratteri che si trovano tra i periodi primo e la secondo nel campo indirizzo IP.

    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 colonna a destra di ParteII digitare ParteIII: Val(Mid([IPAddress],InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],".") -InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -1)) nella riga campo. L'espressione restituisce i caratteri che si trovano tra i periodi secondo e terzi nel campo indirizzo IP.

    Nuovo, esaminare il valore di expression. Perché non si conosce il numero di cifre che compongono la terza parte dell'indirizzo o il punto di inizio esatto la terza parte (perché non si conosce il periodo di tempo prima e della seconda parte), utilizzare la funzione InStr per trovare le posizioni dei periodi. Quindi possibile utilizzare la funzione Mid per estrarre i caratteri che seguono il secondo punto ma che precedono il terzo periodo. 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.

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

    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 della quattro colonne calcolate su crescente.

    Importante    Riga ordinamento della colonna indirizzo IP deve essere lasciata vuota.

    Se si desidera ordinare in base a altri valori di campo, oltre a indirizzi, inserire i campi a sinistra o a destra di quattro colonne calcolate. Non inserire altri campi di ordinamento tra le colonne calcolate.

  10. Il passaggio successivo consiste nel nascondere quattro colonne calcolate dal foglio dati. Ma prima di eseguire che verranno visualizzate ai fogli di calcolo per visualizzare il risultato delle espressioni nelle colonne calcolate. Nella tabella seguente mostra le colonne che verranno visualizzati in visualizzazione Foglio dati.

    IDComputer

    Indirizzo IP

    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

  11. Tornare alla visualizzazione struttura e deselezionare la casella di controllo nella riga Mostra della quattro colonne calcolate. In questo modo le colonne calcolate vengano visualizzati in visualizzazione Foglio dati.

  12. Facoltativamente, è possibile specificare criteri per escludere record dalla query.

  13. Passare alla visualizzazione Foglio dati per visualizzare i record in base all'ordinamento. Verranno visualizzati i record correttamente ordinati in ordine crescente degli indirizzi IP.

Altri utilizzi degli indirizzi IP ordinati

Convalidare gli 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 & & & & & & & & & & & &.

Qual è la maschera di input? Quando si inizia a digitare nel campo indirizzo, la maschera di input impedisce l'immissione di caratteri diversa 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 se si passa a digitare una o più parti dell'indirizzo, o digitati solo spazi anziché un valore numerico. Ad esempio, "345.. 3. "viene accettato come un indirizzo valido.

Qual è il formato di visualizzazione? Dopo avere completato e lasciare il campo, il formato di visualizzazione rimuove gli spazi l'indirizzo e visualizza solo i numeri e i periodi. Pertanto, se è stato digitato "354.35.2.12", l'indirizzo viene visualizzato come "354.35.2.12". Si noti che se si fa clic sull'indirizzo o premere F2 (per passare alla modalità di modifica) quando si seleziona l'indirizzo, verranno visualizzate di nuovo gli spazi.

Suggerimento: Se si desidera copiare un indirizzo, spostarsi alla colonna precedente o al controllo, 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 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 in una query che consente di ordinare indirizzi come descritto in precedenza, invece che nella tabella in cui sono memorizzati gli indirizzi.

Inizio pagina

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

Queste informazioni sono risultate utili?

Grazie per il feedback!

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

×