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

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

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

บทนำ

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

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

๑๙๘

3

๙๓

๓๒

๑๘๓

๙๓

๔๐

๑๐๔

30

๒๔๔

2

๑๐๔

๒๔๔

4

1

๑๐๔

๒๔๔

๒๕๓

29

๑๒๓

4

๒๔๕

23

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

สร้างคิวรี

คุณจะสร้างคิวรีแบบใช้เลือกชื่อที่เรียงลำดับ IPAddresses ที่แสดงระเบียนโดยเรียงลำดับจากน้อยไปหามากที่อยู่ IP สมมติว่าฐานข้อมูลปัจจุบันมีตารางที่ชื่อ MachineDetails ซึ่งมีเขตข้อมูลข้อความที่ชื่อว่า IPAddress

  1. คลิกสร้างการออกแบบแบบสอบถาม

  2. ในกล่องโต้ตอบแสดงตารางบนแท็บตารางให้คลิกMachineDetailsแล้วคลิกเพิ่ม ปิดกล่องโต้ตอบ

  3. ลากเขตข้อมูล MachineID และ IPAddress ไปยังตารางออกแบบคิวรี

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

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

  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 ([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 (ขวา ([IPAddress], เลน ([IPAddress])-InStr (InStr (InStr (1, [IPAddress], ") + 1, [IPAddress], "".) + 1, [IPAddress], " ".))) ในแถวเขตข้อมูล นิพจน์จะส่งกลับอักขระที่ทำตามช่วงเวลาสุดท้าย

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

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

    สำคัญ    แถวเรียงลำดับของคอลัมน์ IPAddress จะต้องปล่อยว่างไว้

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

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

    MachineID

    IPAddress

    กิจการ

    PartII

    PartIII

    PartIV

    3

    1.198.3.93

    1

    ๑๙๘

    3

    ๙๓

    4

    32.183.93.40

    ๓๒

    ๑๘๓

    ๙๓

    ๔๐

    5

    104.30.244.2

    ๑๐๔

    30

    ๒๔๔

    2

    6

    104.244.4.1

    ๑๐๔

    ๒๔๔

    4

    1

    2

    104.244.253.29

    ๑๐๔

    ๒๔๔

    ๒๕๓

    29

    1

    123.4.245.23

    ๑๒๓

    4

    ๒๔๕

    23

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

  12. หรือระบุเกณฑ์สำหรับการไม่รวมระเบียนจากคิวรี

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

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

ตรวจสอบความถูกต้องของที่อยู่ IP ระหว่างการป้อนข้อมูล

ถ้าคุณต้องการตรวจสอบความถูกต้องของที่อยู่โดยไม่ต้องเขียนโค้ดคุณสามารถทำได้โดยการตั้งค่าคุณสมบัติInputMaskของเขตข้อมูลเป็นอันดับ# # # # # # # #, 0; " "และรูปแบบคุณสมบัติของเขตข้อมูลที่อยู่ IP ไปยัง&&&&&&&&&&&&

รูปแบบการป้อนข้อมูลทำอะไรได้บ้าง เมื่อคุณเริ่มพิมพ์ในเขตข้อมูลที่อยู่รูปแบบการป้อนข้อมูลจะป้องกันไม่ให้คุณใส่อักขระอื่นที่ไม่ใช่ตัวเลขและช่องว่างระหว่างสามงวด ถ้าส่วนที่เป็นตัวเลขเป็นตัวเลขสองหลักให้ปล่อยให้ตัวเลขที่สามว่างเปล่าหรือพิมพ์ช่องว่างแทน โปรดสังเกตว่ารูปแบบการป้อนข้อมูลนี้จะไม่เตือนผู้ใช้ถ้าเขาข้ามการพิมพ์บางส่วนหรือหลายส่วนของที่อยู่หรือพิมพ์เฉพาะช่องว่างแทนที่จะเป็นค่าตัวเลข ตัวอย่างเช่น "๓๔๕ 3 . "จะได้รับการยอมรับเป็นที่อยู่ที่ถูกต้อง

รูปแบบการแสดงคืออะไร เมื่อคุณพิมพ์และออกจากเขตข้อมูลเสร็จแล้วรูปแบบการแสดงจะเอาช่องว่างในที่อยู่ออกและแสดงเฉพาะตัวเลขและระยะเวลา ดังนั้นถ้าคุณพิมพ์ "๓๕๔.๓๕ .2 .12" ที่อยู่จะแสดงเป็น "354.35.2.12" โปรดสังเกตว่าถ้าคุณคลิกภายในที่อยู่หรือกด F2 (เมื่อต้องการใส่โหมดแก้ไข) เมื่อมีการเลือกที่อยู่ช่องว่างจะปรากฏขึ้นอีกครั้ง

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

การเรียงลำดับระเบียนในฟอร์มหรือรายงานตามที่อยู่ IP

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

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

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

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

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

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

×