Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Táto téma popisuje postup zoraďovania adries IP uložených v databáze Access.

Úvod

Ak pracujete s IP adresami, pravdepodobne už viete, že to nie je také jednoduché ako práca s textom alebo číslami. Dôvodom je, že IP adresa je v skutočnosti kolekcia štyroch číselných hodnôt oddelených bodkou (.), kde každá hodnota je číslo od 0 do 255. Nasledujúca tabuľka zobrazuje údaje pred tým, ako sa použije spôsob zoradenia.

MachineID

Zamestnanec

Poloha

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

Zoraďovanie IP adries v Accesse je náročné, pretože Access neposkytuje špeciálny typ údajov na ukladanie IP adries. Hoci IP adresa je len kolekcia čísel, IP adresy nie je možné uložiť do číselného poľa. Dôvodom je, že číselné pole podporuje iba jednu desatinnú čiarku (.), zatiaľ čo IP adresa obsahuje tri bodky (.). To znamená, že adresy musíte uložiť do textového poľa.

Keďže IP adresy ukladáte do textového poľa, nemôžete použiť vstavané tlačidlá zoraďovania v Accesse na zmysluplné zoradenie adries. Tlačidlá zoradenia vždy zoraďujú hodnoty v textovom poli v abecednom poradí, a to aj v prípade, že znaky sú čísla. Inými slovami, adresy sú zoradené podľa prvej číslice, potom podľa druhej číslice atď. namiesto číselných hodnôt, ktoré tvoria adresu. Nasledujúca tabuľka zobrazuje adresy z predchádzajúcej tabuľky zoradené v abecednom poradí v poli IPAdresa.

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

Adresy, ktoré začínajú číslom 1, sa zobrazia pred adresami začínajúcimi číslom 2 atď. Nasledujúca tabuľka zobrazuje adresy v správnom vzostupnom poradí.

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

Ak chcete zjednodušiť pochopenie krokov, ktoré sa podieľajú na zoraďovaní týchto adries, rozdeľte IP adresy na štyri číselné časti. Adresy musia byť zoradené podľa prvej časti, potom pre každú hodnotu v prvej časti, potom podľa druhej časti atď. Tabuľka zobrazuje každú časť v inom stĺpci a keďže stĺpce obsahujú jednoduché číselné hodnoty, stĺpce sa budú dať zoradiť zľava doprava vo vzostupnom poradí, ako je to znázornené v nasledujúcej tabuľke.

Parti

PartIII

PartIIII

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

Zoradenie štyroch častí samostatne je trik pri zoraďovaní IP adries. V nasledujúcom postupe vytvoríte dotaz, ktorý okrem poľa IP adresy obsahuje aj štyri vypočítané stĺpce, v ktorých každý stĺpec ukladá časť hodnôt adries. Prvý vypočítaný stĺpec bude mať prvú číselnú časť adresy, druhý vypočítaný stĺpec bude mať druhú číselnú časť adresy a tak ďalej. Namiesto zoradenia záznamov podľa poľa IPAdresa dotaz zoradí záznamy podľa štyroch vypočítaných stĺpcov.

Vytvorenie dotazu

Vytvoríte dotaz Select s názvom Zoradené adresy IPAddresses, ktorý zobrazí záznamy vo vzostupnom poradí IP adries. Predpokladajme, že aktuálna databáza obsahuje tabuľku s názvom MachineDetails, ktorá obsahuje textové pole s názvom IPAdresa.

  1. Kliknite na položku Vytvoriť > návrh dotazu

  2. Vyberte položku Pridať tabuľky (Zobraziť tabuľku v Accesse) a presuňte položku Podrobnosti o počítači do hornej časti návrhového zobrazenia.

  3. Presuňte polia MachineID a IPAddress do mriežky návrhu dotazu.

  4. Teraz môžete pridať vypočítané stĺpce. Do prvého prázdneho stĺpca vpravo zadajte výraz PartI: Val(Left([IPAddress],(InStr(1;[IPAdresa],".") -1)) v riadku Pole . Výraz vráti znaky pred prvou bodkou (.) v poli IPAdresa.

    Teraz skontrolujte výraz. Keďže neviete, koľko číslic predstavuje prvú časť adresy, použite funkciu InStr na vyhľadanie pozície prvej bodky. Odčítaním čísla 1 (na vylúčenie obdobia) sa vráti počet číslic v prvej časti. Toto číslo potom použijete s funkciou Left na extrahovanie veľkého počtu znakov, počnúc znakom úplne vľavo, z poľa IPAdresa. Nakoniec zavoláte funkciu Val a skonvertujete znaky vrátené funkciou Left na číslo. Tento posledný krok je potrebný, pretože základný typ údajov je Text.

  5. Dotaz uložte kliknutím na položku Uložiť na paneli s nástrojmi Rýchly prístup. Je vhodné to urobiť po každom prechodnom kroku.

  6. Pridajte stĺpec pre druhú časť adresy. Do stĺpca napravo od položky PartI zadajte časťII: Val(Mid([IPAdresa],InStr(1;[ADRESA IPAdresy],".") +1,InStr(InStr(1;[ADRESA IPAdresy];".") +1,[ADRESA IPAdresy],".") -InStr(1;[ADRESA IPAdresy],".") -1)) v riadku Pole . Výraz vráti znaky, ktoré sa nachádzajú medzi prvou a druhou bodkou v poli IPAdresa.

    Znova skontrolujte výraz. Keďže neviete, koľko číslic tvorí druhá časť adresy alebo presne miesto, kde začína druhá časť (pretože nie je to, ako dlho je prvá časť), na vyhľadanie pozícií bodiek sa používa funkcia InStr . Potom použite funkciu Mid na extrahovanie znakov, ktoré nasledujú za prvou bodkou, ale pred druhým bodkou. Nakoniec zavoláte funkciu Val a skonvertujete znaky vrátené funkciou Mid na číslo. Tento posledný krok je potrebný, pretože základný typ údajov je Text.

  7. Pridajte stĺpec pre tretiu časť adresy. Do stĺpca napravo od položky PartII zadajte PartIII: Val(Mid([IPAddress],InStr(InStr(1;[IPAdresa],".") +1,[ADRESA IPAdresy],".") +1,InStr(InStr(InStr(1;[ADRESA IPAdresy];".") +1,[ADRESA IPAdresy],".") +1,[ADRESA IPAdresy],".") -InStr(InStr(1;[ADRESA IPAdresy];".") +1,[ADRESA IPAdresy],".") -1)) v riadku Pole . Výraz vráti znaky, ktoré sa nachádzajú medzi druhou a treťou bodkou v poli IPAdresa.

    Znova skontrolujte výraz. Keďže neviete, koľko číslic predstavuje tretiu časť adresy alebo presne to, kde začína tretia časť (pretože neviete, ako dlho je prvá a druhá časť), na vyhľadanie pozícií bodiek sa používa funkcia InStr . Potom použite funkciu Mid na extrahovanie znakov, ktoré nasledujú za druhou bodkou, ale pred tretím obdobím. Nakoniec zavoláte funkciu Val a skonvertujete znaky vrátené funkciou Mid na číslo. Tento posledný krok je potrebný, pretože základný typ údajov je Text.

  8. Pridajte stĺpec pre štvrtú a poslednú časť adresy. Do stĺpca napravo od položky PartIII zadajte časťIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1;[IPAdresa],".") +1,[ADRESA IPAdresy],".") +1,[ADRESA IPAdresy],"."))) v riadku Pole . Výraz vráti znaky, ktoré nasledujú za posledným obdobím.

    Znova skontrolujte výraz. Kľúčom je nájsť umiestnenie tretej bodky a potom extrahovať všetky znaky, ktoré za ním nasledujú. Keďže presne neviete, kde sa nachádza tretia bodka, trikrát zavoláte funkciu InStr , aby ste našli pozíciu tretej bodky. Potom použite funkciu Len na výpočet počtu číslic vo štvrtej časti. Počet vrátených číslic sa potom použije s funkciou Right na extrahovanie veľkého počtu znakov z pravej časti poľa IPAdresy. Nakoniec zavoláte funkciu Val a skonvertujete znaky vrátené funkciou Mid na číslo. Tento posledný krok je potrebný, pretože základný typ údajov je Text.

  9. Nastavte riadok zoradenia všetkých štyroch vypočítaných stĺpcov na možnosť Vzostupne.

    Dôležité    Riadok zoradenia stĺpca IPAddress musí zostať prázdny.

    Ak chcete okrem adries zoradiť aj iné hodnoty polí, umiestnite polia naľavo alebo napravo od všetkých štyroch vypočítaných stĺpcov. Medzi vypočítavané stĺpce neumiernite ostatné polia zoradenia.

  10. Ďalším krokom je skrytie štyroch vypočítaných stĺpcov v údajovom hárku. Skôr než to urobíte, prepnite na údajové zobrazenie a zobrazte výsledok výrazov vo vypočítaných stĺpcoch. V nasledujúcej tabuľke sú uvedené stĺpce, ktoré sa zobrazia v údajovom zobrazení.

    MachineID

    IPAdresa

    Parti

    PartIII

    PartIIII

    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. Prepnite späť na návrhové zobrazenie a zrušte začiarknutie políčka v riadku Zobraziť všetky štyri vypočítané stĺpce. Týmto sa zabráni zobrazeniu vypočítaných stĺpcov v údajovom zobrazení.

  12. Voliteľne môžete zadať kritériá na vylúčenie záznamov z dotazu.

  13. Ak chcete zobraziť záznamy v zoradenom poradí, prepnite na údajové zobrazenie. Zobrazia sa záznamy správne zoradené vo vzostupnom poradí IP adries.

Ďalšie spôsoby použitia zoradených IP adries

Overenie IP adries počas zadávania údajov

Ak chcete overiť adresy bez písania kódu, môžete to urobiť v obmedzenom rozsahu nastavením vlastnosti VstupnáMaska poľa na ###.###.###.####; 0;" " a vlastnosť Format poľa IP adresy na &&&&&&&&&&&&.

Čo robí vstupná maska? Keď začnete písať do poľa adresy, vstupná maska vám zabráni v zadávaní iných znakov ako čísel a medzier medzi troma bodkami. Ak je číselná časť dvojciferným číslom, nechajte tretiu číslicu prázdnu alebo namiesto toho zadajte medzeru. Všimnite si, že táto vstupná maska neupozorňuje používateľa, ak vynechá zadávanie jednej alebo viacerých častí adresy alebo zadá iba medzery namiesto číselnej hodnoty. Príklad: "345. .3. " bude prijatá ako platná adresa.

Aký je formát zobrazenia? Keď dokončíte zadávanie a opustenie poľa, formát zobrazenia odstráni medzery v adrese a zobrazí len čísla a bodky. Takže, ak ste zadali "354.35.2.12", adresa sa zobrazí ako "354.35.2.12". Všimnite si, že ak kliknete do adresy alebo stlačíte kláves F2 (ak chcete prejsť do režimu úprav) po výbere adresy, medzery sa znova zobrazia.

Tip: Ak chcete skopírovať adresu, premiestnite sa do predchádzajúceho stĺpca alebo ovládacieho prvku, stlačením klávesu TAB vyberte formátovanú adresu a potom kliknite na položku Kopírovať. Týmto spôsobom nebudete kopírovať reťazec adresy, ktorý obsahuje medzery.

Zoradenie záznamov vo formulári alebo zostave podľa IP adries

Ak potrebujete vytvoriť formulár alebo zostavu, v ktorej sú záznamy zoradené podľa IP adries, založiť nový objekt na dotaze, ktorý zoraďuje adresy podľa vyššie popísaného postupu, a nie na tabuľke, v ktorej sú adresy uložené.

Na začiatok stránky

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.