Сортиране на IP адреси в Access

Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Тази тема описва процедурата за сортиране на интернет протокол (IP) адреси, съхранени в база данни на Access .

Въведение

Ако работите с IP адреси, вероятно вече знаете, че не е толкова лесно, като работа с текст или числа. Това е защото IP адрес всъщност е колекция от четири числови стойности, разделени с точка (.), където всяка стойност е число между 0 и 255. Следващата таблица показва данни преди прилагането на никакъв ред на сортиране.

MachineID

Служител

Местоположение

IPAddress

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 да сортирате адресите по смислен начин. Бутоните за сортиране винаги се сортират стойностите в текстово поле в азбучен ред, дори ако знаците са числа. С други думи адресите са подредени по първата цифра, след което от втората цифра и т.н., вместо чрез цифровата стойности, които съставят адреса. Следващата таблица показва адреси от предишната таблица, сортирани по азбучен ред в полето IPAddress.

MachineID

IPAddress

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

IPAddress

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 адрес включва четири изчисляеми колони, където всяка колона, която съхранява част от стойностите на адрес. Първата изчисляемата колона ще съдържа числови първата част от адреса, вторият изчислена колона ще съдържа втори числови част от адреса и т.н. Вместо да сортиране на записи от полето IPAddress, заявката ще сортирате записите по четири изчисляеми колони.

Създаване на заявката

Ще създадете заявка за избиране, наречена сортирани IPAddresses, който показва записите във възходящ ред на IP адреси. Приемем, че текущата база данни има таблица с име MachineDetails, който включва текстово поле с име IPAddress.

  1. Щракнете върху Създаване > проектиране на заявки. Обърнете внимание, ако използвате Access 2007, в раздела Създаване , в групата други щракнете върху Проектиране на заявки.

  2. В диалоговия прозорец Показване на таблица , в раздела таблици щракнете върху MachineDetails и след това щракнете върху Добави. Затворете диалоговия прозорец.

  3. Плъзнете MachineID и IPAddress полета в мрежата на заявката за проектиране.

  4. Сега сте готови да добавите изчисляеми колони. В първата празна колона отдясно, въведете израза френската: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1))) в реда поле . Изразът връща знака, предхождащ първия период (.) в полето IPAddress.

    Сега прегледайте израза. Тъй като не знаете колко цифри изграждат първата част от адреса, който използвате InStr функция, за да намерите позицията на първия период. Изваждане 1 (за да изключите периода) Връща броя на цифрите в първата част. След това можете да използвате този номер с ляв функция, за да извлечете че много знака, започвайки от-левите знаци от полето IPAddress. И накрая, се обаждате на функцията Val за преобразуване на знаците, върнат от функцията Left в число. В тази Последната стъпка е необходимо, тъй като типа на базовите данни е текст.

  5. Запишете заявката, като щракнете върху Запиши в Лентата с инструменти за бърз достъп. Това е добре да направите това след всяка междинна стъпка.

  6. Добавяне на колона за втората част на адрес. В колоната вдясно от френската, въведете PartII: Val(Mid([IPAddress],InStr(1,[IPAddress],".") +1,InStr(InStr(1,[ipaddress],".") +1,[ipaddress],".") -InStr(1,[ipaddress],".") -1)) в реда поле . Изразът връща знака, които се намират между първата и втората периода в полето IPAddress.

    Отново прегледайте израза. Тъй като не знаете колко цифри изграждат втората част от адреса или къде точно втората част стартира (защото не колко време е първата част), можете да използвате функцията 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)) в реда поле . Изразът връща знака, които се намират между второ и трето периода в полето IPAddress.

    Отново прегледайте израза. Тъй като не знаете колко цифри изграждат третата част от адреса или точно там, където третата част започва (защото не знаете колко време първата и втората част), можете да използвате функцията InStr да намери позициите на периоди. След това използвайте функцията Mid , за да извлечете знаците, които следват втория период, но предхожда третия период. И накрая се обаждате на функцията Val за преобразуване на знаците, върнат от функцията Mid в число. В тази Последната стъпка е необходимо, тъй като типа на базовите данни е текст.

  8. Добавяне на колона за четвърти и Последен адрес част. В колоната вдясно от PartIII, въведете PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[ipaddress],".") +1,[ipaddress],"."))) в полето ред. Израз връща знаци, които следват последния период.

    Отново прегледайте израза. Най-важното е да намерите местоположението на третия период и след това извлечете всички знаци, които го следват. Тъй като не знаете къде точно се намира на третия период, се обаждате функция InStr три пъти, за да намерите позицията на третия период. След това използвате функцията Len за изчисляване на броя на цифрите в четвъртата част. Броят на цифрите, връща се използва с дясната функция, за да извлечете че много знаци от дясна част на полето IPAddress. И накрая се обаждате на функцията Val за преобразуване на знаците, върнат от функцията Mid в число. В тази Последната стъпка е необходимо, тъй като типа на базовите данни е текст.

  9. Задайте реда сортиране на всички четири изчисляеми колони възходящо.

    Важно    Реда на сортиране на колоната IPAddress трябва да бъде оставена празна.

    Ако искате да сортирате по други стойности на полета, освен адреси, поставите полета или отляво или отдясно на всички четири изчисляеми колони. Не поставяйте други сортиране полета между изчисляеми колони.

  10. Следващата стъпка е да се скрие четири изчисляеми колони от листа с данни. Но преди да направите това, преминете към листа с данни за да видите резултата от израза в изчисляеми колони. Следващата таблица показва колоните ще виждате в изглед на лист с данни.

    MachineID

    IPAddress

    Френската

    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 Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×