IP-címek rendezése az Accessben

Megjegyzés: Szeretnénk, ha minél gyorsabban hozzáférhetne a saját nyelvén íródott súgótartalmakhoz. Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Kérjük, hogy a lap alján írja meg, hogy hasznos volt-e az Ön számára az itt található információ. Az eredeti angol nyelvű cikket itt találja.

Ez a témakör a _Z0Z_ -adatbázisban tárolt IP-címek rendezési eljárását ismerteti.

Bevezetés

Ha az IP-címekkel dolgozik, valószínűleg már tudja, hogy az nem olyan egyszerű, mint a szöveg vagy a számok használata. Ennek az az oka, hogy az IP-cím tulajdonképpen négy numerikus értékből álló gyűjtemény, ponttal (.) elválasztva, ahol minden érték 0 és 255 közötti szám. Az alábbi táblázat a rendezési sorrend alkalmazása előtt jeleníti meg az adatokat.

MachineID

Alkalmazott

Hely

Ip_cím (Ip_cím)

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

Az Accessben az IP-címek rendezése kihívás, mert az Access nem biztosít speciális adattípust az IP-címek tárolásához. Habár az IP-címek csak számok gyűjteményét jelentik, az IP-címek nem tárolhatók numerikus mezőkben. Ennek az az oka, hogy egy numerikus mező csak egyetlen tizedesvesszőt (.) támogat, míg az IP-cím három pontot (.) tartalmaz. Ez azt jelenti, hogy a címeket egy szövegmezőbe kell mentenie.

Mivel az IP-címeket egy szövegmezőben tárolja, nem használhatja az Accessben a beépített rendezési gombokat, ha a címeket értelmes módon szeretné rendezni. A rendezés gomb a szövegmezők értékeit mindig betűrendben rendezi, még akkor is, ha a karakterek számok. Más szóval a címeket az első számjegy, majd a második számjegy szerint rendezi, a címet alkotó számértékek helyett stb. Az alábbi táblázat bemutatja az előző táblázat címét az IP-cím mezőben.

MachineID

Ip_cím (Ip_cím)

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

Az 1-es kezdetű címek a 2-es kezdetű címek előtt jelennek meg, és így tovább. Az alábbi táblázat a megfelelő növekvő sorrendben jeleníti meg a címeket.

MachineID

Ip_cím (Ip_cím)

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

Ha könnyebben meg szeretné érteni a címek rendezéséhez szükséges lépéseket, az IP-címeket négy numerikus részre kell bontania. A címeket az első résznek kell rendeznie, majd az első rész minden értékéhez, majd a második részhez, és így tovább. A táblázat az egyes részeket egy másik oszlopban jeleníti meg, és mivel az oszlopok egyszerű számértékekkel rendelkeznek, az oszlopok balról jobbra növekvő sorrendbe rendezhetők, az alábbi táblázatban látható módon.

PartI

PartII

PartIII

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

A négy rész külön rendezése az IP-címek rendezése mögötti trükk. Az alábbi eljárásban olyan lekérdezést hoz létre, amely az IP-cím mező mellett négy számított oszlopot tartalmaz, amelyekben az egyes oszlopok a címek értékeinek egy részét tárolják. Az első számított oszlop a cím első numerikus részét fogja tárolni, a második számított oszlop a cím második numerikus részét fogja tárolni. Ahelyett, hogy az Ip_cím mező szerint rendezi a rekordokat, a lekérdezés a négy számított oszlop szerint rendezi a rekordokat.

A lekérdezés létrehozása

Létrejön egy rendezett IP-cím nevű választó lekérdezés, amely a rekordokat növekvő sorrendben jeleníti meg az IP-címekben. Tegyük fel, hogy az aktuális adatbázisban van egy MachineDetails nevű táblázat, amely tartalmazza az Ip_cím nevű szövegmezőt.

  1. Kattintson a > lekérdezési tervlétrehozása elemre. 

  2. A tábla megjelenítése párbeszédpanel táblák lapján kattintson a MachineDetails elemre, majd a Hozzáadásgombra. Zárja be a párbeszédpanelt.

  3. Húzza a MachineID és az Ip_cím mezőt a lekérdezéstervező rácsra.

  4. Most már készen áll a számított oszlopok hozzáadására. A jobb oldali első üres oszlopban írja be a következő kifejezést : PartI: val (Left ([IP_cím], ((1; [IP_cím], ".") -1))) a mező sorában. A kifejezés az első időszakot megelőző karaktereket (.) adja eredményül. az Ip_cím mezőben.

    Most nézze át a kifejezést. Mivel nem tudja, hány számjegyből áll a cím első része, a kisegítő függvény segítségével megkeresheti az első időszak pozícióját. Ha kivonja az 1-es számot (az időszak kihagyása), az első rész számjegyeit számítja ki. Ezt a számot a Left függvénnyel kinyerve kinyerheti a bal szélső karaktertől kezdve az IP_cím mezőből kinyert sok karaktert. Végül hívja a val függvényt a Left függvény által visszaadott karakterek számmá alakításához. Az utolsó lépés azért szükséges, mert a mögöttes adattípus szöveg.

  5. Mentse a lekérdezést a Gyorselérési eszköztárona Mentés gombra kattintva. A közbenső lépések elvégzése után célszerű ezt elvégeznie.

  6. Adja hozzá a második címhez tartozó oszlopot. A PartI típustól jobbra lévő oszlopban írja be a következőt : PartII: val (Közép ([IP_cím], (1; [IP_cím], ".") + 1, ki((1; [Ip_cím], ".") + 1; [Ip_cím], ".") -(1; [Ip_cím], ".") -1)) a mező sorában. A kifejezés az IP-címe mező első és második időszaka között található karaktereket adja eredményül.

    Ellenőrizze újra a kifejezést. Mivel nem tudja, hogy hány számjegyből áll a cím második része, vagy pontosan hol kezdődik a második rész (mert nem az első rész), a megfelelő pozíciót használva megkeresheti az időszakok pozícióját. Ezután a Közép függvény segítségével kinyerheti az első időszakot követő karaktereket, de megelőzheti a második időszakot. Végül hívja a val függvényt a Közép függvény által visszaadott karakterek számmá alakításához. Az utolsó lépés azért szükséges, mert a mögöttes adattípus szöveg.

  7. Adja hozzá a harmadik címhez tartozó oszlopot. A PartII jobbra lévő oszlopban írja be a következőt : PartIII: val (Közép ([IP_cím], (1; [IP_cím], ".") + 1; [Ip_cím], ".") + 1, ki((1; [Ip_cím], ".") + 1; [Ip_cím], ".") + 1; [Ip_cím], ".") -(1; [Ip_cím], ".") + 1; [Ip_cím], ".") -1)) a mező sorában. A kifejezés a második és a harmadik időszak közötti, az Ip_cím mezőben található karaktereket adja eredményül.

    Ellenőrizze újra a kifejezést. Mivel nem tudja, hány számjegyből áll a cím harmadik része, vagy pontosan hol kezdődik a harmadik rész (mert nem tudja, hogy mennyi ideig tart az első és a második rész), a megfelelő módon keresheti meg az időszakok pozícióját. Ezután a Közép függvény segítségével kinyerheti a második időszakot követő karaktereket, de megelőzheti a harmadik időszakot. Végül hívja a val függvényt a Közép függvény által visszaadott karakterek számmá alakításához. Az utolsó lépés azért szükséges, mert a mögöttes adattípus szöveg.

  8. Adja hozzá az oszlopot a negyedik és a végleges cím részhez. A PartIII jobbra lévő oszlopban írja be a következőt : PartIV: val (jobb ([IP_cím], hossz ([IP_cím])-((1; [IP_cím], ".") + 1; [Ip_cím], ".") + 1; [Ip_cím], "."))) a mező sorában. A kifejezés az utolsó időszakot követő karaktereket adja eredményül.

    Ellenőrizze újra a kifejezést. A kulcs a harmadik időszak helyének megkeresése, majd az azt követő karakterek kinyerése. Mivel nem tudja pontosan, hogy hol található a harmadik időszak, a műszeres függvényt háromszor hívja fel a harmadik időszak pozíciójának megkereséséhez. Ezután a Hossz függvény segítségével kiszámítja a számok számát a negyedik részen. A függvény a visszaadott számjegyek számát használja a jobb függvény segítségével, hogy az IP_cím mező jobb oldalán lévő karakterek közül hány karaktert szeretne kinyerni. Végül hívja a val függvényt a Közép függvény által visszaadott karakterek számmá alakításához. Az utolsó lépés azért szükséges, mert a mögöttes adattípus szöveg.

  9. A négy számított oszlop rendezési sorát növekvőértékre állíthatja.

    Fontos    Az Ip_cím oszlop rendezési sorát üresen kell hagynia.

    Ha más mezőértékek szerint szeretné rendezni a címeket, a címeken kívül helyezze a mezőket az összes négy számított oszloptólbalra vagy jobbra. Ne helyezze a többi rendezési mezőt a számított oszlopok közé.

  10. Következő lépésként el kell rejteni a négy számított oszlopot az adatlapon. Mielőtt azonban ezt megteheti, váltson Adatlap nézetre a számított oszlopokban szereplő kifejezések eredményének megjelenítéséhez. Az alábbi táblázatban láthatók az Adatlap nézetben megjelenő oszlopok.

    MachineID

    Ip_cím (Ip_cím)

    PartI

    PartII

    PartIII

    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. Váltson vissza a Tervező nézetre, és törölje a jelölést a négy számított oszlop Megjelenítés sorában. Ez a beállítás megakadályozza, hogy a számított oszlopok Adatlap nézetben jelenjenek meg.

  12. Tetszés szerint megadhatja, hogy milyen feltételek legyenek a lekérdezésből származó rekordok kizárásához.

  13. Adatlap nézetre váltva megtekintheti a rendezett sorrendbe rendezett rekordokat. A rekordok az IP-címek növekvő sorrendjében jelennek meg megfelelően.

A rendezett IP-címek további felhasználási módjai

IP-címek érvényesítése az adatbevitel során

Ha kód írása nélkül szeretné ellenőrizni a címeket, ezt úgy teheti meg, hogy a mező InputMask tulajdonságát csak ## #. # # #. # # # " és a _AMP__AMP__AMP__AMP__AMP__AMP__AMP__AMP__AMP__AMP__AMP__AMP_IP-cím mező Formátum tulajdonsága.

Mire használható a beviteli maszk? Ha a cím mezőbe írja be a gépelést, a beviteli maszk megakadályozza a számoktól eltérő karakterek beírását, a három időszak közötti szóközöktől eltérő karakterek beírását. Ha egy numerikus rész egy kétjegyű szám, hagyja üresen a harmadik számjegyet, vagy írjon be egy szóközt. Fontos tudni, hogy ez a beviteli maszk nem figyelmezteti a felhasználót, ha a cím egy vagy több részének beírását hagyja kihagyni, vagy a csak a szóközöket, a numerikus értékek helyett a szóközöket. Például "345. 3. "érvényes címnek kell lennie.

Mit jelent a megjelenítési formátum? Ha befejezte a beírást, és elhagyja a mezőt, a megjelenítési formátum eltávolítja a címeket a címben, és csak a számokat és a pontokat jeleníti meg. Ha a "354,35 0,2 .12" szöveget írta be, a címet "354.35.2.12" néven jeleníti meg. Ne feledje, hogy ha a címre kattint, vagy az F2 billentyűt lenyomva (szerkesztési módba lép) a cím kijelölésekor, a szóközök újra megjelennek.

Tipp: Ha egy címet szeretne másolni, lépjen az előző oszlopra vagy a vezérlőre, nyomja le a TAB billentyűt a formázott cím kiválasztásához, majd kattintson a Másolásgombra. Ezzel a művelettel nem másolhatja a szóközöket tartalmazó címeket tartalmazó karakterláncot.

Rekordok rendezése az űrlapon vagy jelentésen IP-címek szerint

Ha olyan űrlapot vagy jelentést kell létrehoznia, amelyben a rekordokat IP-címek szerint rendezi a rendszer, az új objektumot egy olyan lekérdezésre alapozhatja, amely a címeket tároló táblázat helyett az előbb leírt módon rendezi a címeket.

Vissza a lap tetejére

Őrizze meg előnyét a Microsoft 365-tel

További segítségre van szüksége?

Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×