IP adresų rūšiavimas

Svarbu :  Šis straipsnis išverstas naudojant mašininį vertimą, žr. atsakomybės atsisakymą. Su šio straipsnio versija anglų kalba galite susipažinti čia .

Šioje temoje aprašomas interneto protokolo (IP) adresų, saugomų Microsoft Office Access 2007 duomenų bazėje, rūšiavimas.

Šiame straipsnyje

Įvadas

Užklausos kūrimas

Daugiau surūšiuotų IP adresų naudojimo būdai

Įvadas

Jei dirbate su IP adresais, tikriausiai jau žinote, kad tai nėra taip paprasta, kaip dirbti su tekstu arba skaičiais. Taip yra todėl, kad IP adresas yra keturių skaitinių reikšmių, atskirtų tašku (.), rinkinys, kurio kiekviena reikšmė yra skaičius nuo 0 iki 255. Toliau pateikiamoje lentelėje yra nesurūšiuoti duomenys.

Kompiuterio_ID

Darbuotojas

Vieta

IP_adresas

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 adresų rūšiavimas programoje Access yra sudėtingas, nes programa Access neteikia specialaus duomenų tipo, skirto IP adresams saugoti. Nors IP adresas yra tik skaičių rinkinys, negalite saugoti IP adresų skaičių lauke. Taip yra todėl, kad skaičių laukas palaiko tik vieną dešimtainės trupmenos tašką (.), o IP adrese yra trys taškai (.). Tai reiškia, kad adresus reikia saugoti teksto laukelyje.

Kadangi saugote IP adresus teksto laukelyje, negalite naudoti programos Access įtaisytųjų rūšiavimo mygtukų norėdami prasmingai rūšiuoti adresus. Rūšiavimo mygtukai visada rūšiuoja teksto laukelio reikšmes pagal abėcėlę, net jei simboliai yra skaičiai. Kitaip tariant, adresai rūšiuojami pagal pirmą skaitmenį, tada pagal antrą ir t. t., o ne pagal skaitines reikšmes, iš kurių sudarytas adresas. Toliau pateiktoje lentelėje nurodomi ankstesnės lentelės adresai, surūšiuoti pagal abėcėlę lauke IP_adresas.

Kompiuterio_ID

IP_adresas

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


Adresai, kurių pradžioje yra 1, rodomi prieš adresus, kurių pradžioje yra 2, ir t. t. Šioje lentelėje pateikiami tinkama didėjimo tvarka surūšiuoti adresai.

Kompiuterio_ID

IP_adresas

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


Kad būtų paprasčiau suprasti šių adresų rūšiavimo etapus, suskirstykite IP adresus į keturias skaitines dalis. Adresai tūri būti rūšiuojami pagal pirmą dalį, tada pagal kiekvieną pirmos dalies reikšmę, tada pagal antrą dalį ir t. t. Lentelėje kiekviena dalis pateikiama atskirame stulpelyje. Kadangi stulpeliuose yra paprastos skaitinės reikšmės, galima surūšiuoti stulpelius iš kairės į dešinę didėjimo tvarka, kaip parodyta toliau pateiktoje lentelėje.

Dalis_I

Dalis_II

Dalis_III

Dalis_IV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23


Keturių dalių rūšiavimas atskirai yra IP adresų rūšiavimo gudrybė. Atlikdami šią procedūrą, sukuriate užklausą, kurioje be IP adreso lauko, pateikiami keturi apskaičiuojamieji stulpeliai, kuriuose yra adreso reikšmių dalis. Pirmame apskaičiuojamajame stulpelyje yra pirma skaitinė adreso dalis, antrame – antra ir t. t. Užuot rūšiavusi įrašus pagal lauką IP_adresas, užklausa rūšiuos įrašus pagal keturis apskaičiuojamuosius stulpelius.

Puslapio viršus

Užklausos kūrimas

Sukursite atrankos užklausą, vadinamą Surūšiuoti IP_adresai, kuri pateikia IP adresų įrašus didėjimo tvarka. Tarkime, kad esamoje duomenų bazėje yra lentelė, pavadinta Kompiuterio_informacija, kurioje yra teksto laukelis, pavadintas IP_adresas.

  1. Skirtuko Kūrimas grupėje Kita spustelėkite Užklausos dizainas.

  2. Skirtuko Lentelės dialogo lange Lentelės rodymas spustelėkite Kompiuterio_informacija, tada spustelėkite Pridėti. Uždarykite dialogo langą.

  3. Nuvilkite laukus Kompiuterio_ID ir IP_adresas į užklausos kūrimo tinklelį.

  4. Dabar galite pridėti apskaičiuojamuosius stulpelius. Pirmojo dešinėje pusėje esančio tuščio stulpelio eilutėje Laukas įrašykite išraišką Dalis_I: Val(Left([IP_adresas],(InStr(1,[IP_adresas],".")-1))). Išraiška grąžins simbolius, esančius prieš pirmą tašką (.) lauke IP_adresas.

    Dabar Peržiūrėkite reiškinys. Kadangi nežinote, kiek skaitmenų sudaro pirmąją dalį adreso, galite naudoti su funkcija " InStr" Norėdami rasti pirmojo laikotarpio. Atimant (Norėdami neįtraukti laikotarpio) 1 grąžina skaitmenų skaičius pirmąją dalį. Tada naudoti šį numerį su į kairėje funkcija simbolių, pradedant nuo kairiojo simbolį, iš lauko Ip_adresas. Be to, galite skambinti į iškviečiate funkciją Norėdami konvertuoti simbolius, kurį grąžino funkcija kairėje į skaičių. Kadangi turimų duomenų tipas yra tekstas, būtina šį paskutinį veiksmą.

  5. Įrašykite užklausą Sparčiosios prieigos įrankių juosta spustelėdami Įrašyti. Patartina tai atlikti po kiekvieno tarpinio veiksmo.

  6. Pridėkite stulpelį, skirtą antrai adreso daliai. Stulpelio, esančio dešinėje pusėje prie Dalis_I, eilutėje Laukas įrašykite Dalis_II: Val(Mid([IP_adresas],InStr(1,[IP_adresas],".")+1,InStr(InStr(1,[IP_adresas],".")+1,[IP_adresas],".")-InStr(1,[IP_adresas],".")-1)). Išraiška grąžins simbolius, esančius tarp pirmo ir antro taško lauke IP_adresas.

    Dar kartą, peržiūrėkite reiškinys. Kadangi nežinote, kiek skaitmenų sudaro antroje adresą arba tiksliai kur antra dalis prasideda (nes ne pirma dalis yra), naudokite funkcija " InStr" rasti vietų laikotarpių. Tada naudojate su funkcija Mid išskirti simbolius, kurie eina pirmojo laikotarpio bet prieš antrąjį laikotarpį. Galiausiai iškviečiate funkciją Val , Norėdami konvertuoti į skaičių, funkcija Mid grąžina simbolius. Kadangi turimų duomenų tipas yra tekstas, būtina šį paskutinį veiksmą.

  7. Pridėkite stulpelį, skirtą trečiai adreso daliai. Stulpelio, esančio dešinėje pusėje prie Dalis_II, eilutėje Laukas įrašykite Dalis_III: Val(Mid([IP_adresas],InStr(InStr(1,[IP_adresas],".")+1,[IP_adresas],".")+1,InStr(InStr(InStr(1,[IP_adresas],".")+1,[IP_adresas],".")+1,[IP_adresas],".")-InStr(InStr(1,[IP_adresas],".")+1,[IP_adresas],".")-1)). Išraiška grąžins simbolius, esančius tarp antro ir trečio taško lauke IP_adresas.

    Dar kartą peržiūrėkite išraišką. Kadangi nežinote, kiek skaitmenų sudaro trečią adreso dalį ar kurioje vietoje ji prasideda (nes nežinote, kokio ilgio yra pirma ir antra dalys), norėdami rasti taškų vietas, naudojate funkciją InStr. Tada naudojate funkciją Mid norėdami išskirti simbolius, esančius po antro ir prieš trečią tašką. Galiausiai iškviečiate funkciją Val, norėdami konvertuoti simbolius, kuriuos grąžino funkcija Mid, į skaičių. Šis paskutinis veiksmas yra būtinas, nes pagrindinis duomenų tipas yra tekstas.

  8. Pridėkite stulpelį, skirtą ketvirtai ir paskutinei adreso daliai. Stulpelyje, esančiame iš dešinės pusės prie Dalis_III, eilutėje Laukas įrašykite Dalis_IV: Val(Right([IP_adresas],Len([IP_adresas])-InStr(InStr(InStr(1,[IP_adresas],".")+1,[IP_adresas],".")+1,[IP_adresas],"."))). Išraiška grąžina simbolius, esančius po paskutinio taško.

    Dar kartą, peržiūrėkite reiškinys. Svarbiausia rasti trečią laikotarpį, vietą ir tada išgauti visus simbolius, kad po jo. Kadangi nežinote, kas tiksliai, kur Trečiasis laikotarpis yra, galite skambinti funkcija " InStr" tris kartus rasti trečią laikotarpį. Tada naudojate su funkcija Len apskaičiuoti skaitmenų – ketvirta dalis. Grąžinama skaitmenų skaičius, naudojamas su į dešinėje funkcija išgauti simbolių dešinėje iš lauko Ip_adresas dalies. Galiausiai iškviečiate funkciją Val , Norėdami konvertuoti į skaičių, funkcija Mid grąžina simbolius. Kadangi turimų duomenų tipas yra tekstas, būtina šį paskutinį veiksmą.

  9. Nustatykite visų keturių apskaičiuojamųjų stulpelių eilutės Rūšiuoti reikšmę Didėjimo tvarka.

    Svarbu    Stulpelio IP_adresas eilutė Rūšiuoti turi būti tuščia.

    Jei norite rūšiuoti pagal kitas laukų reikšmes, neskaitant adresų, įkelkite laukus iš kairės arba iš dešinės pusės prie visų keturių apskaičiuojamųjų stulpelių. Neįkelkite kitų rūšiavimo laukų tarp apskaičiuojamųjų stulpelių.

  10. Kitas etapas yra paslėpti keturis apskaičiuojamuosius stulpelius duomenų lape. Tačiau prieš tai atlikdami, įjunkite duomenų lapo rodinį, kad galėtumėte peržiūrėti išraiškų rezultatus apskaičiuojamuosiuose stulpeliuose. Šioje lentelėje stulpeliai pateikiami taip, kaip jie rodomi duomenų lapo rodinyje.

Kompiuterio_ID

IP_adresas

Dalis_I

Dalis_II

Dalis_III

Dalis_IV

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. Grįžkite į dizaino rodinį ir išvalykite žymės langelį visų keturių apskaičiuojamųjų stulpelių eilutėje Rodyti. Tada apskaičiuojamieji stulpeliai nebus rodomi duomenų lapo rodinyje.

  2. Pasirinktinai nurodykite įrašų šalinimo iš užklausos kriterijus.

  3. Norėdami peržiūrėti surūšiuotus įrašus, įjunkite duomenų lapo rodinį. Įrašai bus pateikti tinkamai surūšiuoti IP adresų didėjimo tvarka.

Puslapio viršus

Daugiau surūšiuotų IP adresų naudojimo būdų

IP adresų tikrinimas įvedant duomenis

Jei norite patvirtinti adresus be rašyti kodą, tai galite padaryti ribotą nustatydami ypatybę InputMask lauko #. ###. ###. ###; 0; " " ir IP adresų lauko ypatybę formatas& & & & & & & & & & & &.

Ką daro įvesties šablonas? Kai pradedate rašyti adreso lauke, įvesties šablonas neleidžia jums tarp trijų taškų rašyti jokių kitų simbolių, išskyrus skaičius ir tarpus. Jei skaičių dalis yra dviženklis skaičius, trečio skaitmens vietoje nieko nerašykite arba įrašykite tarpą. Atkreipkite dėmesį, kad įvesties šablonas neįspėja vartotojo, jei jis praleidžia vieną ar kelias adreso dalis arba įrašo tik tarpus vietoj skaitinių reikšmių. Pvz., „345. .3. “ bus priimta kaip tinkamas adresas.

Ką daro rodymo formatas? Kai baigiate rašyti ir išeinate iš lauko, rodymo formatas pašalina adreso tarpus ir rodo tik skaičius ir taškus. Taigi jei įrašėte „354.35 .2 .12 “, adresas rodomas kaip „354.35.2.12“. Atkreipkite dėmesį, kad jei spustelėsite kurią nors adreso dalį arba paspausite F2 (kad pereitumėte į redagavimo režimą), kai adresas pažymėtas, tarpai vėl bus rodomi.

Patarimas : Norėdami nukopijuoti adresą, pereikite į ankstesnį stulpelį ar valdiklį, paspauskite TAB norėdami pasirinkti suformatuotą adresą ir spustelėkite Kopijuoti. Tai atlikę nenukopijuosite adreso eilutės, kurioje yra tarpų.

Formos arba ataskaitos įrašų rūšiavimas pagal IP adresus

Jei reikia sukurti formą arba ataskaitą, kurios įrašai surūšiuoti pagal IP adresus, naujo objekto pagrindas turi būti užklausa, kuri rūšiuoja adresus anksčiau aprašytu būdu, o ne lentelė, kurioje saugomi adresai.

Puslapio viršus

Pastaba : Mašininio vertimo atsakomybės atsisakymas: Šis straipsnis išverstas naudojant kompiuterinę sistemą be žmogaus įsikišimo. „Microsoft“ pateikia šiuos mašininius vertimus norėdama padėti anglų kalbos nesuprantantiems vartotojams perskaityti turinį apie „Microsoft“ produktus, paslaugas ir technologijas. Šis straipsnis išverstas mašininio vertimo būdu, todėl jame gali būti žodyno, sintaksės ar gramatikos klaidų.

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×