IP мекенжайларын сұрыптау

Бұл бөлім Microsoft Office Access 2007 дерекқорында сақталған IP мекенжайларын сұрыптау рәсімін бейнелеп көрсетеді.

Бұл мақалада

Кіріспе

Сұрау жасау

Сұрыпталған IP мекенжайларын тағы не үшін қолдануға болады

Кіріспе

Егер IP мекенжайларымен жұмыс істесеңіз, бұл мәтін немесе сандармен жұмыс істегендей оңай еместігін әлдеқашан білуіңіз мүмкін. Бұның себебі IP мекенжайы іс жүзінде нүктелермен (.) бөлінген төрт сандық мәндердің жиыны болып табылады. Мұнда әрбір мән 0 және 255 арасындағы сан. Келесі кестеде деректер әлі ешқандай сұрыптау тәртібі қолданбаған жағдайда көрсетілген.

Машина нөмірі

Қызметші

Орналасу

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


IP мекенжайларын Access бағдарламасында сұрыптау аса күрделі жұмыс болып табылады, себебі Access бағдарламасы IP мекенжайларын сұрыптау үшін ерекше деректер түрін ұсынбайды. IP мекенжайлары тек сандар жиыны болғанымен, IP мекенжайларын сандық өрісте сақтай алмайсыз. Бұның себебі сандық өріс тек бір ғана ондық бөлшек (.) нүктесін қолдайды, ал IP мекенжайларының құрамында үш нүкте (.) бар. Бұл мекенжайларды мәтін өрісінде сақтауыңыз тиіс дегенін білдіреді.

IP мекенжайларын мәтін өрісінде сақтағаныңыз себепті, Access бағдарламасында мекенжайларды маңызды жолмен сұрыптау үшін бекітілген сұрыптау түймешіктерін қолдана алмайсыз. Таңбалар сандар болса да, сұрыптау түймешіктері мәтін өрісіндегі мәндерді әрдайым әліпби тәртібі бойынша сұрыптайды. Басқаша айтқанда, мекенжайлар мекенжайларды құрайтын сандық мәндер бойынша емес, әуелі бірінші сан бойынша сұрыпталады, кейін екінші сан бойынша және тағысын тағылар. Келесі кесте алдыңғы кестедегі мекенжайларды «IP мекенжайы» өрісінде әліпби тәртібі бойынша сұрыпталғанын көрсетеді.

Машина нөмірі

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


Бір санымен басталатын мекенжайлар 2 санымен басталатын мекенжайлардан алдын бейнеленген, және тағысын тағылар. Келесі кестеде мекенжайлар дұрыс артуы бойынша тәртібінде көрсетілген.

Машина нөмірі

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


Осы мекенжайларды сұрыптау қадамдарын оңай түсіну үшін IP мекенжайларын төрт сандық бөлімдерге бөліңіз. Мекенжайлар бірінші бөлімі бойынша сұрыпталуы тиіс, сонан соң бірінші бөліміндегі әрбір мән бойынша, кейін екінші бөлімі бойынша және тағысын тағылар. Кесте әр бөлімді түрлі бағандарда көрсетеді және бағандар қарапайым сандық мәндерді ұстайтындықтан, бағандарды сол жақтан оңға қарай артуы бойынша сұрыптауға болады. Бұл келесі кестеде көрсетілген.

I-бөлім

II-бөлім

III-бөлім

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


Төрт бөлімді бөлек-бөлек сұрыптау IP мекенжайларын сұрыптау әдісінің сыры болып табылады. Келесі іс рәсімінде IP мекенжайы өрісіне қоса, төрт есептелетін бағандары бар сұрауды жасайсыз. Осы бағандардың әрбірі мекенжай мәнінің бір бөлігін сақтайды. Бірінші есептелетін бағанда мекенжайдың бірінші сандық бөлімі болады, екінші есептелетін бағанда екінші мекенжайдың екінші сандық бөлімі болады, және т.б. Жазбаларды IP мекенжайы өрісі бойынша сұрыптаудың орнына, сұрау жазбаларды төрт есептелетін бағандар бойынша сұрыптайды.

Беттің жоғарғы жағы

Сұрау жасау

Сіз «Сұрыпталған IP мекенжайлары» атты іріктеу сұрауын жасайсыз. Бұл сұрау жазбаларды IP мекенжайларының артуы бойынша сұрыптап көрсетеді. Ағымдағы дерекқорда «МашинаМәліметтері» атты кестесі бар және оның ішінде «IP мекенжайлары» атты мәтін өрісі бар делік.

  1. жасау қойындысының Басқа тобында Сұрау жасақтамасы түймешігін нұқыңыз.

  2. Кестені көрсету тілқатысу терезесінде Кестелер қойындысын ашып, МашинаМәліметтері дегенін нұқыңыз, сонан соң Қосу түймешігін нұқыңыз. Тілқатысу терезесін жабыңыз.

  3. «Машина нөмірі» және «IP мекенжайлары» өрістерін сұрау құрастырушы торына сүйреп апарыңыз.

  4. Енді есептелетін бағандарды қосуға дайынсыз. Оң жақтағы таза бірінші бағанда, Өріс жолына PartI: Val(Left([IP мекенжайы],(InStr(1,[IP мекенжайы],".")-1))) деген өрнекті теріңіз. Өрнек «IP мекенжайы» өрісіндегі бірінші нүктеден (.) бұрын келетін таңбаларды қайтарады.

    Қазір өрнекті қайта қарап шығыңыз. Сіз мекенжайдың бірінші бөлімін қанша сандар жасайтынын білмейсіз, сондықтан бірінші нүктенің орналасуын табу үшін InStr функциясын қолданасыз. Оның нәтижесінен 1 шегеру (нүкте алып тастау үшін) бірінші бөлімдегі сандардың санын қайтарады. Сонан соң, осы санды Left функциясымен бірге пайдаланып, «IP мекенжайы» өрісінен, ең сол жақтағы таңбадан бастап, сонша таңба шығарасыз. Соңында, Val функциясын шақырып, Left функциясы тарапынан қайтарылған таңбаларды сандарға түрлендіресіз. Бұл соңғы қадам қажет, себебі негізгі деректер түрі «Мәтін» болып табылады.

  5. Жылдам қатынау тақтасы мәзіріндегі Сақтау түймешігін басып, сұрауды сақтаңыз. Бұны әр аралық қадамдан соң істеген жөн.

  6. Екінші мекенжай бөлімі үшін баған қосыңыз. I-бөлімнің оң жағындағы бағанда, Өріс жолына PartII: Val(Mid([IP мекенжайы],InStr(1,[IP мекенжайы],".")+1,InStr(InStr(1,[IP мекенжайы],".")+1,[IP мекенжайы],".")-InStr(1,[IP мекенжайы],".")-1)) деген өрнекті теріңіз. Бұл өрнек «IP мекенжай» өрісіндегі бірінші және екінші нүктелер арасында орналасқан таңбаларды қайтарады.

    Өрнекті қайтадан қарап шығыңыз. Сіз мекенжайдың екінші бөлімі қанша сандардан құралғанын немесе екінші бөлім қай жерде басталатынын білмейсіз (себебі бірінші бөлімдің ұзындығын білмейсіз). Сондықтан, InStr функциясын нүктелердің орнын табу үшін қолданасыз. Сонан соң Mid функциясын бірінші нүктеден кейін, бірақ екінші нүктеден алдын келетін таңбаларды бөліп алу үшін қолданасыз. Соңында, Val функциясын шақырып, Mid функциясы арқылы қайтарылған таңбаларды санға түрлендіресіз. Бұл соңғы қадам қажет, себебі негізгі деректер түрі «Мәтін» болып табылады.

  7. Үшінші мекенжай бөлімі үшін баған қосыңыз. II-бөлімнің оң жағындағы бағанда, Өріс жолына PartІІІ:Val(Mid([IP мекенжайы],InStr(InStr(1,[IP мекенжайы],".")+1,[IP мекенжайы],".")+1,InStr(InStr(InStr(1,[IP мекенжайы],".")+1,[IP мекенжайы],".")+1,[IP мекенжайы],".")-InStr(InStr(1,[IP мекенжайы],".")+1,[IP мекенжайы],".")-1)) деген өрнекті теріңіз. Бұл өрнек «IP мекенжайы» өрісіндегі екінші және үшінші нүктелер арасында орналасқан таңбаларды қайтарады.

    Қайтадан, өрнекті қарап шығыңыз. Сіз мекенжайдың үшінші бөлімі қанша сандардан құралғанын немесе үшінші бөлімдің басталу жерін білмейсіз (себебі бірінші және екінші бөлімдерінің ұзындығын білмейсіз). Сондықтан, InStr функциясын нүктелердің орнын табу үшін қолданасыз. Сонан соң, Mid функциясын екінші нүктеден соң, бірақ үшінші нүктеден алдын келетін таңбаларды бөліп алу үшін қолданыңыз. Соңында, Val функциясын шақырып, Mid функциясы арқылы қайтарылған таңбаларды сандарға түрлендіресіз. Бұл соңғы қадам қажет, себебі негізгі деректер түрі «Мәтін» болып табылады.

  8. Төртінші және соңғы мекенжай бөлімі үшін баған қосыңыз. III-бөлімнің оң жағындағы бағанда, Өріс жолында PartIV: (Right([IP мекенжайы],Len([IP мекенжайы])-InStr(InStr(InStr(1,[IP мекенжайы],".")+1,[IP мекенжайы],".")+1,[IP мекенжайы],"."))) деген өрнекті теріңіз. Бұл өрнек соңғы нүктеден соң келетін таңбаларды қайтарады.

    Өрнекті қайтадан қарап шығыңыз. Ең бастысы, үшінші нүктенің орнын табу, сонан соң одан кейін келетін барлық таңбаларды бөліп алу керек. Сіз үшінші нүктенің орналасқан жерін білмейсіз. Сондықтан, үшінші нүктенің орнын табу үшін InStr функциясын үш рет шақырасыз. Сонан соң, Len функциясын қолданып, төртінші бөлімдегі сандардың санын есептейсіз. Қайтарылған сандар саны Right функциясымен қолданылып, «IP мекенжайы» өрісінің оң бөлшегінен сонша таңбаларды бөліп алады. Соңында, Val функциясын шақырып, Mid функциясы арқылы қайтарылған таңбаларды санға түрлендіресіз. Бұл соңғы қадам қажет, себебі негізгі деректер түрі «Мәтін» болып табылады.

  9. Барлық төрт есептелетін бағандардың Сұрыптау жолын Артуы бойынша параметріне теңшеңіз.

    Маңызды    «IP мекенжайы» бағанының Сұрыптау жолы таза болуы тиіс.

    Егер мекенжайларға қоса, сұрыптауды басқа өрістердің мәндері бойынша жүргізуді қаласаңыз, осы өрістерді барлық төрт есептелетін бағандардың сол жағына немесе оң жағына қойыңыз. Басқа сұрыптау өрістерін есептелетін бағандар арасына қоймаңыз.

  10. Келесі қадам төрт есептелетін бағандарды деректер кестесінен жасыруы тиіс. Бірақ бұны істемес бұрын деректер кестесінің көрінісіне өтіп, өрнектердің нәтижесін көріп алыңыз. Келесі кесте деректер кестесінің көрінісінде көрінетін бағандарды көрсетеді.

Машина нөмірі

IP мекенжайы

I-бөлім

II-бөлім

III-бөлім

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

  1. Құрастырушы көрінісіне қайтыңыз және барлық төрт есептелетін бағандардың Көрсету жолында құсбелгіні алып тастаңыз. Бұл есептелетін бағандардың деректер көрінісінде көрінуіне жол бермейді.

  2. Егер қаласаңыз, сұраудан жазбаларды алып тастау үшін шарттар белгілеңіз.

  3. Жазбаларды сұрыпталған тәртіпте көру үшін деректер кестесінің көрінісіне өтіңіз. IP мекенжайларының артуы бойынша дұрыс сұрыпталған жазбаларды көресіз.

Беттің жоғарғы жағы

Сұрыпталған IP мекенжайларын тағы не үшін қолдануға болады

Деректерді енгізу кезінде IP мекенжайларын тексеру

Егер код жазбай мекенжайларды тексеруді қаласаңыз, өрістің Енгізу бүркеніші сипатын ###.###.###.###;0;" " етіп теңшеу және «IP мекенжайы» өрісінің Пішім сипатын &&&&&&&&&&&& етіп теңшеу арқылы бұны шектелген мөлшерде істей аласыз.

Енгізу бүркеніші не істейді? Мекенжай өрісінде таңбалар теруді бастағаныңызда енгізу бүркеніші үш нүкте арасына сандар мен бос орындардан тыс таңбаларды енгізуді болдырмайды. Егер сандық бөлігі екі таңбалы сан болса, үшінші санды таза қалдырыңыз немесе бос орын енгізіңіз. Назар аударыңыз: егер пайдаланушы бір немесе бірнеше мекенжай бөліктерін енгізбей, басқа бөліктерді енгізсе немесе сандық мәндердің орнына тек бос орын терсе, енгізу бүркеніші пайдаланушыны осы туралы ескертпейді. Мысалы, "345. .3. " жарамды мекенжай ретінде қабылданады.

Бейнелеу пішімі не істейді? Теруді бітіріп, өрісті қалдырған кезіңізде бейнелеу пішімі мекенжай ішіндегі бос орындарды жояды және тек қана сандар мен нүктелерді бейнелейді. Сондықтан, егер "354.35 .2 .12 " терілген болса, мекенжай "354.35.2.12" болып бейнеленеді. Назар аударыңыздар: мекенжай таңдалған кезде мекенжай ішінде нұқығаныңызда немесе F2 пернесін басқаныңызда (өңдеу күйіне кіру үшін), бос орындар қайта шығады.

Кеңес : Егер мекенжайды көшіруді қаласаңыз, алдыңғы бағанға немесе басқару элементтіне өтіңіз де, TAB пернесін басып, пішімделген мекенжайды бөлектеңіз, ал одан кейін Көшіру дегенін нұқыңыз. Осылай істеу арқылы ішінде бос орындары бар болған мекенжай жолын көшірмейсіз.

Пішіндегі немесе есептегі жазбаларды IP мекенжайлары бойынша сұрыптау

Егер жазбалары IP мекенжайлары бойынша сұрыпталған пішін немесе есеп жасау қажет болса, жаңа нысанды мекенжайларды сақтайтын кестеге емес, жоғарыда сипатталған жолмен мекенжайларды сұрыптайтын сұрауға негіздеңіз.

Беттің жоғарғы жағы

Дағдыларды жетілдіру
Оқыту курсымен танысыңыз
Жаңа мүмкіндіктерге бірінші болып қол жеткізу
Office Insider бағдарламасына қосылу

Осы ақпарат пайдалы болды ма?

Пікіріңіз үшін рақмет!

Пікіріңізге рақмет! Сізді Office қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×