Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Ova tema opisuje proceduru za sortiranje internet protokola (IP) adresa uskladištenih u Pristup bazi podataka.

Uvod

Ako radite sa IP adresama, verovatno već znate da to nije tako jednostavno kao rad sa tekstom ili brojevima. To je zato što je IP adresa zapravo kolekcija četiri numeričke vrednosti razdvojene tačkom (.), gde je svaka vrednost broj između 0 i 255. Sledeća tabela prikazuje podatke pre primene bilo kog redosleda sortiranja.

ID mašine

Zaposlenog

Lokacija

IP adresa

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 je izazov jer Access ne pruža poseban tip podataka za skladištenje IP adresa. Iako je IP adresa samo kolekcija brojeva, IP adrese ne možete da uskladištite u numeričko polje. To je zato što numeričko polje podržava samo jedan decimalni zarez (.), dok IP adresa sadrži tri tačke (.). To znači da adrese morate da uskladištite u tekstualno polje.

Pošto skladištite IP adrese u tekstualnom polju, ugrađenu dugmad za sortiranje ne možete da koristite u programu Access da biste sortirali adrese na smislen način. Dugmad za sortiranje uvek sortiraju vrednosti u tekstualnom polju abecednim redom, čak i ako su znakovi brojevi. Drugim rečima, adrese su sortirane po prvoj cifri, drugoj cifri i tako dalje, umesto po numeričkim vrednostima koje sačinjuju adresu. Sledeća tabela prikazuje adrese iz prethodne tabele sortirane abecednim redom u polju IPAddress.

ID mašine

IP adresa

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 brojem 1 prikazuju se pre adresa koje počinju sa 2 i tako dalje. Sledeća tabela prikazuje adrese ispravnim rastućim redosledom.

ID mašine

IP adresa

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 lakše razumeli korake koji su uključeni u sortiranje ovih adresa, prelomite IP adrese na četiri numerička dela. Adrese moraju da budu sortirane po prvom delu, zatim za svaku vrednost u prvom delu, po drugom delu i tako dalje. Tabela prikazuje svaki deo u drugoj koloni i, pošto kolone drže jednostavne numeričke vrednosti, postaje moguće sortirati kolone sleva nadesno rastućim redosledom, kao što je prikazano u sledećoj tabeli.

PartI (PartI)

Partiii (partii)

Partiii (partii)

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 dela zasebno je trik za sortiranje IP adresa. U proceduri koja sledi kreirate upit koji, pored polja IP adrese, uključuje četiri izračunate kolone u kojima svaka kolona skladišti deo vrednosti adrese. Prva izračunata kolona će sadržati prvi numerički deo adrese, druga izračunata kolona će sadržati drugi numerički deo adrese i tako dalje. Umesto da sortira zapise po polju IPAddress, upit će sortirati zapise po četiri izračunate kolone.

Pravljenje upita

Kreiraćete upit za izdvajanje pod imenom Sortirane IP adrese koje prikazuju zapise rastućim redosledom IP adresa. Pretpostavimo da trenutna baza podataka ima tabelu pod imenom "MachineDetails" koja uključuje tekstualno polje pod imenom "IPAddress".

  1. Izaberite stavku > upita

  2. Izaberite stavku Dodaj tabele (Prikaži tabelu u Access 2013 ) i prevucite stavku Detalji mašine u gornji odeljak prikaza dizajna.

  3. Prevucite polja MachineID i IPAddress u koordinatnu mrežu za dizajn upita.

  4. Sada ste spremni da dodate izračunate kolone. U prvoj praznoj koloni sa desne strane otkucajte izraz PartI: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1)) u redu Polje . Izraz daje znakove pre prvog perioda (.) u polju IPAddress.

    Sada pregledajte izraz. Pošto ne znate koliko cifara sačinje prvi deo adrese, koristite funkciju InStr da biste pronašli poziciju prvog perioda. Oduzimanjem 1 (da bi se izuzimao period) vraća se broj cifara u prvom delu. Zatim koristite ovaj broj sa funkcijom Left za izdvajanje toliko znakova, počevši od krajnje levog znaka, iz polja IPAddress. Na kraju, pozivate funkciju Val da biste konvertovali znakove koje je vratila funkcija Left u broj. Ovaj poslednji korak je neophodan jer je osnovni tip podataka Tekst.

  5. Sačuvajte upit tako što ćete kliknuti na dugme Sačuvaj na priručnoj traci. Preporučuje se da to uradite nakon svakog posrednog koraka.

  6. Dodajte kolonu za drugi deo adrese. U koloni desno od stavke PartI otkucajte PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) u redu Polje . Izraz vraća znakove koji se nalaze između prvog i drugog perioda u polju IPAddress.

    Ponovo pregledajte izraz. Pošto ne znate koliko cifara sačinje drugi deo adrese ili tačno gde počinje drugi deo (jer ne znate koliko dugo je prvi deo), koristite funkciju InStr da biste pronašli pozicije perioda. Zatim koristite funkciju Mid za izdvajanje znakova koji slede prvi period, ali pre drugog perioda. Na kraju, pozivate funkciju Val da biste konvertovali znakove koje je vratila funkcija Mid u broj. Ovaj poslednji korak je neophodan jer je osnovni tip podataka Tekst.

  7. Dodajte kolonu za treći deo adrese. U koloni desno od stavke PartII otkucajte 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)) u redu Polje . Izraz vraća znakove koji se nalaze između drugog i trećeg perioda u polju IPAddress.

    Ponovo pregledajte izraz. Pošto ne znate koliko cifara sačinje treći deo adrese ili tačno gde počinje treći deo (jer ne znate koliko dugo su prvi i drugi delovi), koristite funkciju InStr da biste pronašli pozicije perioda. Zatim koristite funkciju Mid za izdvajanje znakova koji slede drugi period, ali pre trećeg perioda. Na kraju, pozivate funkciju Val da biste konvertovali znakove koje je vratila funkcija Mid u broj. Ovaj poslednji korak je neophodan jer je osnovni tip podataka Tekst.

  8. Dodajte kolonu za četvrti i poslednji deo adrese. U koloni desno od stavke PartIII otkucajte PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) u redu Polje . Izraz daje znakove koji slede poslednji period.

    Ponovo pregledajte izraz. Ključ je da pronađete lokaciju trećeg perioda, a zatim izdvojite sve znakove koji ga prate. Pošto ne znate tačno gde se nalazi treći period, funkciju InStr pozivate tri puta da biste pronašli poziciju trećeg perioda. Zatim koristite funkciju Len da biste izračunali broj cifara u četvrtom delu. Zatim se koristi broj dobijenih cifara sa funkcijom Right za izdvajanje toliko znakova iz desnog dela polja IPAddress. Na kraju, pozivate funkciju Val da biste konvertovali znakove koje je vratila funkcija Mid u broj. Ovaj poslednji korak je neophodan jer je osnovni tip podataka Tekst.

  9. Postavite red Sortiranje svih četiri izračunate kolone na Rastući redosled.

    Važno    Red Sortiranje kolone "IPAddress" mora da bude prazan.

    Ako želite da sortirate po drugim vrednostima polja, pored adresa, postavite polja sa leve ili desne strane svih četiri izračunate kolone. Nemojte da postavljate druga polja za sortiranje između izračunatih kolona.

  10. Sledeći korak je da sakrijete četiri izračunate kolone iz lista sa podacima. Ali pre nego što to uradite, prebacite se na prikaz lista sa podacima da biste videli rezultat izraza u izračunatim kolonama. Sledeća tabela prikazuje kolone koje ćete videti u prikazu lista sa podacima.

    ID mašine

    IP adresa

    PartI (PartI)

    Partiii (partii)

    Partiii (partii)

    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 na prikaz dizajna i opozovite izbor u polju za potvrdu u redu Prikaži za sve četiri izračunate kolone. To sprečava prikazivanje izračunatih kolona u prikazu lista sa podacima.

  12. Opcionalno navedite kriterijume za isključivanje zapisa iz upita.

  13. Prebacite se na prikaz lista sa podacima da biste videli zapise sortiranim redosledom. Videćete zapise ispravno sortirane po rastućem redosledu IP adresa.

Više upotreba za sortirane IP adrese

Provera valjanosti IP adresa tokom unosa podataka

Ako želite da proverite valjanost adresa bez pisanja koda, to možete da uradite u ograničenoj meri tako što ćete postaviti svojstvo InputMask polja na ###.#.##.##.##.###; 0;" " i svojstvo Format polja IP adrese za &&&&&&&&&&&&.

Šta radi maska unosa? Kada počnete da kucate u polju adrese, maska unosa vas sprečava da unesete znakove koji nisu brojevi i razmaci između tri perioda. Ako je numerički deo dvocifreni broj, ostavite treću cifru praznu ili otkucajte razmak. Imajte na umu da ova maska unosa ne upozorava korisnika ako preskoči kucanje nekih delova adrese ili ako otkuca samo razmake umesto numeričke vrednosti. Na primer, "345. .3. " bi bilo prihvaćeno kao važeća adresa.

Šta radi format prikaza? Kada završite sa kucanjem i napustite polje, format prikaza uklanja razmake na adresi i prikazuje samo brojeve i tačke. Dakle, ako ste otkucali "354.35 .2 .12", adresa se prikazuje kao "354.35.2.12". Imajte na umu da ako kliknete unutar adrese ili pritisnete taster F2 (da biste ušli u režim uređivanja) kada je adresa izabrana, razmaci će se ponovo pojaviti.

Savet: Ako želite da kopirate adresu, premestite se na prethodnu kolonu ili kontrolu, pritisnite taster TAB da biste izabrali oblikovanu adresu, a zatim kliknite na dugme Kopiraj. Na taj način ne kopirate nisku adrese koja sadrži razmake.

Sortiranje zapisa u obrascu ili izveštaju po IP adresama

Ako treba da kreirate obrazac ili izveštaj u kojem su zapisi sortirani po IP adresama, zasnivate novi objekat na upitu koji sortira adrese kao što je prethodno opisano, umesto na tabeli koja skladišti adrese.

Vrh stranice

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×