การเรียงลำดับที่อยู่ IP

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

หัวข้อนี้จะอธิบายถึงกระบวนงานเกี่ยวกับการเรียงลำดับที่อยู่อินเทอร์เน็ตโพรโทคอล (IP) ที่เก็บในฐานข้อมูล Microsoft Office Access 2007

ในบทความนี้

บทนำ

สร้างแบบสอบถาม

ใช้เพิ่มเติมสำหรับที่อยู่ IP เรียงลำดับ

บทนำ

ถ้าคุณทำงานกับที่อยู่ IP คุณอาจจะพอทราบแล้วว่า การทำงานกับที่อยู่ IP ไม่ได้ง่ายเหมือนการทำงานกับข้อความหรือตัวเลข เนื่องจากที่อยู่ IP เป็นคอลเลกชันของค่าตัวเลขสี่ค่าที่คั่นด้วยเครื่องหมายมหัพภาค (.) แต่ละค่าจะเป็นตัวเลขระหว่าง 0 ถึง 255 ตารางต่อไปนี้แสดงข้อมูลก่อนที่จะมีการนำไปใช้เรียงลำดับ

ID เครื่อง

พนักงาน

ตำแหน่งที่ตั้ง

ที่อยู่ 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 ประกอบด้วยเครื่องหมายมหัพภาค (.) ถึง 3 จุด นั่นหมายความว่า คุณต้องเก็บที่อยู่ IP ไว้ในเขตข้อมูลข้อความแทน

เพราะว่าคุณต้องเก็บที่อยู่ IP ในเขตข้อมูลชนิดข้อความ คุณจึงไม่สามารถใช้ปุ่มเรียงลำดับที่มีอยู่แล้วภายในของ Access เพื่อเรียงลำดับที่อยู่ด้วยวิธีที่เหมาะสมได้ ปุ่มเรียงลำดับจะเรียงค่าในเขตข้อมูลชนิดข้อความตามลำดับตัวอักษรเสมอ ถึงแม้ว่าอักขระจะเป็นตัวเลขก็ตาม หรืออีกนัยหนึ่ง ที่อยู่จะถูกเรียงลำดับตามหลักแรก จากนั้นก็จะเรียงตามหลักที่สองและเช่นนี้เรื่อยไป แทนที่จะเรียงตามค่าตัวเลขของที่อยู่นั้น ตารางต่อไปนี้จะแสดงให้เห็นที่อยู่ของตารางก่อนหน้านี้ที่มีการเรียงลำดับเขตข้อมูลที่อยู่ IP ตามตัวอักษร

ID เครื่อง

ที่อยู่ 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


ที่อยู่ที่เริ่มต้นด้วย 1 จะแสดงก่อนที่อยู่ที่เริ่มต้นด้วย 2 และเช่นนี้เรื่อยไป ตารางต่อไปนี้จะแสดงการเรียงลำดับที่อยู่จากน้อยไปหามากที่ถูกต้อง

ID เครื่อง

ที่อยู่ 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 ออกเป็นตัวเลขสี่ส่วน ที่อยู่จะต้องถูกเรียงลำดับตามส่วนที่หนึ่ง จากนั้นก็เรียงตามค่าแต่ละค่าในส่วนที่หนึ่ง แล้วจึงค่อยเรียงลำดับในส่วนที่สอง และเช่นนี้เรื่อยไป ตารางนี้จะแสดงแต่ละส่วนในคอลัมน์ที่ต่างกัน และเนื่องจากคอลัมน์มีค่าตัวเลขอย่างง่าย จึงเป็นไปได้ที่จะเรียงลำดับคอลัมน์จากซ้ายไปขวาในลำดับจากน้อยไปหามาก ดังแสดงในตารางต่อไปนี้

ส่วน 1

ส่วน 2

ส่วน 3

ส่วน 4

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. ลากเขตข้อมูล ID เครื่อง และที่อยู่ IP ไปยังตารางออกแบบแบบสอบถาม

  4. ขณะนี้คุณพร้อมที่จะเพิ่มคอลัมน์จากการคำนวณ ในคอลัมน์แรกที่ว่างทางด้านขวา พิมพ์นิพจน์PartI: Val(Left([IPAddress],(InStr(1,[IPAddress],".") -1)))ในแถวเขตข้อมูล นิพจน์ที่ส่งกลับอักขระก่อนหน้าคาบเวลาแรก (.) ในเขตข้อมูล IPAddress

    ขณะนี้ ตรวจทานนิพจน์ เนื่องจากคุณไม่ทราบจำนวนหลักประกอบขึ้นส่วนแรกของอยู่ คุณใช้ฟังก์ชันInStrเพื่อค้นหาตำแหน่งของคาบเวลาแรก ลบ 1 (การแยกงวด) ส่งกลับจำนวนหลักในส่วนแรก คุณใช้หมายเลขนี้กับฟังก์ชันซ้ายจะแยกอักขระที่ เริ่มต้นจากอักขระอยู่ซ้ายสุด จากเขตข้อมูล IPAddress สุดท้าย คุณโทรหาฟังก์ชันValเพื่อแปลงอักขระส่งกลับ โดยฟังก์ชันซ้ายเป็นตัวเลข ขั้นตอนสุดท้ายนี้จำเป็นเนื่องจากข้อความเป็นชนิดข้อมูลเบื้องหลัง

  5. บันทึกแบบสอบถามด้วยการคลิก บันทึก บน แถบเครื่องมือด่วน จะเป็นการดีที่จะทำการบันทึกทุกครั้งหลังจากดำเนินการในแต่ละขั้นตอนแล้ว

  6. เพิ่มคอลัมน์สำหรับส่วนที่อยู่สอง ในคอลัมน์ทางด้านขวาของ PartI พิมพ์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 ให้เป็นตัวเลข ขั้นตอนนี้จำเป็นมากเพราะชนิดข้อมูลต้นฉบับเป็น Text

  8. เพิ่มคอลัมน์สำหรับส่วนที่สี่ และขั้นสุดท้ายที่อยู่ ในคอลัมน์ทางด้านขวาของ PartIII พิมพ์PartIV: Val(Right([IPAddress],Len([IPAddress])-InStr(InStr(InStr(1,[IPAddress],".") +1,[IPAddress],".") +1,[IPAddress],"."))) ในแถวเขตข้อมูล นิพจน์ที่ส่งกลับอักขระที่ตามช่วงเวลาสุดท้าย

    ตรวจทานนิพจน์อีก คีย์รีจิคือการ ค้นหาตำแหน่งที่ตั้งของระยะเวลาที่สาม และแยกอักขระทั้งหมดที่ตามแล้ว เนื่องจากคุณไม่ทราบว่าเป็นเหมือนกับช่วงเวลาสามอยู่ที่ใด คุณโทรฟังก์ชันInStrสามครั้งเพื่อค้นหาตำแหน่งของระยะเวลาที่สาม คุณแล้วใช้ตัวฟังก์ชันLenเพื่อคำนวณจำนวนหลักในส่วนที่สี่ จำนวนส่งกลับตัวเลขแล้วใช้กับตัวฟังก์ชันขวาเพื่อแยกอักขระที่ออกจากส่วนที่ถูกต้องของเขตข้อมูล IPAddress สุดท้าย เรียกฟังก์ชันValเพื่อแปลงอักขระส่งกลับ โดยฟังก์ชันMidจะเป็นตัวเลข ขั้นตอนสุดท้ายนี้จำเป็นเนื่องจากข้อความเป็นชนิดข้อมูลเบื้องหลัง

  9. ตั้งค่าแถว เรียงลำดับ ของคอลัมน์จากการคำนวณทั้งสี่คอลัมน์ให้เป็น จากน้อยไปหามาก

    สิ่งสำคัญ    แถว เรียงลำดับ ของคอลัมน์ที่อยู่ IP จะต้องปล่อยให้ว่าง

    ถ้าคุณต้องการเรียงลำดับตามค่าเขตข้อมูลอื่น นอกเหนือจากที่อยู่ ให้วางเขตข้อมูลเหล่านั้นได้ทั้งทางซ้ายหรือขวาของคอลัมน์จากการคำนวณทั้งสี่คอลัมน์ อย่าวางเขตข้อมูลเรียงลำดับอื่นๆ ไว้ระหว่างคอลัมน์จากการคำนวณ

  10. ขั้นตอนถัดไปคือการซ่อนคอลัมน์จากการคำนวณทั้งสี่ในแผ่นข้อมูล แต่ก่อนที่คุณจะทำ ให้สลับไปยังมุมมองแผ่นข้อมูลเพื่อดูผลลัพธ์ของนิพจน์ในคอลัมน์จากการคำนวณ ตารางต่อไปนี้จะแสดงคอลัมน์ที่คุณจะเห็นในมุมมองแผ่นข้อมูล

ID เครื่อง

ที่อยู่ IP

ส่วน 1

ส่วน 2

ส่วน 3

ส่วน 4

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 ให้จัดวัตถุใหม่ตามแบบสอบถามที่เรียงลำดับที่อยู่ดังที่อธิบายไว้ก่อนหน้านี้ แทนที่จะจัดตามตารางที่เก็บที่อยู่นั้น

ด้านบนของหน้า

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×