Sortiranje IP adresa u programu Access

U ovoj se temi opisuje postupak sortiranja adresa internetskog protokola (IP) pohranjenih u bazi podataka Access.

Uvod

Ako radite s IP adresama, vjerojatno već znate da nije jednostavna kao rad s tekstom ili brojevima. To je zato što je IP adresa zaista zbirka od četiri numeričke vrijednosti razdvojenih točkom (.), gdje je svaka vrijednost broj između 0 i 255. U sljedećoj su tablici prikazani podaci prije primjene redoslijeda sortiranja.

MachineID

Zaposlenika

Mjesto

IPAdresa

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

Sortiranje IP adresa u programu Access predstavlja izazov jer Access ne nudi posebnu vrstu podataka za pohranu IP adresa. Iako je IP adresa samo zbirka brojeva, IP adrese ne možete pohraniti u numeričko polje. To je zato što numeričko polje podržava samo jednu decimalnu točku (.), a IP adresa sadrži tri razdoblja (.). To znači da adrese morate pohraniti u tekstno polje.

Budući da u tekstnom polju pohranjujete IP adrese, ne možete koristiti ugrađene gumbe za sortiranje u programu Access da biste adrese sortirali na smislen način. Gumbi za sortiranje uvijek sortiraju vrijednosti u tekstnom polju abecednim redoslijedom, čak i ako su znakovi brojevi. Drugim riječima, adrese se sortiraju po prvom znamenku, a zatim prema drugoj znamenki i tako dalje, umjesto numeričkim vrijednostima koje čine adresu. U sljedećoj su tablici prikazane adrese iz prethodne tablice sortirane abecednim redoslijedom na polju Ipadina.

MachineID

IPAdresa

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

Adrese koje počinju s 1 prikazuju se prije adrese koje počinju s 2 i tako dalje. U sljedećoj su tablici prikazane adrese u ispravnom uzlaznom redoslijedu.

MachineID

IPAdresa

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

Da biste olakšali razumijevanje koraka uključenih u sortiranje tih adresa, IP adrese možete prekinuti na četiri numerička dijela. Adrese se moraju sortirati po prvom dijelu, a zatim za svaku vrijednost u prvom dijelu, a zatim po drugom dijelu i tako dalje. U tablici se prikazuje svaki dio u drugom stupcu i, budući da stupci imaju jednostavne numeričke vrijednosti, moguće je sortirati stupce slijeva nadesno uzlaznim redoslijedom, kao što je prikazano u sljedećoj tablici.

PartI

DioII

DioIII

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

Sortiranje četiri dijela odvojeno predstavlja trik iza sortiranja IP adresa. U proceduri koja slijedi stvorite upit koji, osim polja IP adresa, obuhvaća četiri izračunata stupca u kojima svaki stupac pohranjuje dio vrijednosti adresa. Prvi izračunati stupac zadržat će prvi numerički dio adrese, drugi izračunati stupac zadržat će drugi numerički dio adrese i tako dalje. Umjesto sortiranja zapisa prema polju Ipadrike, upit će sortirati zapise po četiri izračunata stupca.

Stvaranje upita

Stvorit ćete upit s odabranim nazivom sortirane Ipadice koje prikazuju zapise uzlaznim redoslijedom IP adresa. Pretpostavimo da trenutno baza podataka sadrži tablicu koja se zove MachineDetails koja sadrži tekstno polje Ipadina.

  1. Kliknite stvori > dizajn upita

  2. Odaberite Dodaj tablice (prikaži tablicu u Access 2013 ) i vucite detalje o stroju do gornjeg dijela prikaza dizajna.

  3. Odvucite polja MachineID i Ipadhaljina u rešetku dizajna upita.

  4. Sada ste spremni za dodavanje izračunatih stupaca. U prvom praznom stupcu na desnoj strani upišite izraz parti: Val (Left ([ipadina] (InStr (1; [ipadina]; ".") -1))) u retku polje . Izraz vraća znakove koji prethodi prvom periodu (.) u polju Ipadina.

    Sada Pregledajte izraz. Budući da ne znate koliko znamenki čine prvi dio adrese, koristite funkciju InStr da biste pronašli položaj prvog razdoblja. Oduzimanje 1 (da biste isključili razdoblje) vraća broj znamenki u prvom dijelu. Ovaj broj koristite pomoću funkcije Left da biste izdvojili toliko znakova, počevši od krajnje lijevog znaka, iz polja ipadice. Konačno, možete nazivati funkciju Val da biste pretvorili znakove koje lijeva funkcija vraća u broj. Ovaj je posljednji korak neophodan jer je vrsta podataka u podlozi tekst.

  5. Spremite upit klikom na Spremi na alatnoj traci za brzi pristup. Dobra je ideja da to učinite nakon svakog međukoraka.

  6. Dodajte stupac za drugi dio adrese. U stupcu s desne strane dijela PartI upišite partii: Val (Mid ([ipadina], InStr (1; [Ipadin], ".") + 1, InStr (InStr (1, [Ipadhaljina], ".") + 1, [Ipadica], ".") -InStr (1; [Ipadica]; ".") -1)) u retku polje . Izraz vraća znakove koji se nalaze između prvog i drugog razdoblja u polju Ipadina.

    Ponovno pregledajte izraz. Budući da ne znate koliko znamenki sadrži drugi dio adrese ili točno gdje počinje drugi dio (zato što ne koliko traje prvi dio), pomoću funkcije InStr možete pronaći pozicije razdoblja. Zatim koristite funkciju Mid da biste izdvojili znakove koji slijede prvi period, ali prethodite drugom periodu. Konačno, možete nazivati funkciju Val da biste pretvorili znakove koje vraća funkcija Mid u broj. Ovaj je posljednji korak neophodan jer je vrsta podataka u podlozi tekst.

  7. Dodajte stupac za treći dio adrese. U stupcu s desne strane dijela PartII upišite partiii: Val (Mid ([ipadina], InStr (InStr (1, [Ipadina], ".") + 1, [Ipadica], ".") + 1, InStr (InStr (InStr (1; [Ipadica]; ".") + 1, [Ipadica], ".") + 1, [Ipadica], ".") -InStr (InStr (1; [Ipadica]; ".") + 1, [Ipadica], ".") -1)) u retku polje . Izraz vraća znakove koji se nalaze između drugog i trećeg razdoblja u polju Ipadina.

    Ponovno pregledajte izraz. Budući da ne znate koliko znamenki čine treći dio adrese ili točno gdje počinje treći dio (jer ne znate koliko traje prvi i drugi dijelovi), pomoću funkcije InStr možete pronaći pozicije razdoblja. Zatim koristite funkciju Mid da biste izdvojili znakove koji slijede drugi period, ali prethodite trećem periodu. Konačno, možete nazivati funkciju Val da biste pretvorili znakove koje vraća funkcija Mid u broj. Ovaj je posljednji korak neophodan jer je vrsta podataka u podlozi tekst.

  8. Dodajte stupac za četvrti i konačni dio adrese. U stupcu desno od PartIII upišite Partiv: Val (desno ([ipadina], Len ([ipadina])-InStr (InStr (InStr (1, [ipadina], ".") + 1, [Ipadica], ".") + 1, [Ipadica], "."))) u retku polje . Izraz vraća znakove koji slijede posljednje razdoblje.

    Ponovno pregledajte izraz. Ključ je pronaći mjesto trećeg razdoblja, a zatim izdvojiti sve znakove koji ga slijede. Budući da ne znate točno gdje se nalazi treći period, tri puta pozovite funkciju InStr da biste pronašli položaj trećeg razdoblja. Nakon toga koristite funkciju Len da biste izračunali broj znamenki u četvrtom dijelu. Broj vraćenih znamenki zatim se koristi s funkcijom right za izdvajanje većeg broja znakova iz desnog dijela polja ipadica. Konačno, možete nazivati funkciju Val da biste pretvorili znakove koje vraća funkcija Mid u broj. Ovaj je posljednji korak neophodan jer je vrsta podataka u podlozi tekst.

  9. Postavite redak sortiranja svih četiri izračunatih stupaca u Uzlazno.

    Važno    Redak sortiranja u stupcu ipadin mora ostati prazan.

    Ako želite sortirati po drugim vrijednostima polja, osim adresa, postavite polja na lijevu ili desnu stranu svih četiri izračunata stupca. Ne stavljate druga polja sortiranja između izračunatih stupaca.

  10. Sljedeći je korak sakrivanje četiri izračunata stupca iz podatkovne tablice. No, prije nego to učinite, prijeđite na prikaz podatkovne tablice da biste vidjeli rezultat izraza u izračunatim stupcima. U sljedećoj su tablici prikazani stupci koji će se prikazivati u prikazu podatkovne tablice.

    MachineID

    IPAdresa

    PartI

    DioII

    DioIII

    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. Vratite se u prikaz dizajna i poništite potvrdni okvir u retku Prikaži sva četiri izračunata stupca. Time se onemogućuje prikaz izračunatih stupaca u prikazu podatkovne tablice.

  12. Po želji Navedite kriterije za izuzimanje zapisa iz upita.

  13. Prijelaz na prikaz podatkovne tablice da biste vidjeli zapise sortiranim redoslijedom. Prikazat će se zapisi koji su pravilno sortirani uzlaznim redoslijedom IP adresa.

Dodatne koristi za sortirane IP adrese

Provjera valjanosti IP adresa tijekom unosa podataka

Ako želite provjeriti valjanost adresa bez pisanja koda, to možete učiniti u ograničenom opsegu postavljanjem svojstva inputmask polja na # # #. ## #. # # #. # # #; 0; " " i svojstvo Oblikovanje polja IP adresa na &&&&&&&&&&&&.

Što maska za unos radi? Kada započnete upisivanje u polje adresa, maska za unos sprječava vas da unesete znakove koji nisu brojevi i razmake između triju razdoblja. Ako je numerički dio dvoznamenkasti broj, treću znamenku ostavite praznom ili umjesto toga upišite razmak. Imajte na čemu da ova maska za unos ne upozori korisnika ako preskoči unos jednog ili više dijelova adrese ili samo vrste razmaka umjesto numeričke vrijednosti. Na primjer, "345. 3. "bit će prihvaćena kao valjana adresa.

Što čini oblik prikaza? Kada završite s upisivanjem i napustite polje, oblik prikaza uklanja razmake u adresi i prikazuje samo brojeve i razdoblja. Ako ste upisali "354,35 0,2 .12", adresa se prikazuje kao "354.35.2.12". Imajte na glavi da ako kliknete unutar adrese ili pritisnete F2 (da biste unijeli način rada za uređivanje) kada je adresa odabrana, razmaci će se ponovno prikazivati.

Savjet: Ako želite kopirati adresu, premjestite se na prethodni stupac ili kontrolu, pritisnite tabulator da biste odabrali oblikovanu adresu, a zatim kliknite Kopiraj. Time nećete kopirati niz adresa koji sadrži razmake.

Sortiranje zapisa u obrascu ili izvješću putem IP adresa

Ako morate stvoriti obrazac ili izvješće u kojem su zapisi sortirani prema IP adresama, bazu novi objekt utemelite na upitu koji sortira adrese kao što je prethodno opisano, a ne u tablici koja pohranjuje adrese.

Vrh stranice

Potrebna vam je dodatna pomoć?

Proširite svoje vještine korištenja sustava Office
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

×