IP-osoitteiden lajitteleminen Accessissa

Tässä artikkelissa kuvataan ip-osoitteiden lajittelumenettely, joka on tallennettu Access tietokantaan.

Johdanto

Jos käytät IP-osoitteita, tiedät luultavasti jo, että se ei ole yhtä yksinkertaista kuin tekstin tai numeroiden käyttö. Tämä johtuu siitä, että IP-osoite on kokoelma neljää numeerista arvoa, jotka on erotettu pisteella (.), jossa kukin arvo on luku väliltä 0–255. Seuraavassa taulukossa on tietoja ennen lajittelujärjestyksen käyttöä.

Konetunnus

Työntekijä

Sijainti

IPOsoite

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-osoitteiden lajitteleminen Accessissa on haaste, koska Access ei tarjoa erityistä tietotyyppiä IP-osoitteiden tallentamista varten. Vaikka IP-osoite on vain lukujen kokoelma, et voi tallentaa IP-osoitteita numeeriseen kenttään. Tämä johtuu siitä, että numeerinen kenttä tukee vain yhtä desimaalipilkkua (.), kun taas IP-osoite sisältää kolme pisteitä (.). Tämä tarkoittaa, että osoitteet on tallennettava tekstikenttään.

Koska tallennat IP-osoitteet tekstikenttään, et voi käyttää Accessin valmiita lajittelupainikkeita osoitteiden lajittelemiseen merkityksellisellä tavalla. Lajittelupainikkeet lajittelevat tekstikentän arvot aina aakkosjärjestykseen, vaikka merkit ovat numeroita. Toisin sanoen osoitteet lajitellaan ensimmäisen numeron mukaan, sitten toisen numeron mukaan ja niin edelleen osoitteen muodostavat numeeristen arvojen sijaan. Seuraavassa taulukossa on edellisen taulukon osoitteet lajiteltu aakkosjärjestykseen IPOsoite-kentässä.

Konetunnus

IPOsoite

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

Osoitteet, jotka alkavat 1:llä, näkyvät ennen osoitteita, jotka alkavat 2:lla ja niin edelleen. Seuraavassa taulukossa osoitteet näkyvät oikeassa nousevassa järjestyksessä.

Konetunnus

IPOsoite

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

Jos haluat helpottaa näiden osoitteiden lajittelun vaiheiden ymmärtämistä, jaa IP-osoitteet neljään numeerisen osaan. Osoitteet on lajitettava ensimmäisen osan mukaan, sitten ensimmäisen osan jokaisen arvon, toisen osan ja niin edelleen. Taulukossa näkyy eri sarakkeen jokainen osa, ja koska sarakkeissa on yksinkertaisia numeerisia arvoja, sarakkeet on mahdollista lajitella vasemmalta oikealle nousevaan järjestykseen seuraavassa taulukossa esitetyllä tavalla.

OsaI

PartII

PartIII

Osa OSA.OSA.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

Neljän osan lajitteleminen erikseen on IP-osoitteiden lajittelun tapa. Seuraavassa menettelyssä luot kyselyn, joka SISÄLTÄÄ IP-osoitekentän lisäksi neljä laskettua saraketta, johon kuhunkin sarakkeeseen tallennetaan osa osoitearvoista. Ensimmäisessä lasketussa sarakkeessa on osoitteen ensimmäinen numeerinen osa, toisessa lasketussa sarakkeessa on osoitteen toinen numeerinen osa ja niin edelleen. Sen sijaan, että lajittelet tietueet IPOsoite-kentän mukaan, kysely lajittelee tietueet neljän lasketun sarakkeen mukaan.

Kyselyn luominen

Luot lajiteltuja IP-osoitteita varten valintakyselyn, joka näyttää tietueet nousevassa järjestyksessä IP-osoitteissa. Oletetaan, että nykyisessä tietokannassa on MachineDetails-niminen taulukko, joka sisältää IPOsoite-nimisen tekstikentän.

  1. Napsauta Luo > Kyselyn rakennenäkymä

  2. Valitse Lisää taulukoita (NäytäAccess 2013 ) ja vedä koneen tiedot rakennenäkymän yläosaan.

  3. Vedä Konetunnus- ja IPOsoite-kentät kyselyn rakenneruudukkoon.

  4. Olet nyt valmis lisäämään lasketut sarakkeet. Kirjoita oikealla ensimmäiseen tyhjään sarakkeeseen lauseke PartI: Val(Left([IPOsoite],(InStr(1,[IPOsoite],".") -1)))Kenttä-rivillä. Lauseke palauttaa ensimmäistä jaksoa edeltävät merkit (.) IPOsoite-kentässä.

    Tarkista nyt lauseke. Koska et tiedä, kuinka monta numeroa osoitteen ensimmäisestä osasta tulee, voit etsiä ensimmäisen jakson sijainnin InStr-funktiolla. 1.1.1.1999 palauttaa ensimmäisen osan numeroiden määrän. Tämän jälkeen vasen-funktion avulla voit poimia vasemmanpuoleisimmasta merkistä alkaen niin monta merkkiä IPOsoite-kentästä. Lopuksi voit muuttaa Vasemmanpuoleista funktiota palauttavat merkit numeroksi kutsumalla Val-funktiota. Tämä viimeinen vaihe on tarpeen, koska pohjana oleva tietotyyppi on Teksti.

  5. Tallenna kysely valitsemalla PikatyökaluriviltäTallenna. Tämä kannattaa tehdä jokaisen välivaiheen jälkeen.

  6. Lisää toisen osoitteen osan sarake. Kirjoita PartI-osan oikealla puolella olevan sarakkeen Sarakkeeseen PartII: Val(Mid([IPOsoite],InStr(1,[IPOsoite],".") +1,InStr(InStr(1,[IPOsoite],".") +1,[IPOsoite],".") -InStr(1,[IPOsoite],".") -1))Kenttä-rivillä. Lauseke palauttaa IPOsoite-kentän ensimmäisen ja toisen lausekkeen välissä olevat merkit.

    Tarkista lauseke uudelleen. Koska et tiedä, kuinka monta numeroa osoitteen toisesta osasta tai täsmälleen siitä, mistä toinen osa alkaa (koska et tiedä, kuinka kauan ensimmäinen osa on), voit etsiä kausien sijainnit InStr-funktiolla. Sen jälkeen poimit Keski-funktion avulla ensimmäisen jakson edetyt merkit, jotka edeltävät toista jaksoa. Lopuksi kutsut Val-funktiota muuntamaan Mid-funktion palauttamat merkit numeroksi. Tämä viimeinen vaihe on tarpeen, koska pohjana oleva tietotyyppi on Teksti.

  7. Lisää sarake kolmannen osoitteen osalle. Kirjoita PartII:n oikealla puolella olevan sarakkeen PartIII: Val(Mid([IPOsoite],InStr(InStr(1,[IPOsoite],".") +1,[IPOsoite],".") +1,InStr(InStr(InStr(1,[IPOsoite],".") +1,[IPOsoite],".") +1,[IPOsoite],".") -InStr(InStr(1,[IPOsoite],".") +1,[IPOsoite],".") -1))Kenttä-rivillä. Lauseke palauttaa merkit, jotka sijaitsevat IPOsoite-kentän toisen ja kolmannen lausekkeen välillä.

    Tarkista lauseke uudelleen. Koska et tiedä, kuinka monta numeroa osoitteen kolmannesta osasta tai täsmälleen siitä, mistä kolmas osa alkaa (koska et tiedä, kuinka kauan ensimmäinen ja toinen osa ovat), voit etsiä kausien sijainnit InStr-funktiolla. Sen jälkeen poimit Keski-funktiolla merkkiä, jotka seuraavat toista jaksoa, mutta jotka edeltävät kolmatta jaksoa. Lopuksi kutsut Val-funktiota muuntamaan Mid-funktion palauttamat merkit numeroksi. Tämä viimeinen vaihe on tarpeen, koska pohjana oleva tietotyyppi on Teksti.

  8. Lisää neljännen ja viimeisen osoite-osan sarake. Kirjoita PartIII:n oikealla puolella olevan sarakkeen PartIV: Val(Right([IPOsoite],Len([IPOsoite])-InStr(InStr(InStr(1,[IPOsoite],".") +1,[IPOsoite],".") +1,[IPOsoite],".")))Kenttä-rivillä. Lauseke palauttaa viimeisen jakson jälkeen seuraavat merkit.

    Tarkista lauseke uudelleen. Avain on kolmannen jakson sijainnin etsiminen ja kaikkien sitä seuraavien merkkien poimiminen. Koska et tiedä tarkalleen, missä kolmas kausi sijaitsee, kutsut InStr-funktiota kolme kertaa kolmannen jakson sijainnin etsiksi. Sen jälkeen voit laskea neljännen osan numeroiden määrän Len-funktiolla. Palautettujen numeroiden määrää käytetään oikean funktion kanssa poimimaan niin monta merkkiä IPOsoite-kentän oikeasta osasta. Lopuksi kutsut Val-funktiota muuntamaan Mid-funktion palauttamat merkit numeroksi. Tämä viimeinen vaihe on tarpeen, koska pohjana oleva tietotyyppi on Teksti.

  9. Määritä kaikkien neljän lasketun sarakkeen Lajittelu-riviksi Nouseva.

    Tärkeää    IPOsoite-sarakkeen Lajittele-rivin on oltava tyhjä.

    Jos haluat lajitella muiden kenttien arvojen mukaan osoitteiden lisäksi, sijoita kentät kaikkien neljän lasketun sarakkeen vasemmalle tai oikealle puolella. Älä sijoita muita lajittelukenttiä laskettujen sarakkeiden väliin.

  10. Seuraava vaihe on neljän lasketun sarakkeen piilottaminen taulukkonäkymästä. Ennen kuin teet tämän, siirry taulukkonäkymään, jotta näet lausekkeiden tuloksen lasketuissa sarakkeissa. Seuraavassa taulukossa näkyvät taulukkonäkymässä näkyvät sarakkeet.

    Konetunnus

    IPOsoite

    OsaI

    PartII

    PartIII

    Osa OSA.OSA.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

  11. Siirry takaisin rakennenäkymään ja poista kaikkien neljän lasketun sarakkeen Näytä-rivin valintaruudun valinta. Tämä estää laskettujen sarakkeiden näyttämisen taulukkonäkymässä.

  12. Voit myös määrittää ehdot, joiden mukaan tietueita ei poisteta kyselystä.

  13. Siirry taulukkonäkymään, jotta näet tietueet lajiteltuna. Näet tietueet oikein lajiteltuna nousevassa järjestyksessä IP-osoitteissa.

Lisää käyttötapoja lajiteltuihin IP-osoitteisiin

IP-osoitteiden vahvistaminen tietojen syötyksen aikana

Jos haluat tarkistaa osoitteet kirjoittamatta koodia, voit tehdä sen rajoitetussa määrin määrittämällä kentän Syöttötehtävä-ominaisuuden arvoksi ###.###.###.###;0;" " ja IP-osoitekentän Muoto-ominaisuuden &&&&&&&&&&&&.

Mitä syöttörajoite tekee? Kun alat kirjoittaa osoitekenttään, syöttörajoite estää sinua syöttämästä muita merkkejä kuin numeroita ja välilyöntejä näiden kolmen merkin väliin. Jos numeerinen osa on kaksinumeroinen luku, jätä kolmas numero tyhjäksi tai kirjoita välilyönti. Huomaa, että tämä syöttörajoite ei varoita käyttäjää, jos hän ohittaa osoitteen yhden tai useamman osan kirjoittamisen tai kirjoittaa vain välilyöntejä numeerisen arvon sijaan. Esimerkiksi "345. .3. " hyväksytään kelvollisena osoitteena.

Mitä näyttömuoto tekee? Kun lopetat kirjoittamisen ja poistut kentästä, näyttömuoto poistaa välilyönnit osoitteesta ja näyttää vain numerot ja kaudet. Jos kirjoitit "354.35 .2 .12", osoitteena näkyy "354.35.2.12". Huomaa, että jos napsautat osoitteen sisällä tai painat F2-näppäintä (siirryt muokkaustilaan), kun osoite on valittuna, välilyönnit tulevat uudelleen näkyviin.

Vihje: Jos haluat kopioida osoitteen, siirry edelliseen sarakkeeseen tai ohjausobjektiin, valitse muotoiltu osoite painamalla SARKAINTA ja valitse sitten Kopioi. Näin et kopioi välilyöntejä sisältävää osoitemerkkijonoa.

Lomakkeen tai raportin tietueiden lajitteleminen IP-osoitteiden mukaan

Jos haluat luoda lomakkeen tai raportin, jossa tietueet on lajiteltu IP-osoitteiden mukaan, käytä uuden objektin pohjana kyselyä, joka lajittelee osoitteet edellä kuvatulla tavalla osoitteita tallennettavan taulukon sijaan.

Sivun alkuun

Tarvitsetko lisäohjeita?

Kehitä Office-taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×