Sortowanie adresów IP w programie Access

Uwaga: Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

W tym temacie opisano procedurę sortowania adresów Internet Protocol (IP) przechowywanych w bazie danych programu Access.

Wprowadzenie

Jeśli pracujesz z adresami IP, prawdopodobnie już wiesz, że nie jest tak proste jak praca z tekstu lub liczb. Jest to spowodowane adres IP jest naprawdę zbiór czterech wartości liczbowych, oddzielonych kropką (.), gdzie każda wartość jest liczbą z przedziału od 0 do 255. W poniższej tabeli przedstawiono dane przed zastosowaniem jakiejkolwiek kolejności sortowania.

IdKomputera

Pracownik

Lokalizacja

Adres IP

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

Sortowanie adresów IP w programie Access jest trudne, ponieważ program Access udostępnia specjalnego typu danych do przechowywania adresów IP. Mimo że adres IP jest po prostu zbioru liczb, adresy IP nie są przechowywane w polu liczbowym. Wynika to pole liczbowe obsługuje tylko pojedynczy separator dziesiętny (.), adres IP zawiera trzy kropki (.). Oznacza to, że adresy muszą być przechowywane w polu tekstowym.

Ponieważ adresy IP są przechowywane w polu tekstowym, nie można używać przycisków wbudowanych w programie Access do sortowania w zrozumiały sposób. Przyciski sortowania zawsze sortowania wartości pola tekstowego w kolejności alfabetycznej, nawet jeśli znaki są liczbami. Innymi słowy adresy IP są sortowane według pierwszej cyfry, a następnie według drugiej cyfr i tak dalej, a nie według wartości liczbowych składające się adres. W poniższej tabeli przedstawiono adresów z powyższej tabeli posortowane w kolejności alfabetycznej w polu adres IP.

IdKomputera

Adres IP

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, które zaczynają się od 1 są wyświetlane przed adresami, które rozpoczynają 2 i tak dalej. W poniższej tabeli przedstawiono adresy poprawne kolejności rosnącej.

IdKomputera

Adres IP

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

Aby ułatwić zrozumieć sortowanie adresów, można podzielić adres IP na cztery części liczbowe. Adresy muszą być sortowane według pierwszej części dla każdej wartości w pierwszej części, a następnie według drugiej części i tak dalej. Tabela przedstawia każdą część innej kolumny i, ponieważ kolumny przytrzymaj prostych wartości liczbowe, staje się możliwość sortowania kolumn od lewej do prawej w kolejności rosnącej, jak pokazano w poniższej tabeli.

Częśći

PartII

CzęśćIII

CzęśćIV

1

198

3

93

32

183

93

40

104

30

244

2

104

244

4

1

104

244

253

29

123

4

245

23

Sortowanie cztery części oddzielnie polega na sortowanie adresów IP. W poniższej procedurze możesz utworzyć kwerendę, która oprócz pola adresu IP zawiera cztery kolumny obliczeniowe, w których każda przechowuje część adresu IP. Pierwszej kolumny obliczeniowej będzie zawierać pierwszą liczbową część adresu, druga kolumna obliczeniowa, że kolumna będzie zawierać drugą liczbową część adresu i tak dalej. Zamiast sortowanie rekordów według pola Adres IP, kwerenda będzie posortować rekordy według czterech kolumn obliczeniowych.

Tworzenie zapytania

Utworzysz kwerendę wybierającą wybierającą o nazwie posortowane wyświetlającego rekordy w kolejności rosnącej adresów IP. Załóżmy, że bieżąca baza danych zawiera tabelę o nazwie DaneKomputera, w której znajduje się pole tekstowe o nazwie adres IP.

  1. Kliknij pozycję Tworzenie > Projekt kwerendy. Uwaga: Jeśli korzystasz z programu Access 2007 na karcie Tworzenie w grupie inne kliknij pozycję Projekt kwerendy.

  2. W oknie dialogowym Pokazywanie tabeli na karcie tabele kliknij DaneKomputera , a następnie kliknij przycisk Dodaj. Zamknij okno dialogowe.

  3. Przeciągnij pole IDKomputera oraz adres IP pola do siatki projektu kwerendy.

  4. Teraz możesz przystąpić do dodawania kolumn obliczeniowych. W pierwszej pustej kolumnie po prawej stronie wpisz wyrażenie CzęśćI: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) w wierszu pole. Wyrażenie zwraca znaki poprzedzające pierwszą kropkę (.) w polu adres IP.

    Przyjrzyj się ponownie wyrażeniu. Ponieważ nie wiesz, ile cyfr składa się na pierwszą część adresu, należy użyć funkcja InStr , aby znaleźć pozycję pierwszego okresu. Odjęcie 1 (aby nie uwzględniać kropki) zwraca liczbę cyfr w pierwszej części. Następnie należy użyć ten numer funkcji Left , aby wyodrębnić określoną liczbę znaków, rozpoczynając od znaku po lewej stronie, w polu adres IP. Na koniec połączeń funkcji Val do konwertowania znaki zwrócone przez funkcję lewej na liczbę. Ten ostatni krok jest konieczne, ponieważ odpowiedniego typu danych jest tekstem.

  5. Zapisz kwerendę, klikając przycisk Zapisz na pasku Narzędzi Szybki dostęp. Jest dobrym pomysłem jest zrobić to po wykonaniu każdej pośredniej czynności.

  6. Dodaj kolumnę dla drugiej części adresu. W kolumnie po prawej stronie CzęśćI, wpisz PartII: Val(Mid([AdresIP],InStr(1,[AdresIP],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) w wierszu pole. Wyrażenie zwraca znaki znajdujące się między pierwszą i drugą kropką w polu adres IP.

    Przyjrzyj się ponownie wyrażeniu. Ponieważ nie wiadomo, ile cyfr składające się na drugiej części adres lub dokładnie miejsce, w którym drugiej części zaczyna się (gdyż nie się, jak długo trwa pierwsza część), należy użyć funkcji InStr , aby znaleźć pozycje kropek. Następnie należy użyć funkcja Mid , aby wyodrębnić znaki występujące po tym pierwszego okresu ale drugą kropką. Na koniec połączenia funkcji Val do konwertowania znaki zwrócone przez funkcję Mid na liczbę. Ten ostatni krok jest konieczne, ponieważ odpowiedniego typu danych jest tekstem.

  7. Dodaj kolumnę dla trzeciej części adresu. W kolumnie po prawej stronie PartII, wpisz CzęśćIII: 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)) w wierszu pole. Wyrażenie zwraca znaki znajdujące się między okresów drugiego i trzeciego w polu adres IP.

    Przyjrzyj się ponownie wyrażeniu. Ponieważ nie wiadomo, ile cyfr składa się na trzecią część adresu lub dokładnie miejsce, w którym zaczyna się trzecia część (ponieważ nie wiesz, jak długo części pierwszym i drugim są), możesz użyć funkcji InStr , aby znaleźć pozycje kropek. Następnie użyj funkcji Mid zostać wyodrębnione znaki, wykonaj drugiego okresu, które poprzedzają trzeciego okresu. Na koniec połączenia funkcji Val do konwertowania znaki zwrócone przez funkcję Mid na liczbę. Ten ostatni krok jest konieczne, ponieważ odpowiedniego typu danych jest tekstem.

  8. Dodaj kolumnę dla części czwartej adresu. W kolumnie po prawej stronie CzęśćIII, wpisz CzęśćIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) w wierszu pole. Wyrażenie zwraca znaki występujące po tym ostatnim okresem.

    Przyjrzyj się ponownie wyrażeniu. Należy znaleźć lokalizację trzeci okres, a następnie wyodrębnić wszystkie znaki występujące po niej. Ponieważ nie wiadomo dokładnie, gdzie znajduje się trzecia kropka, możesz zadzwonić funkcji InStr trzy razy położenie trzeciego okresu. Następnie należy użyć funkcji , aby obliczyć liczbę cyfr w czwartej części. Liczba cyfr, zwracany jest następnie używana funkcja prawo , aby wyodrębnić określoną liczbę znaków z prawej części pola Adres IP. Na koniec połączenia funkcji Val do konwertowania znaki zwrócone przez funkcję Mid na liczbę. Ten ostatni krok jest konieczne, ponieważ odpowiedniego typu danych jest tekstem.

  9. Ustaw wszystkich czterech kolumn obliczeniowych w wierszu SortujRosnąco.

    Ważne    Wierszu Sortuj kolumny adres IP może być puste.

    Jeśli chcesz sortować według wartości pól innych niż adresy IP, umieść te pola w lewo lub prawo wszystkich czterech kolumn obliczeniowych. Nie należy umieszczać dodatkowych pól sortowania pomiędzy kolumnami obliczeniowymi.

  10. Następnym krokiem jest ukrycie czterech kolumn obliczeniowych w arkuszu danych. Ale przed wykonaj, aby przejść do arkusza danych Wyświetl, aby wyświetlić wynik wyrażenia w kolumnach obliczeniowych. W poniższej tabeli przedstawiono kolumny, jakie będą widoczne w widoku arkusza danych.

    IdKomputera

    Adres IP

    Częśći

    PartII

    CzęśćIII

    CzęśćIV

    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. Powróć do widoku projektu, a następnie wyczyść pole wyboru w wierszu Pokaż wszystkich czterech kolumn obliczeniowych. Kolumny obliczeniowe zapobiega wyświetlaniu w widoku arkusza danych.

  12. Opcjonalnie określ kryteria wyłączenia rekordów z kwerendy.

  13. Przełączanie do widoku arkusza danych, aby wyświetlić posortowane rekordy. Zobaczysz rekordy posortowane prawidłowo w kolejności rosnącej adresów IP.

Zastosowanie posortowanych adresów IP

Sprawdź poprawność adresów IP podczas wprowadzania danych

Jeśli chcesz sprawdzić poprawność adresów bez pisania kodu, możesz to zrobić w ograniczonym zakresie przez ustawienie właściwości InputMask pola #. ###. ###. ###; 0; " " i właściwość Format pola Adres IP & & & & & & & & & & & &.

Do czego służy maska wprowadzania? Gdy zaczynasz pisać w polu adres maski wprowadzania uniemożliwia wprowadzanie znaków innych niż liczby i znaki spacji pomiędzy trzema kropkami. Jeśli część liczbowa jest liczbą dwucyfrową, zostaw trzecią cyfrę pustą lub zamiast niej wpisz spację. Należy zauważyć, że maska wprowadzania nie stanowi ostrzeżenia użytkownika jeśli on pominąć jedną lub więcej części adres lub wpisuje tylko znaki spacji, a nie wartość liczbową. Na przykład "345.. 3. "zostanie uznany za prawidłowy adres.

Do czego służy format wyświetlania? Po zakończeniu wpisywania i pozostaw to pole, format wyświetlania usuwa spacje z adresu i wyświetla tylko liczby i kropki. Tak, jeśli został wpisany "354.35.2.12", adres jest wyświetlany jako "354.35.2.12". Należy zauważyć, że jeśli kliknij wewnątrz adres lub naciśnij klawisz F2 (Aby przejść do trybu edycji) po wybraniu adres spacje pojawi się ponownie.

Porada: Jeśli chcesz skopiować adres, przejdź do poprzedniej kolumny lub formantu, naciśnij klawisz TAB zaznaczyć sformatowany adres, a następnie kliknij polecenie Kopiuj. W ten sposób nie zostanie skopiowany ciąg adresu, który zawiera spacje.

Sortowanie rekordów w formularzu lub raporcie według adresów IP

Jeśli chcesz utworzyć formularz lub raport, w którym rekordy będą sortowane według adresów IP oprzeć nowy obiekt na kwerendzie sortujące adresy opisane wcześniej, a nie w tabeli, w którym są przechowywane adresy.

Początek strony

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×