Sortarea adreselor IP în Access

Notă: Dorim să vă oferim cel mai recent conținut de ajutor, cât mai rapid posibil, în limba dvs. Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Vă rugăm să ne spuneți dacă informațiile v-au fost utile, în partea de jos a acestei pagini. Aici se află articolul în limba engleză, ca să îl puteți consulta cu ușurință.

Acest subiect descrie procedura pentru a sorta Protocol Internet (IP) adrese stocate într-o bază de date Access .

Introducere

Dacă lucrați cu adrese IP, probabil că deja știți că nu este ca simplă ca lucrul cu text sau numere. Aceasta este că o adresă IP este de fapt o colecție de patru valori numerice, separate de un punct (.), în cazul în care fiecare valoare este un număr între 0 și 255. Următorul tabel afișează date înainte să se aplice vreo ordine de sortare.

MachineID

Employee

Locație

IPAddress

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

Sortarea adreselor IP în Access este o provocarea, deoarece Access nu furnizează un tip de date speciale pentru stocarea adrese IP. Deși o adresă IP este doar o colecție de numere, nu puteți să stocați unei adrese IP într-un câmp numeric. Aceasta este că un câmp numeric acceptă doar o singură zecimal punct (.), în timp ce o adresă IP conține trei perioade (.). Acest lucru înseamnă că trebuie să stocați adresele într-un câmp text.

Deoarece stochează adresele IP într-un câmp text, nu puteți utiliza butoanele de sortare predefinită în Access pentru a sorta adresele într-un mod semnificativ. Butoanele de sortare întotdeauna sortarea valorilor dintr-un câmp de text în ordine alfabetică, chiar dacă caracterele sunt numere. Cu alte cuvinte, adresele sunt sortate după prima cifră, apoi, a doua cifre, și așa mai departe, în loc de valorile numerice care alcătuiesc adresa. Următorul tabel arată adreselor din tabelul anterior sortate în ordine alfabetică în câmpul IPAddress.

MachineID

IPAddress

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

Adresele care încep cu 1 sunt afișate înainte de adrese care încep cu 2, și așa mai departe. Următorul tabel arată adresele în corectă ordine crescătoare.

MachineID

IPAddress

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

Pentru a face mai ușor de înțeles etapele implicate în aceste adrese de sortare, întrerupeți adresele IP în patru părți numerice. Adresele trebuie să fie sortate după prima parte, apoi pentru fiecare valoare din prima parte, apoi în a doua parte și așa mai departe. Tabelul prezintă fiecare parte dintr-o altă coloană și, deoarece coloanele mențineți simplu valori numerice, devine posibilă pentru a sorta coloanele de la stânga la dreapta în ordine ascendentă, așa cum se arată în următorul tabel.

PartI

PartII

PartIII

PartIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23

Sortare patru părți separat este secretul în spatele sortarea adreselor IP. Din procedura care urmează, când creați o interogare care, în plus față de câmpul de adresă IP, include patru coloane calculate în cazul în care fiecare coloană stochează o parte dintre valorile de adresă. Prima coloană calculată va continuu prima parte numerice adresa, al doilea calculează coloana va afla partea al doilea numerice de adresă, și așa mai departe. În loc de Sortarea înregistrărilor după câmpul IPAddress, interogarea va sorta înregistrările după cele patru coloane calculate.

Crearea interogării

Veți crea o interogare de selectare denumit sortate IPAddresses care afișează înregistrările în ordine ascendentă de adrese IP. Să presupunem că baza de date curentă are un tabel denumit MachineDetails care include un câmp text denumit IPAddress.

  1. Faceți clic pe Creare > Proiectare interogare. Rețineți, dacă utilizați Access 2007, pe fila Creare , în grupul altele , faceți clic pe Proiectare interogare.

  2. În caseta de dialog Afișare tabel , pe fila tabele , faceți clic pe MachineDetails și apoi faceți clic pe Adăugare. Închideți caseta de dialog.

  3. Glisați câmpurile MachineID și IPAddress în grila de proiectare a interogării.

  4. Acum sunteți gata să adăugați coloane calculate. În prima coloană necompletată din partea dreaptă, tastați expresia PartI: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) în rândul câmp . Expresia returnează caractere înaintea primei perioade (.) în câmpul IPAddress.

    Acum, revizuiți expresia. Deoarece nu știți cât de multe cifre alcătuiesc prima parte a adresa, puteți utiliza funcția InStr pentru a găsi poziția primei perioade. Scăderea 1 (pentru a exclude perioadei) returnează numărul de cifre din prima parte. Apoi utilizați acest număr cu funcția stânga pentru a extrage că multe caractere, începând de la stânga caracter din câmpul IPAddress. În cele din urmă, apelați funcția Val pentru a efectua conversia returnată de funcția stânga într-un număr de caractere. Acest ultimul pas este necesară, deoarece tipul de date subiacente este Text.

  5. Salvați interogarea, făcând clic pe Salvare pe bara de Instrumente acces rapid. Aceasta este o idee bună să faceți acest lucru după fiecare pas intermediar.

  6. Adăugare coloană pentru a doua parte adresă. În coloana din dreapta a PartI, tastați PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,instr(instr(1,[Ipaddress],".") +1,[Ipaddress],".") -InStr(1,[Ipaddress],".") -1)) în rândul câmp . Expresia returnează caracterele care se află între prima și a doua perioade în câmpul IPAddress.

    Din nou, revizuiți expresia. Deoarece nu știți cât de multe cifre alcătuiesc a doua parte a adresa sau exact în cazul în care a doua parte pornește (deoarece nu cât timp prima parte este), utilizați funcția InStr pentru a găsi poziții de perioade. Puteți utiliza apoi funcția Mid pentru a extrage caracterele ce urmează prima perioadă dar puneți a doua perioadă. În cele din urmă, apelați funcția Val pentru a efectua conversia returnată de funcția Mid într-un număr de caractere. Acest ultimul pas este necesară, deoarece tipul de date subiacente este Text.

  7. Adăugare coloană pentru a treia parte adresă. În coloana din dreapta a PartII, tastați PartIII: 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)) în rândul câmp . Expresia returnează caracterele care se află între perioade al doilea și al treilea în câmpul IPAddress.

    Din nou, revizuiți expresia. Deoarece nu știți cât de multe cifre alcătuiesc a treia parte a adresa sau exact în cazul în care a treia parte pornește (deoarece nu știți cât timp sunt părți prima și a doua), utilizați funcția InStr pentru a găsi poziții de perioade. Apoi utilizați funcția Mid pentru a extrage caracterele care urmați a doua perioadă, dar puneți a treia perioadă. În cele din urmă, apelați funcția Val pentru a efectua conversia returnată de funcția Mid într-un număr de caractere. Acest ultimul pas este necesară, deoarece tipul de date subiacente este Text.

  8. Adăugați coloana pentru partea al patrulea și ultimul adresă. În coloana din dreapta a PartIII, tastați PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[Ipaddress],".") +1,[Ipaddress],"."))) în rândul câmp . Expresia returnează caracterele ce urmează ultima perioadă.

    Din nou, revizuiți expresia. Soluția este să găsiți locația a treia perioadă și apoi extrage toate caracterele pe care îl urmăriți. Deoarece nu știți exact în cazul în care a treia perioadă se află, apelați funcția InStr de trei ori pentru a găsi poziția a treia perioadă. Puteți utiliza apoi funcția Len pentru a calcula numărul de cifre în a patra parte. Numărul de cifre returnate apoi utilizată cu funcția dreapta pentru a extrage care numărul de caractere dintr-o porțiune dreapta câmpului IPAddress. În cele din urmă, apelați funcția Val pentru a efectua conversia returnată de funcția Mid într-un număr de caractere. Acest ultimul pas este necesară, deoarece tipul de date subiacente este Text.

  9. Setați rândul Sortare al toate cele patru coloane calculate la ascendent.

    Importante    Rândul Sortare al coloanei IPAddress trebuie să fie necompletată.

    Dacă doriți să sortați după alte valori de câmpuri, în plus față de adrese, plasați câmpuri spre stânga sau la dreapta de toate cele patru coloane calculate. Amplasați celelalte câmpuri sortare între coloane calculate.

  10. Următorul pas este să le ascundeți patru coloane calculate din foaia de date. Dar înainte de a vă care, comutați la foaia de date vizualizarea pentru a vedea rezultatul de expresii în coloanele calculate. Următorul tabel arată coloanele veți vedea în vizualizarea foaie de date.

    MachineID

    IPAddress

    PartI

    PartII

    PartIII

    PartIV

    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. Comutați înapoi la vizualizarea proiect și debifați caseta de selectare în rândul Afișare din toate cele patru coloane calculate. Acest lucru împiedică coloanelor calculate se afișează în vizualizarea foaie de date.

  12. Opțional, Specificați criteriile pentru excluderea înregistrări din interogare.

  13. Comutați la vizualizarea foaie de date pentru a vedea înregistrările în ordine sortată. Veți vedea înregistrările corect sortate în ordine ascendentă de adrese IP.

Mai multe moduri de utilizare pentru sortată adrese IP

Validați adrese IP în timpul introducerii de date

Dacă doriți să validați adrese fără a scrie cod, puteți face acest lucru într-o măsură limitată setând proprietatea mască intrare câmpului la #. ###. ###. ###; 0; " " și proprietatea Format a câmpul adresă IP la & & & & & & & & & & & &.

Ce face masca de intrare? Atunci când începeți să tastați în câmpul adresă, masca de intrare vă împiedică introducerea caractere decât numere și spații între trei perioade. Dacă o parte numerice este un număr de două cifre, lăsați necompletat al treilea cifre sau tastați un spațiu în schimb. Rețineți că această mască de intrare nu avertizează utilizatorul dacă el ignoră tastarea una sau mai multe părți ale adresa sau tipuri de spații numai în locul unei valori numerice. De exemplu, "345.. 3. "va fi acceptată ca o adresă validă.

Ce face format de afișare? Când ați terminat de tastat și lăsați câmpul, format de afișare elimină spațiile din adresa și afișează doar numere și perioade. Acest lucru, dacă ați tastat "354.35.2.12", adresa este afișat ca "354.35.2.12". Rețineți că, dacă faceți clic în interiorul adresa sau apăsați F2 (pentru a intra în modul editare) atunci când se selectează adresa, spațiile va reapar.

Sfat: Dacă doriți să o copiați o adresă, treceți la coloana anterioară sau controlul, apăsați pe TAB pentru a selecta adresa formatat, apoi faceți clic pe Copiere. De a face acest lucru, va copia nu șirul de adrese care conține spații.

Sortarea înregistrărilor într-un formular sau raport de adrese IP

Dacă aveți nevoie pentru a crea un formular sau un raport în care sunt sortate înregistrările de adrese IP, bază obiect nou într-o interogare care sortează adresele anterior descris, în loc de tabel care stochează adresele.

Începutul paginii

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×