Сортування IP-адрес у програмі Access

Примітка.: Ми хочемо надавати найновіший вміст довідки рідною мовою користувачів якомога швидше. Цю сторінку перекладено за допомогою засобу автоматичного перекладу, тому вона може містити смислові, синтаксичні або граматичні помилки. Ми вважаємо, що цей вміст стане вам у пригоді. Повідомте нас, чи була інформація корисною, унизу цієї сторінки. Для зручності цю статтю можна переглянути англійською мовою.

У цій статті описано процедуру для сортування Інтернет-протоколу (IP) адреси, які зберігаються в базі даних Access .

Вступ

Якщо ви працюєте з IP-адрес, можливо, вже відомо, що це не просто, як працювати з текстом або числами. Це тому, що IP-адреса – це дуже колекції чотири числових значень, розділених крапкою (.), де кожного значення – число від 0 до 255. У таблиці нижче наведено дані, перш ніж будь-який порядок сортування застосовано.

MachineID

Працівник

Розташування

Крапкою

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

Сортування IP-адрес у програмі Access є виклик, тому що Access не надає типу спеціальних даних для зберігання IP-адрес. Хоча IP-адресу набором чисел, не можна зберігати в числовому полі IP-адреси. Це тому, що числове поле підтримує лише один десяткової коми (.), тоді як IP-адреса містить три крапки (.). Це означає, що потрібно зберігати адреси в текстовому полі.

Тому, що ви зберігаєте IP-адрес в текстовому полі, не можна використовувати кнопки вбудовані сортування у програмі Access для сортування адреси змістовний іншим чином. Кнопки сортування завжди сортування значень у полі текст в алфавітному порядку, навіть якщо символи є числами. Іншими словами, адреси сортуються за останньою цифрою, а потім другий цифр, і так далі, а не за числовими значеннями, які становлять адресу. У наведеній нижче таблиці показано адреси з попередньої таблиці, відсортовані за алфавітом на полем IP-адреси.

MachineID

Крапкою

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

Адреси, які починаються з 1 відображаються перед адреси, які починаються з 2 тощо. У наведеній нижче таблиці показано адреси у правильний за спаданням.

MachineID

Крапкою

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

Щоб було легше зрозуміти, кроки, пов'язані з сортування ці адреси, ви порушуєте IP-адреси на чотири числові частини. Адреси має бути відсортована за перша частина, виберіть для кожного значення в першу частину, а потім у другій частині тощо. У таблиці наведено кожну частину в інший стовпець, а тому, що стовпців проведення прості числові значення, вона стає можна сортувати стовпці зліва направо за зростанням, як показано в таблиці нижче.

Партія

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

Сортування чотири частини окремо є сортуванням IP-адрес. У наведена нижче процедура час створення запиту, який, крім поля IP-адреси, містить чотири обчислювані стовпці кожного стовпця, де зберігаються частину значень адреси. Перший обчислюваний стовпець проведе першу числову частину адреси, другий обчислюваного стовпця проведе другу числову частину адреси тощо. Замість сортування записів за полем IP-адреси, запит буде сортувати записи за чотирма обчислюваними стовпцями.

Створення запиту

Ви створите запит на вибірку з іменем сортовані, який відображатиме записи за зростанням IP-адрес. Припустимо, що поточна база даних містить таблицю, відтак, який містить текстове поле з іменем крапкою з іменем.

  1. Натисніть кнопку створити > Конструктор запитів. Зверніть увагу, якщо ви використовуєте Access 2007, на вкладці створення у групі запити натисніть кнопку Конструктор запитів.

  2. У діалоговому вікні Відображення таблиці на вкладці таблицівідтак виберіть і натисніть кнопку Додати. Закрийте діалогове вікно.

  3. Перетягніть MachineID і крапкою поля до бланка запиту.

  4. Тепер ви готові додати обчислювані стовпці. У першому пустому стовпці праворуч Введіть вираз партія: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) в рядку поле . Вираз повертає символи, які передують початку першого періоду (.) крапкою в полі.

    Тепер перегляньте вираз. Оскільки ви не знаєте, скільки цифр зробити першу частину адреси, ви використовуєте на функція InStr знайти позицію першого періоду. Віднімання 1 (щоб виключити крапку) Повертає кількість цифр у першу частину. Потім Використайте цей номер з на ліворуч функції для видобування цієї кількості символів, починаючи з крайнього лівого символу, з полем IP-адреси. Нарешті, ви телефонуєте за функцію Val для перетворення символів, що повертається функцією ліворуч на число. Цей останній крок необхідна, оскільки типом даних – це текст.

  5. Збережіть запит, натиснувши кнопку зберегти на панелі Швидкого доступу. Це радимо зробити це після кожного проміжним етапом.

  6. Додати стовпець для другій адресу. У стовпці праворуч від партія, введіть PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") -InStr(1,[IPAddress],".") -1)) в рядку поле . Вираз повертає символи, розташовані між перше та друге крапкою в полі.

    Знову ж таки перегляньте вираз. Оскільки ви не знаєте, скільки цифр складають другу частину адреси або точно, де другій запускає (у тому, що ви не, скільки часу – це перша частина), Використовуйте функцію InStr пошук позиції періоди. Потім використовується в функція Mid , щоб видобути символи, які слідують першого періоду але починати другого періоду. Нарешті, ви викликаєте функцію Val для перетворення символів, функція Mid повертає на число. Цей останній крок необхідна, оскільки типом даних – це текст.

  7. Додавання стовпця для третього частини адреси. У стовпці праворуч від PartII, введіть 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)) в рядку поле . Вираз повертає символи, розташовані між другого та третього крапкою в полі.

    Знову ж таки перегляньте вираз. Тому, що ви не знаєте, скільки цифр складають третя складова цієї адреси або точно де третя складова починається (у тому, що ви не знаєте, як довго перший і другий частини стануть), щоб знайти розташування періоди використовується функція InStr . Потім використовується функція Mid щоб видобути символи, другий період, але передують третій період. Нарешті, ви викликаєте функцію Val для перетворення символів, функція Mid повертає на число. Цей останній крок необхідна, оскільки типом даних – це текст.

  8. Додавання стовпця четвертий і останній адресу частини. У стовпці праворуч від PartIII, введіть PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) в рядку поле . Вираз повертає символи, які слідують за останній період.

    Знову ж таки перегляньте вираз. Ключ – це розташування третій період а потім видобути символи, після його. Оскільки ви не знаєте, де третій період саме розташовано, ви телефонуєте функція InStr тричі для визначення розташування третій період. Потім використовується в функція Len , щоб обчислити кількість десяткових розрядів, зокрема четвертий. Кількість десяткових розрядів, повертається використовується з на справа функції для видобування, Максимальна кількість символів із правого частину полем IP-адреси. Нарешті, ви викликаєте функцію Val для перетворення символів, функція Mid повертає на число. Цей останній крок необхідна, оскільки типом даних – це текст.

  9. Значення рядка сортування всіх чотирьох обчислюваних стовпців за зростанням.

    Важливим    Сортування рядків крапкою стовпця має бути пустим.

    Якщо ви хочете, щоб сортувати за інших значень полів, на додачу до адрес, додати поля або ліворуч або праворуч від всіх чотирьох обчислюваних стовпців. Не ставте інші поля сортування між обчислюваними стовпцями.

  10. Наступний крок, щоб приховати чотирьох обчислюваних стовпців із таблиці даних. Але перш ніж робити перейдіть до даних у табличному поданні переглядати щоб переглянути результат виразів в обчислюваних стовпцях. У наведеній нижче таблиці показано стовпців відображаються у вікні табличного подання даних.

    MachineID

    Крапкою

    Партія

    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. Повернутися до режиму конструктора та зніміть прапорець у рядку відображення всіх чотирьох обчислюваних стовпців. Це не дозволяє обчислюваних стовпців відображаються у вікні табличного подання даних.

  12. За потреби вкажіть умови, за винятком записів із запиту.

  13. Перехід до подання таблиці, щоб переглянути записи в сортування. Ви побачите записи правильно відсортовано за зростанням IP-адрес.

Інші способи використання відсортована IP-адрес

Перевірка IP-адрес під час введення даних

Якщо ви хочете, щоб перевірити адреси без написання коду, ви можете зробити це для обмежених даних за допомогою властивості Маска вводу поля, до #. ## #. #. #; 0; " " і Формат властивість поля IP-адреси для & & & & & & & & & & & &.

Що робити маску вводу? Під час введення в полі Адреса, Маска вводу запобігає введенню символи, відмінні від чисел і пробілів між трьома крапками. Якщо числові частини дворозрядного числа, заповнюйте третій цифру або введіть пробіл замість цього. Зверніть увагу, що Маска вводу не попереджає користувача пропуск однієї або кількох частин адреси або введення лише пробілів замість числових значень. Наприклад, "345.. 3.» буде прийнято як адресу.

Що робити формат відображення? Коли ви ввели весь текст, Залиште поле формат відображення видаляє пробіли в адресі та відображає лише числа та крапки. Отже, якщо ви ввели "354.35.2.12», адреси відображається як"354.35.2.12". Зверніть увагу: Якщо ви клацніть адресу, або натисніть клавішу F2, (до режиму редагування) адреси, якщо вибрано знову з'явиться.

Порада.: Якщо потрібно скопіювати адресу, перехід до попереднього стовпця або елемента керування, натисніть клавішу TAB, вибрати відформатовану адресу, а потім натисніть кнопку Копіювати. Таким чином, ви не скопіюєте рядок адреси, яка містить пробіли.

Сортування записів у формі або звіті за IP-адрес

Якщо потрібно створити форму або звіт, записи відсортовано за IP-адрес, створіть новий об'єкт на основі запиту, який сортує адреси, як описано вище, а не в таблиці, де зберігаються адреси.

На початок сторінки

Удосконалення навичок роботи з Office
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×