Tässä ohjeaiheessa kuvataan Access tietokantaan tallennettujen IP-osoitteiden lajitteluohjeet.

Johdanto

Jos käytät IP-osoitteita, tiedät luultavasti jo, että se ei ole yhtä yksinkertaista kuin tekstin tai numeroiden käsitteleminen. Tämä johtuu siitä, että IP-osoite on oikeastaan neljän numeerisen arvon kokoelma, joka on erotettu pisteellä (.), jossa kukin arvo on luku väliltä 0–255. Seuraavassa taulukossa näkyvät tiedot ennen lajittelujärjestyksen käyttämistä.

MachineID

Työntekijä

Sijainti

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

IP-osoitteiden lajitteleminen Accessissa on haastavaa, koska Access ei tarjoa erityistä tietotyyppiä IP-osoitteiden tallentamista varten. Vaikka IP-osoite on vain joukko numeroita, et voi tallentaa IP-osoitteita numeerisen kentän sisään. Tämä johtuu siitä, että numeerinen kenttä tukee vain yhtä desimaalipilkkua (.), kun taas IP-osoite sisältää kolme pistettä (.). Tämä tarkoittaa, että osoitteet on tallennettava tekstikenttään.

Koska tallennat IP-osoitteet tekstikenttään, et voi käyttää Accessin valmiita lajittelupainikkeita osoitteiden lajittelemiseen mielekkäällä 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 muodostavien numeeristen arvojen sijaan. Seuraavassa taulukossa näkyvät edellisen taulukon osoitteet aakkosjärjestyksessä IPAddress-kentässä.

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

Osoitteet, joiden alussa on 1, näkyvät ennen osoitteita, joiden alussa on 2 ja niin edelleen. Seuraavassa taulukossa osoitteet näkyvät oikeassa nousevassa järjestyksessä.

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

Jotta ymmärtäisit paremmin näiden osoitteiden lajitteluun liittyvät vaiheet, jaa IP-osoitteet neljään numeeriseen osaan. Osoitteet on lajiteltava ensimmäisen osan mukaan, sitten ensimmäisen osan kullekin arvolle, sitten toisen osan mukaan ja niin edelleen. Taulukko näyttää kunkin osan eri sarakkeessa, ja koska sarakkeissa on yksinkertaisia numeerisia arvoja, sarakkeet voidaan lajitella vasemmalta oikealle nousevassa järjestyksessä seuraavassa taulukossa esitetyllä tavalla.

Parti

OsaII

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

Neljän osan lajitteleminen erikseen on IP-osoitteiden lajittelun temppu. Seuraavassa toimenpiteessä luodaan kysely, joka SISÄLTÄÄ IP-osoitekentän lisäksi neljä laskettua saraketta, joihin kukin sarake tallentaa osan 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ä kysely lajittelisi tietueet IPAddress-kentän mukaan, se lajittelee tietueet neljän lasketun sarakkeen mukaan.

Kyselyn luominen

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

  1. Napsauta Luo > Kyselyn rakennenäkymä

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

  3. Vedä MachineID- ja IPAddress-kentät kyselyn rakenneruudukkoon.

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

    Tarkista nyt lauseke. Koska et tiedä, kuinka monta numeroa osoitteen ensimmäinen osa muodostaa, etsi ensimmäisen jakson sijainti InStr-funktiolla . Luvun 1 vähentäminen (kauden poisjättämiseksi) palauttaa ensimmäisen osan numeroiden määrän. Tämän jälkeen voit käyttää tätä lukua Vasen-funktion kanssa poimiaksesi niin monta merkkiä vasemmanpuoleisimmasta merkistä alkaen IPAddress-kentästä. Lopuksi kutsut Val-funktiota muuntaaksesi Vasemmanpuoleisen funktion palauttamat merkit numeroksi. 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 osoiteosan sarake. Kirjoita PartI:n oikealla puolella olevaan sarakkeeseen PartII: Val(Mid([IPAddress],InStr(1;[IPAddress],".") +1,InStr(InStr(1;[IPAddress],".") +1,[IPAddress],".") -InStr(1;[IPAddress],".") -1))Kenttä-rivillä . Lauseke palauttaa ipaddress-kentän ensimmäisen ja toisen jakson välissä olevat merkit.

    Tarkista lauseke uudelleen. Koska et tiedä, kuinka monta numeroa muodostavat osoitteen toisen osan tai tarkalleen, mistä toinen osa alkaa (koska et tiedä, kuinka pitkä ensimmäinen osa on), etsit jaksojen sijainnit InStr-funktiolla . Sen jälkeen poimit Mid-funktiolla merkit, jotka seuraavat ensimmäistä pistettä mutta edeltävät toista jaksoa. Lopuksi kutsut Val-funktiota muuntaaksesi Mid-funktion palauttamat merkit numeroksi. Tämä viimeinen vaihe on tarpeen, koska pohjana oleva tietotyyppi on Teksti.

  7. Lisää kolmannen osoiteosan sarake. Kirjoita PartII:n oikealla puolella olevaan sarakkeeseen 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))Kenttä-rivillä . Lauseke palauttaa ipaddress-kentän toisen ja kolmannen jakson välissä olevat merkit.

    Tarkista lauseke uudelleen. Koska et tiedä, kuinka monta numeroa osoitteen kolmas osa muodostaa tai mistä kolmas osa alkaa (koska et tiedä ensimmäisen ja toisen osan kestoa), instr-funktiolla voit etsiä jaksojen sijainnit. Sen jälkeen poimit Mid-funktiolla merkit, jotka seuraavat toista jaksoa mutta edeltävät kolmatta jaksoa. Lopuksi kutsut Val-funktiota muuntaaksesi Mid-funktion palauttamat merkit numeroksi. Tämä viimeinen vaihe on tarpeen, koska pohjana oleva tietotyyppi on Teksti.

  8. Lisää neljännen ja viimeisen osoitteen osan sarake. Kirjoita PartIII:n oikealla puolella olevaan sarakkeeseen PartIV: Val(Oikea([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1;[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))Kenttä-rivillä . Lauseke palauttaa viimeisen jakson jälkeen seuraavat merkit.

    Tarkista lauseke uudelleen. Tärkeintä on etsiä kolmannen jakson sijainti ja poimia sitten kaikki sitä seuraavat merkit. Koska et tiedä tarkalleen, missä kolmas jakso sijaitsee, soitat InStr-funktioon kolme kertaa löytääksesi kolmannen jakson sijainnin. Sen jälkeen len-funktiolla lasketaan neljännen osan numeroiden määrä. Palautettujen numeroiden määrää käytetään sitten Oikea-funktion kanssa poimimaan niin monta merkkiä IPAddress-kentän oikeasta osasta. Lopuksi kutsut Val-funktiota muuntaaksesi 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ää    IPAddress-sarakkeen Lajittele-rivin on oltava tyhjä.

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

  10. Seuraava vaihe on piilottaa neljä laskettua saraketta taulukkonäkymästä. Ennen kuin teet tämän, siirry taulukkonäkymään nähdäksesi laskettujen sarakkeiden lausekkeiden tuloksen. Seuraavassa taulukossa näkyvät taulukkonäkymässä näkyvät sarakkeet.

    MachineID

    IPAddress

    Parti

    OsaII

    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. 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 tietueiden jättämiselle pois kyselystä.

  13. Siirry taulukkonäkymään, jos haluat nähdä tietueet lajitellussa järjestyksessä. Tietueet lajitellaan ip-osoitteiden nousevaan järjestykseen.

Lajiteltujen IP-osoitteiden käyttötavat

IP-osoitteiden vahvistaminen tietojen syöttämisen aikana

Jos haluat vahvistaa osoitteet ilman koodin kirjoittamista, voit tehdä sen rajoitetussa määrin määrittämällä kentän InputMask-ominaisuuden arvoksi ##.#### 0;" " ja&&&&&&&&&&&&ip-osoitekentän Muoto-ominaisuus .

Mitä syöttörajoite tekee? Kun alat kirjoittaa osoitekenttään, syöttörajoite estää sinua kirjoittamasta muita merkkejä kuin numeroita ja välilyöntejä kolmen pisteen 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äksyttäisiin kelvollisena osoitteena.

Mitä näyttömuoto tekee? Kun lopetat kirjoittamisen ja poistut kentästä, näyttömuoto poistaa osoitteen välilyönnit ja näyttää vain numerot ja jaksot. Jos siis kirjoitit "354.35 .2 .12", osoite näkyy muodossa "354.35.2.12". Huomaa, että jos napsautat osoitteen sisällä tai painat F2-näppäintä (siirtyäksesi 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 SARKAIN-näppäintä 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 lajitellaan IP-osoitteiden mukaan, luo uusi objekti kyselyyn, joka lajittelee osoitteet edellä kuvatulla tavalla osoitteiden tallennuksen sijaan.

Sivun alkuun

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.