Office
Logi sisse

IP-aadresside sortimine

Märkus.:  Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit .

Selles teemas kirjeldatakse rakenduse Microsoft Office Access 2007 andmebaasis talletatud IP-aadresside sortimist.

Selle artikli teemad

Sissejuhatus

Päringu loomine

Lisateavet kasutusalad sorditud IP-aadressid

Sissejuhatus

Kui töötate IP-aadressidega, siis ilmselt juba teate, et see pole nii lihtne, kui teksti või arvudega töötamine. Keerukus seisneb selles, et IP-aadress on sisuliselt nelja, punktiga (.) eraldatud arvväärtuse kogum, kus iga väärtus võib olla vahemikus 0–255. Järgmises tabelis on andmed enne sortimisjärjestuse rakendamist.

Seadme_ID

Töötaja

Asukoht

IP-aadress

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


IP-aadresside sortimine Accessis on keerukas toiming, kuna Accessis pole IP-aadresside talletamiseks eraldi andmetüüpi. Kuigi IP-aadress on lihtsalt arvude kogum, ei saa seda arvuväljal talletada. Seda seetõttu, et arvuväli toetab vaid ühte punkti (.), kuid IP-aadress sisaldab kolme punkti. Seega tuleb aadressid talletada tekstiväljal.

Kuna IP-aadressid on tekstiväljal, ei saa nende mõtestatud sortimiseks kasutada Accessi sisseehitatud sortimisnuppe. Sortimisnupud sordivad tekstivälja väärtused alati tähestikjärjestuses, ka siis, kui märkideks on numbrid. Teisisõnu sorditakse aadressid esimese numbri alusel, siis teise numbri alusel jne, aga mitte nende arvuliste väärtuste alusel, millest aadressid koosnevad. Järgmises tabelis on eelmise tabeli aadressid sorditud välja IP-aadress alusel tähestikulises järjestuses.

Seadme_ID

IP-aadress

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


Aadressid, mis algavad numbriga 1, kuvatakse enne numbriga 2 algavaid aadresse jne. Järgmises tabelis on aadressid õiges tõusvas järjestuses.

Seadme_ID

IP-aadress

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


Et saaksite aadresside sortimise toimingust paremini aru, jagage IP-aadressid neljaks arvuliseks osaks. Aadressid tuleb sortida esimese osa alusel, siis esimese osa väärtuste alusel, siis teise osa alusel jne. Järgmises tabelis on iga osa kuvatud erinevas veerus ning kuna igas veerus on tavalised arvulised väärtused, saab veerge sortida vasakult paremale tõusvas järjestuses, nagu järgmises tabelis näidatud.

I_osa

II_osa

III_osa

IV_osa

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23


Nende nelja osa eraldi sortimises seisnebki IP-aadresside sortimine. Järgnevas toimingus saate luua päringu, milles sisalduvad lisaks IP-aadressi väljale ka neli arvutatud veergu, kus igas veerus talletatakse osa aadresside väärtustest. Esimeses arvutatud veerus on aadresside esimene arvuline osa, teises teine jne. Selle asemel, et sortida kirjeid IP-aadressi välja alusel, sordib päring kirjed nende nelja arvutatud veeru alusel.

Lehe algusse

Päringu loomine

Järgmiste juhiste abil saate luua valikupäringu nimega Sorditud IP-aadressid, mis kuvab kirjed IP-aadresside tõusvas järjestuses. Oletame, et praegu avatud andmebaasis on tabel nimega Seadme_üksikasjad, milles on tekstiväli nimega IP-aadress.

  1. Klõpsake menüü Loo jaotises Muu nuppu Päringu kujundus.

  2. Klõpsake dialoogiboksis Tabeli kuvamine vahekaarti Tabelid, klõpsake tabelit Seadme_üksikasjad ja siis nuppu Lisa. Sulgege dialoogiboks.

  3. Lohistage väljad SeadmeID ja IP-aadress päringu kujundusruudustikku.

  4. Nüüd saate lisada arvutatud veerud. Tippige paremalt esimese tühja veeru reale Väli avaldis I_osa: Val(Left([IP-aadress],(InStr(1,[IP-aadress],".")-1))). See avaldis tagastab väljal IP-aadress enne esimest punkti (.) olevad märgid.

    Nüüd, lugege läbi avaldist. Kuna te ei tea, mitu numbrit moodustavad aadressi esimene osa, saate kasutada funktsiooni funktsioon InStr esimese perioodi asukoha leidmiseks. Lahutamisel 1 (välja jätta perioodi) tagastab kohtade arv esimene osa. Seejärel saate seda numbrit soovitud vasakule funktsiooni palju märke, alates vasakpoolse märgi, sordib välja. Lõpuks kutsuge soovitud funktsiooni Val teisendada tagastatud funktsiooni vasakule mitmeks märgid. See viimane toiming on vajalik, kuna aluseks oleva andmetüüp on tekst.

  5. Salvestage päring. Selleks klõpsake kiirpääsuriba nuppu Salvesta. Kindlasti tasub päring salvestada iga tehtud toimingu järel.

  6. Lisage aadressi teise osa veerg. Tippige veerust I_osa paremal oleva veeru reale Väli avaldis II_osa: Val(Mid([IP-aadress],InStr(1,[IP-aadress],".")+1,InStr(InStr(1,[IP-aadress],".")+1,[IP-aadress],".")-InStr(1,[IP-aadress],".")-1)). See avaldis tagastab väljal IP-aadress esimese ja teise punkti vahel olevad märgid.

    Klõpsake uuesti vaadata avaldist. Kuna te ei tea, mitu numbrit moodustavad teine osa aadress või täpselt, mille teine osa algab (Kuna te ei, kui kaua esimene osa on), kasutage funktsiooni InStr perioodide leidmiseks. Seejärel saate soovitud eraldamiseks esimese perioodi kuid järgnevad märgid funktsioon Mid alustage teise perioodi. Lõpuks kutsuge funktsiooni Val märki, tagastab funktsioon Mid arvuks teisendada. See viimane toiming on vajalik, kuna aluseks oleva andmetüüp on tekst.

  7. Lisage aadressi kolmanda osa veerg. Tippige veerust II_osa paremal oleva veeru reale Väli avaldis III_osa: Val(Mid([IP-aadress],InStr(InStr(1,[IP-aadress],".")+1,[IP-aadress],".")+1,InStr(InStr(InStr(1,[IP-aadress],".")+1,[IP-aadress],".")+1,[IP-aadress],".")-InStr(InStr(1,[IP-aadress],".")+1,[IP-aadress],".")-1)). See avaldis tagastab väljal IP-aadress teise ja kolmanda punkti vahel olevad märgid.

    Vaadake jälle avaldis läbi. Kuna pole kindel, mitmest numbrist aadressi kolmas osa koosneb või kust see algab (sest pole teada, kui pikk on esimene või teine osa), kasutage punktide asukohtade leidmiseks funktsiooni InStr. Seejärel kasutage teise ja kolmanda punkti vaheliste märkide toomiseks funktsiooni Mid. Lõpuks kutsuge esile funktsioon Val, et teisendada funktsiooni Mid tagastatud märgid arvuks. See viimane toiming on vajalik, kuna põhiandmetüübiks on Tekst.

  8. Lisage aadressi neljanda ja ühtlasi viimase osa veerg. Tippige veerust III_osa paremal oleva veeru reale Väli avaldis IV_osa: Val(Right([IP-aadress],Len([IP-aadress])-InStr(InStr(InStr(1,[IP-aadress],".")+1,[IP-aadress],".")+1,[IP-aadress],"."))). See avaldis tagastab märgid, mis järgnevad viimasele punktile.

    Klõpsake uuesti vaadata avaldist. Oluline on kolmanda perioodi asukoha leidmine ja seejärel ekstrakti sellele järgnevad märgid. Kuna te ei tea täpselt kolmanda perioodi asukoht, helistate funktsioon InStr kolm korda kolmanda perioodi asukoha leidmiseks. Seejärel saate soovitud funktsioon Len arvutamiseks neljas osa kohtade arv. Tagastatud kohtade arv kasutatakse koos selle paremale funktsioon sordib välja õige osa palju märke eraldada. Lõpuks kutsuge funktsiooni Val märki, tagastab funktsioon Mid arvuks teisendada. See viimane toiming on vajalik, kuna aluseks oleva andmetüüp on tekst.

  9. Seadke kõigi nelja arvutatud veeru rea Sordi väärtuseks Tõusev järjestus.

    NB!    Veeru IP-aadress rida Sordi tuleb jätta tühjaks.

    Kui soovite lisaks IP-aadressidele sortida ka muude väljade väärtuste järgi, paigutage need väljad kõigist neljast arvutatud veerust paremale või vasakule. Ärge paigutage muid sortimisvälju arvutatud veergude vahele.

  10. Järgmiseks tuleb arvutatud veerud andmelehel peita. Enne seda aktiveerige arvutatud veergude avaldiste tulemi nägemiseks andmelehevaade. Järgnevas tabelis on veerud, mida andmelehevaates näete.

Seadme_ID

IP-aadress

I_osa

II_osa

III_osa

IV_osa

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. Aktiveerige kujundusvaade uuesti ja tühjendage kõigi nelja arvutatud veeru ruut Kuva. Sellega takistate arvutatud veergude kuvamise andmelehevaates.

  2. Soovi korral võite määratleda kriteeriumid kirjete päringust eemaldamiseks.

  3. Kirjete sorditud järjestuse nägemiseks aktiveerige andmelehevaade. Kuvatavad kirjed on IP-aadresside järgi õigesti sorditud.

Lehe algusse

Sorditud IP-aadresside täiendavad kasutusvõimalused

IP-aadresside kontrollimine andmesisestusel

Kui soovite koodi kirjutamata aadresside valideerimiseks, saate seda teha piiratud, seades atribuuti sisestusmask#välja. ###. ###. ###; 0; " " ja et IP-aadressi välja atribuudi Vorming& & & & & & & & & & & &.

Mida sisestusmask teeb? Kui alustate aadressiväljale tippimist, lubab sisestusmask kolme punkti vahele tippida ainult numbreid ja tühikuid. Kui arvuline osa koosneb kahest numbrist, jätke kolmas koht tühjaks või tippige tühik. Sisestusmask ei hoiata kasutajat, kui mõni aadressi osa vahele jäetakse või arvulise väärtuse asemel tipitakse ainult tühikud. Näiteks "345. .3. " arvestatakse kehtiva aadressina.

Mida teeb kuvamisvorming? Kui olete tippimise lõpetanud ja lahkute väljalt, eemaldab kuvamisvorming aadressist tühikud ja kuvab ainult numbrid ja punktid. Kui tippisite "354.35 .2 .12 ", kuvatakse aadress kujul "354.35.2.12". Kui aadress on valitud, siis kuvatakse selle klõpsamisel või klahvi F2 vajutamisel (redigeerimisrežiimi aktiveerimiseks) tühikud uuesti.

Näpunäide.: Aadressi kopeerimiseks liikuge eelmisele veerule või juhtelemendile ja vajutage vormindatud aadressi valimiseks tabeldusklahvi (TAB) ning klõpsake siis nuppu Kopeeri. Nii kopeerite aadressistringi, mis tühikuid ei sisalda.

Vormi või aruande kirjete sortimine IP-aadresside alusel

Kui teil on vaja luua selline vorm või aruanne, mille kirjed on IP-aadresside alusel sorditud, kasutage uue objekti aluseks sellist päringut, mis sordib aadresse nii, nagu ülalpool kirjeldatud, mitte tabelit, kus aadressid on talletatud.

Lehe algusse

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×