Řazení adres IP

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Toto téma popisuje postup při řazení adres IP (Internet Protocol) uložených v databázi aplikace Microsoft Office Access 2007.

V tomto článku:

Úvod

Vytvoření dotazu

Další použití seřazené IP adres

Úvod

Pracujete-li s adresami IP, již pravděpodobně víte, že to není tak přímočaré jako práce s textem nebo čísly. Důvodem je to, že adresa IP je ve skutečnosti kolekcí čtyř číselných hodnot oddělených tečkami (.), kde každá hodnota představuje číslo mezi 0 a 255. Následující tabulka uvádí data před jakýmkoli seřazením.

ID_počítače

Zaměstnanec

Lokalita

Adresa_IP

2,5

...

...

123.4.245.23

5,08

...

...

104.244.253.29

15

...

...

1.198.3.93

1

...

...

32.183.93.40

17

...

...

104.30.244.2

18

...

...

104.244.4.1


Řazení adres IP v aplikaci Access je náročné, protože aplikace Access neposkytuje zvláštní datový typ pro ukládání adres IP. Ačkoli je adresa IP jen kolekcí čísel, nelze ji uložit v číselném poli. Důvodem je to, že číselné pole podporuje pouze jeden oddělovač desetinných míst (.), zatímco adresa IP obsahuje tři tečky (.). To znamená, že adresy je třeba ukládat v textovém poli.

Protože adresy IP ukládáte v textovém poli, nelze je smysluplně řadit pomocí vestavěných tlačítek pro řazení v aplikaci Access. Tato tlačítka vždy řadí hodnoty v textovém poli abecedně, a to i v případě, že se jedná o číselné znaky. Jinými slovy, adresy se seřadí podle první číslice, potom podle druhé číslice atd., nikoli podle číselných hodnot tvořících adresu. Následující tabulka zobrazuje adresy z předchozí tabulky seřazené abecedně podle pole Adresa_IP.

ID_počítače

Adresa_IP

15

1.198.3.93

5,08

104.244.253.29

18

104.244.4.1

17

104.30.244.2

2,5

123.4.245.23

1

32.183.93.40


Adresy začínající číslem 1 se zobrazují před adresami začínajícími číslem 2 atd. Následující tabulka uvádí adresy ve správném vzestupném pořadí.

ID_počítače

Adresa_IP

15

1.198.3.93

1

32.183.93.40

17

104.30.244.2

18

104.244.4.1

5,08

104.244.253.29

2,5

123.4.245.23


Abychom postupu při řazení adres IP snáze porozuměli, rozdělíme je do čtyř číselných částí. Adresy je třeba řadit podle první části, potom na základě každé hodnoty v první části, potom podle druhé části atd. Tabulka uvádí každou část v jiném sloupci, a protože sloupce obsahují jednoduché číselné hodnoty, je možné je řadit vzestupně zleva doprava, jak je vidět v následující tabulce.

ČástI

ČástII

ČástIII

ČástIV

2,5

198

15

93

32

183

93

40

104

30

244

5,08

104

244

1

2,5

104

244

253

29

123

1

245

23


Právě oddělené seřazení čtyř částí je podstatou řazení adres IP. V následujícím postupu vytvoříte dotaz, který kromě pole adresy IP zahrnuje čtyři výpočtové sloupce, z nichž každý obsahuje část hodnot adresy. První výpočtový sloupec bude obsahovat první číselnou část adresy, druhý výpočtový sloupec druhou číselnou část atd. Namísto řazení záznamů podle pole Adresa_IP seřadí dotaz záznamy podle čtyř výpočtových sloupců.

Začátek stránky

Vytvoření dotazu

Vytvoříte výběrový dotaz s názvem Seřazené_adresy_IP, který zobrazí záznamy vzestupně podle adres IP. Předpokládejme, že aktuální databáze obsahuje tabulku s názvem Podrobnosti_o_počítačích zahrnující textové pole s názvem Adresa_IP.

  1. Ve skupině Jiné na kartě Vytvořit klikněte na Návrh dotazu.

  2. V dialogovém okně Zobrazit tabulku klepněte na kartě Tabulky na položku Podrobnosti_o_počítačích a poté klepněte na tlačítko Přidat. Zavřete dialogové okno.

  3. Přetáhněte pole ID_počítače a Adresa_IP do mřížky návrhu dotazu.

  4. Teď jste připraveni přidat počítané sloupce. Do prvního prázdného sloupce na pravé straně zadejte výraz sloupce části: Val(Left([Adresa_IP],(InStr(1,[Adresa_IP],".") -1))) v řádku pole. Výraz vrátí znaky před prvním tečka (.) v poli Adresa IP.

    Teď zkontrolujte výraz. Protože neznáte, kolik číslic tvoří první část adresy, můžete použít funkce InStr můžete najít pozici prvního období. Odečtení 1 (aby se vyloučila období) vrátí počet číslic v první část. Potom použijte toto číslo s funkce Left extrahujte tak velký počet znaků počínaje první znak v poli Adresa IP. Nakonec zavolejte funkce Val k převodu znaky vrácené funkcí vlevo na číslo. Tento poslední krok totiž potřebné původní datový typ Text.

  5. Uložte dotaz klepnutím na tlačítko Uložit na panelu nástrojů Rychlý přístup. Tuto akci je vhodné provádět po každém dílčím kroku.

  6. Přidání sloupce do druhé části adresu. Do sloupce napravo od sloupce části zadejte ČástII: Val(Mid([Adresa_IP],InStr(1,[Adresa_IP],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) v řádku pole. Výraz vrátí znaky, které jsou umístěné mezi prvním a druhým období v poli Adresa IP.

    Ještě jednou zkontrolujte výraz. Vzhledem k tomu, že nevíte, kolik číslic tvoří druhé části adresy nebo přesně kdy začíná druhé části (protože nevíte, jak dlouho je první část), použijte funkci InStr zobrazíte pozice teček. Potom použijete funkce Mid extrahovat znaky, které následují za první období ale před druhého období. Nakonec zavolejte funkce Val k převodu znaky vrácené funkcí část na číslo. Tento poslední krok totiž potřebné původní datový typ Text.

  7. Přidání sloupce pro třetí část adresy. Do sloupce napravo od ČástII zadejte ČástIII: Val(Mid([Adresa_IP],InStr(InStr(1,[Adresa_IP],".") +1,[IPAddress],".") +1,InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],".") -InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -1)) v řádku pole. Výraz vrátí znaky, které jsou umístěné mezi druhé a třetí období v poli Adresa IP.

    Opět si nyní výraz prohlédněte. Protože nevíte, kolik číslic tvoří třetí část adresy, ani kde přesně třetí část začíná (protože nevíte, jak dlouhá je první a druhá část), použijete funkci InStr k vyhledání pozice teček. Potom pomocí funkce Mid extrahujete znaky za druhou tečkou, avšak před třetí tečkou. Nakonec vyvoláte funkci Val, která převede znaky vrácené funkcí Mid na číslo. Tento poslední krok je nezbytný, protože původní datový typ je Text.

  8. Přidáte sloupec k čtvrtý a poslední část adresy. Do sloupce napravo od ČástIII zadejte PartIV: Val(Right([Adresa_IP],LEN([Adresa_IP])-InStr(InStr(InStr(1,[Adresa_IP],".") +1,[IPAddress],".") +1,[IPAddress],"."))) v řádku pole. Výraz vrátí následující znaky budou převedeny posledním obdobím.

    Ještě jednou zkontrolujte výraz. Klávesa má najděte umístění třetí období a extrahujte všechny znaky, které následují za ho. Protože nevíte přesně kde třetí období nachází, zavoláte funkce InStr třikrát můžete najít pozici třetího období. Potom použijete funkce Len Chcete-li vypočítat počet číslic ve čtvrtém části. Počet číslic vrácené se pak používá s funkce Right extrahujte tak velký počet znaků z pravé části pole Adresa IP. Nakonec zavolejte funkce Val k převodu znaky vrácené funkcí část na číslo. Tento poslední krok totiž potřebné původní datový typ Text.

  9. Nastavte řádek Seřadit všech čtyř výpočtových polí na hodnotu Vzestupně.

    Důležité:    Řádek Seřadit ve sloupci Adresa_IP musí být ponechán prázdný.

    Chcete-li kromě adres řadit data podle hodnot jiných polí, umístěte pole doleva nebo doprava od všech čtyř výpočtových sloupců. Další pole pro řazení neumísťujte mezi výpočtové sloupce.

  10. Dalším krokem je skrytí čtyř výpočtových sloupců v datovém listu. Ale ještě předtím přepněte do zobrazení datového listu, abyste viděli výsledek výrazů ve výpočtových polích. Následující tabulka uvádí sloupce, které se objeví ve zobrazení datového listu.

ID_počítače

Adresa_IP

ČástI

ČástII

ČástIII

ČástIV

15

1.198.3.93

2,5

198

15

93

1

32.183.93.40

32

183

93

40

17

104.30.244.2

104

30

244

5,08

18

104.244.4.1

104

244

1

2,5

5,08

104.244.253.29

104

244

253

29

2,5

123.4.245.23

123

1

245

23

  1. Přepněte zpět do návrhového zobrazení a u všech čtyř výpočtových polí zrušte zaškrtnutí políčka na řádku Zobrazit. Tím zabráníte zobrazení výpočtových sloupců v zobrazení datového listu.

  2. Volitelně zadejte kritéria pro vyloučení záznamů z dotazu.

  3. Přepněte do zobrazení datového listu, čímž zobrazíte záznamy v seřazeném pořadí. Záznamy budou správně vzestupně seřazeny podle adres IP.

Začátek stránky

Jiná možná využití seřazených adres IP

Ověření adres IP při zadávání dat

Pokud chcete ověřit adresy bez psaní kódu, který můžete to udělat v omezené míře nastavením vlastnosti Vstupní maska pole #. ###. ###. ###; 0; " " a vlastnost Formát pole IP adresa na & & & & & & & & & & & &.

K čemu slouží vstupní maska? Pokud začnete psát do pole adresy, zabrání vstupní maska v zadaní jiných znaků než čísel a mezer mezi dané tři tečky. Pokud je číselná část dvoumístná, ponechejte třetí číslici prázdnou nebo na její místo zadejte mezeru. Všimněte si, že vstupní maska neupozorní uživatele, pokud vynechá zadání jedné nebo více částí adresy nebo pokud namísto číselné hodnoty zadá pouze mezery. Například „345. .3. “ by bylo přijato jako platná adresa.

K čemu slouží formát zobrazení? Jakmile dokončíte zadávání a opustíte pole, formát zobrazení odebere z adresy mezery a zobrazí jen čísla a tečky. Takže pokud jste zadali „354.35 .2 .12 “, adresa se zobrazí v podobě „354.35.2.12“. Všimněte si, že pokud klepnete dovnitř adresy nebo stisknete v době, kdy je adresa vybrána, klávesu F2 (s cílem přejít do režimu úprav), mezery se znovu zobrazí.

Tip : Chcete-li adresu zkopírovat, přejděte na předchozí sloupec nebo ovládací prvek, vyberte zformátovanou adresu stisknutím klávesy TAB a klepněte na tlačítko Kopírovat. Tímto postupem nezkopírujete řetězec adresy obsahující mezery.

Řazení záznamů ve formuláři nebo sestavě podle adres IP

Potřebujete-li vytvořit formulář nebo sestavu, ve které jsou záznamy řazeny podle adres IP, vytvořte tento nový objekt na základě dotazu, který řadí adresy právě popsaným způsobem, nikoli na základě tabulky obsahující adresy.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×