ใน Access คุณสามารถสร้างเขตข้อมูลแบบหลายค่าที่เก็บค่าหลายค่า (สูงสุด 100) คุณยังสามารถสร้างเขตข้อมูลการค้นหาที่แสดงค่าที่เป็นมิตรกับผู้ใช้ที่ผูกกับค่าในแหล่งข้อมูลอื่นได้ เมื่อคุณคิวรีเขตข้อมูลการค้นหาหรือเขตข้อมูลที่มีหลายค่า จะมีข้อควรพิจารณาที่ไม่ซ้ํากัน สําหรับข้อมูลเพิ่มเติม ให้ดู Create หรือลบเขตข้อมูลแบบหลายค่าและ Create หรือลบเขตข้อมูลการค้นหา
ในบทความนี้
ดูค่าที่ถูกผูกไว้ของเขตข้อมูลการค้นหาในคิวรี
ค่าที่แสดงของเขตข้อมูลการค้นหาจะแสดงในมุมมองแผ่นข้อมูลคิวรีโดยอัตโนมัติตามค่าเริ่มต้น เมื่อคุณสร้างคิวรี คุณสามารถแทนที่ลักษณะการทํางานนี้เพื่อให้แสดงค่าที่ถูกผูกไว้แทนได้ ในตัวอย่างนี้ สมมติว่าคุณต้องการดูค่าที่ถูกผูกไว้ของเขตข้อมูลการค้นหาในตารางสํานักงานใหญ่ที่ "ค้นหา" ชื่อรัฐของอังกฤษใหม่
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตาราง Headquarters และ NewEngland
ควรรวมสองตารางเข้าด้วยกัน
สําหรับข้อมูลเพิ่มเติม ให้ดูที่ รวมตารางและคิวรี
-
ลากเขตข้อมูลพร้อมกับเขตข้อมูลการค้นหาไปยังตารางออกแบบคิวรี ในตัวอย่างนี้ ให้เพิ่มเขตข้อมูล City และ NEState
-
คลิกเขตข้อมูล การค้นหา จากนั้นบนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก แผ่นคุณสมบัติ ในตัวอย่างนี้ ให้ใช้เขตข้อมูล NEState
-
ในแผ่นคุณสมบัติ ให้เลือกแท็บ ค้นหา จากนั้นในคุณสมบัติ ตัวควบคุมการแสดง ให้เลือก กล่องข้อความ
ผลลัพธ์ ในตอนนี้ เมื่อคุณดูคิวรีในมุมมองแผ่นข้อมูล คุณจะเห็นค่าที่ถูกผูกไว้ที่สอดคล้องกันของค่าที่แสดง
ใช้ค่าที่แสดงสําหรับเขตข้อมูลการค้นหาในคิวรี
เมื่อคุณสร้างเขตข้อมูลการค้นหา การรวมจะถูกสร้างขึ้นระหว่างค่า ที่ถูกผูก ไว้ และค่า แสดง แม้ว่าคุณจะไม่สามารถใช้ค่า แสดง ในคิวรีได้โดยตรง แต่คุณสามารถใช้ค่าที่สอดคล้องกันจากแหล่งข้อมูลอื่นได้ ในตัวอย่างนี้ สมมติว่าคุณต้องการใช้ค่าที่แสดงของเขตข้อมูลการค้นหา NEState ในตาราง Headquarters ในคิวรีเป็นเกณฑ์
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตาราง Headquarters และ NewEngland
ควรรวมสองตารางเข้าด้วยกัน สําหรับข้อมูลเพิ่มเติม ให้ดูที่ รวมตารางและคิวรี
-
ลากเขตข้อมูลที่คุณต้องการใช้ไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลาก เมือง จากตารางสํานักงานใหญ่ไปยังคอลัมน์แรก NEState จากตารางสํานักงานใหญ่ไปยังคอลัมน์ที่สอง และ StateName จากตาราง NewEngland ไปยังคอลัมน์ที่สาม
-
ล้างกล่องกาเครื่องหมาย แสดง ของ StateName ในตารางคิวรี
-
ในตารางคิวรี ภายใต้ StateName ในแถว เกณฑ์ ให้ใส่ Vermont
เกณฑ์คิวรีจะยึดตามคอลัมน์ StateName ซึ่งแน่นอนมีค่าเดียวกับค่า Display แต่ไม่แสดงในมุมมองแผ่นข้อมูล
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ แสดงเฉพาะแถวที่มี Vermont เท่านั้น
ใช้เขตข้อมูลแบบหลายค่าในคิวรี
เมื่อคุณแสดงเขตข้อมูลแบบหลายค่าในคิวรี คุณสามารถแสดงเขตข้อมูลแบบหลายค่าที่สมบูรณ์ที่มีค่าทั้งหมดซึ่งคั่นด้วยเครื่องหมายจุลภาคบนแถวเดียว หรือปรับข้อมูลให้ราบลงโดยมีแถวแยกสําหรับแต่ละค่า ตัวอย่างเช่น สมมติว่าคุณมีตาราง ปัญหา ที่มีเขตข้อมูล ชื่อเรื่อง สําหรับแต่ละปัญหาและเขตข้อมูลแบบหลายค่า มอบหมายให้ เพื่อกําหนดปัญหาให้กับบุคคล
แสดงค่าทั้งหมดในเขตข้อมูลที่มีหลายค่าในหนึ่งแถว
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลไปยังตารางออกแบบคิวรี ในตัวอย่างนี้ ให้ลากเขตข้อมูล ชื่อเรื่อง และเขตข้อมูล แบบหลายค่ามอบหมายให้
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ ดังที่คุณอาจคาดไว้ คอลัมน์หนึ่งจะแสดงเขตข้อมูล ชื่อเรื่อง และคอลัมน์ที่สองจะแสดงเขตข้อมูลแบบหลายค่า AssignedTo :
แสดงแต่ละค่าของเขตข้อมูลที่มีหลายค่าในหนึ่งแถว (มุมมองแบบแบน)
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลที่คุณไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลากเขตข้อมูล ชื่อเรื่อง และเขตข้อมูลแบบหลายค่า AssignedTo.Value
รูปแบบ <> ชื่อเขตข้อมูล Value ผนวกคุณสมบัติ Valueเป็นสตริง ค่าในเขตข้อมูล มอบหมายให้
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ ข้อมูลจะถูกปรับให้ราบลงเพื่อให้เขตข้อมูล ชื่อเรื่อง ซ้ํากัน และแต่ละค่าในเขตข้อมูล มอบหมายให้ แบบหลายค่า จะแสดงในแถวที่สอดคล้องกัน:
เพิ่มเกณฑ์ลงในเขตข้อมูลแบบหลายค่าในคิวรี
การวางเกณฑ์เดียวกันในตารางคิวรีในคอลัมน์ตารางต่างๆ จะส่งผลกระทบอย่างมากต่อผลลัพธ์ของคิวรีของคุณ
เพิ่มเกณฑ์ที่แสดงค่าทั้งหมดในเขตข้อมูลที่มีหลายค่าในแถวเดียว
Access จะสร้างชุดผลลัพธ์ก่อน แล้วจึงเพิ่มเกณฑ์
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลที่คุณไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลากเขตข้อมูล ชื่อเรื่อง เขตข้อมูลแบบหลายค่า มอบหมายให้ และเขตข้อมูลแบบหลายค่า AssignedTo.Value
-
ล้างกล่องกาเครื่องหมาย แสดง ของ AssignedTo.Value ในตารางคิวรี
-
ในตารางคิวรี ภายใต้ มอบหมายให้ค่า ในแถว เกณฑ์ ให้ใส่ "NOT "David Hamilton"
การดูมุมมอง SQL มีประโยชน์:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ ปัญหาทั้งสามที่ไม่ได้กําหนดให้กับ David Hamilton จะแสดงเป็นค่าเริ่มต้น
เพิ่มเกณฑ์ที่แสดงแต่ละค่าในเขตข้อมูลที่มีหลายค่าในหนึ่งแถว (มุมมองแบบแบน)
Access จะสร้างชุดผลลัพธ์แบบปรับแบนก่อน แล้วจึงเพิ่มเกณฑ์
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลที่คุณไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลากเขตข้อมูล ชื่อเรื่อง และเขตข้อมูลแบบหลายค่า AssignedTo.Value
-
ในตารางคิวรี ภายใต้ มอบหมายให้ค่า ในแถว เกณฑ์ ให้ใส่ NOT "David Hamilton"
การดูมุมมอง SQL มีประโยชน์:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ แต่ละปัญหาที่ไม่ได้กําหนดให้กับ David Hamilton จะแสดงเป็นค่าที่ถูกปรับให้ราบ
เพิ่มเกณฑ์หลายเกณฑ์ลงในเขตข้อมูลแบบหลายค่าในคิวรี
บางครั้งคุณจําเป็นต้องค้นหาค่าที่ตรงกันมากกว่าหนึ่งค่าภายในเขตข้อมูลที่มีหลายค่า ตัวอย่างเช่น สมมติว่าคุณต้องการดูปัญหาเหล่านั้นซึ่งทั้ง "Kelly Rollin" และ "Lisa Miller" เป็นหนึ่งในค่าในเขตข้อมูล AssignedTo
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลที่คุณไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลากเขตข้อมูล ชื่อเรื่อง และเขตข้อมูล แบบหลายค่ามอบหมายให้
-
ในตารางคิวรี ภายใต้ มอบหมายให้ ในแถว เกณฑ์ ให้ใส่ "Kelly Rollin" และ "Lisa Miller"
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ ทั้งสองปัญหาที่กําหนดให้กับ "Kelly Rollin" และ "Lisa Miller" จะแสดงขึ้น
การจัดกลุ่มและการนับเขตข้อมูลแบบหลายค่าในคิวรี
เมื่อต้องการคํานวณ จัดกลุ่ม และการเรียงลําดับค่าที่เก็บไว้ในเขตข้อมูลแบบหลายค่า ให้ใช้> <Fieldname เขตข้อมูลค่า สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคิวรีกลุ่ม ให้ดูที่ นับข้อมูลโดยใช้คิวรี
เมื่อต้องการนับจํานวนประเด็นที่กําหนดให้กับแต่ละบุคคล
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลที่คุณต้องการใช้ไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลาก AssignedTo.Value ไปยังคอลัมน์แรกและ ชื่อเรื่อง ไปยังคอลัมน์ที่สอง
-
บนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก ผลรวม
แถว ผลรวม จะปรากฏในตารางคิวรี จัดกลุ่มตาม จะปรากฏขึ้นตามค่าเริ่มต้นในเซลล์ ผลรวม ภายใต้แต่ละเขตข้อมูลในคิวรี
-
ในตารางคิวรี ภายใต้ ชื่อเรื่อง ในแถว ผลรวม ให้คลิก นับจํานวน
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ จํานวนของปัญหาที่กําหนดต่อบุคคลจะแสดงในมุมมองแบบแฟลต
เมื่อต้องการนับจํานวนบุคคลที่ได้รับมอบหมายแต่ละปัญหา
-
เปิดคิวรีในมุมมองออกแบบ
-
ในตัวอย่างนี้ ให้เพิ่มตารางประเด็น
-
ลากเขตข้อมูลที่คุณต้องการใช้ไปยังตารางคิวรี ในตัวอย่างนี้ ให้ลาก ชื่อเรื่อง ไปยังคอลัมน์แรก แล้วลาก มอบหมายให้ ไปยังคอลัมน์ที่สอง
-
บนแท็บ ออกแบบ ในกลุ่ม แสดง/ซ่อน ให้คลิก ผลรวม
แถว ผลรวม จะปรากฏในตารางคิวรี จัดกลุ่มตาม จะปรากฏขึ้นตามค่าเริ่มต้นในเซลล์ ผลรวม ภายใต้เขตข้อมูล ชื่อเรื่อง ในคิวรี นิพจน์ จะปรากฏตามค่าเริ่มต้นในเซลล์ ผลรวม ภายใต้เขตข้อมูล มอบหมายให้ เนื่องจากคุณไม่สามารถดําเนินการ จัดกลุ่มตาม บนเขตข้อมูลที่มีหลายค่าได้โดยตรง เฉพาะ <ชื่อเขตข้อมูล> เขตข้อมูลค่า
-
ในตารางคิวรี ภายใต้ มอบหมายให้ ในแถว ผลรวม ให้คลิก นับจํานวน
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
ผลลัพธ์ จํานวนบุคคลที่มอบหมายต่อปัญหาจะแสดงในมุมมองแบบแฟลต
ใช้คิวรีแบบใช้ผนวกข้อมูลกับเขตข้อมูลที่มีหลายค่า
คุณสามารถแทรกค่าเดียวลงในเขตข้อมูลแบบหลายค่าได้โดยใช้คิวรีแบบใช้ผนวกข้อมูล ตัวอย่างเช่น สมมติว่าคุณต้องการเพิ่ม "Tom Michaels" ลงในเขตข้อมูล AssignedTo multivalued ในตาราง Issues
หมายเหตุ นี่เป็นคิวรีแบบใช้ผนวกข้อมูลชนิดเดียวที่ทํางานกับเขตข้อมูลแบบหลายค่า
-
เปิดคิวรีในมุมมองออกแบบ
-
เพิ่มตารางประเด็น
-
บนแท็บ ออกแบบ ให้คลิก ผนวก
-
ในกล่องโต้ตอบ ผนวก ให้เลือก ปัญหา แล้วคลิก ตกลง
-
ในแถว ผนวกไปยัง ของเส้นตารางออกแบบ ให้เลือก มอบหมายให้.Value
-
ในแถว เขตข้อมูล ของตารางออกแบบ ให้ใส่ "Tom Michaels"
-
เมื่อต้องการจํากัดการดําเนินการผนวกกับปัญหาที่เฉพาะเจาะจง ให้เพิ่มเขตข้อมูลลงในตารางออกแบบ เช่น ชื่อเรื่อง เอา ชื่อเรื่อง ออกจากแถว ผนวกไปยัง แล้วใส่เกณฑ์ เช่น "ปัญหา 3"
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
Access อาจขอให้คุณยืนยันว่าจะผนวกแถวที่เลือกหรือไม่ คลิก ใช่ เพื่อแทรกแถว หรือคลิก ไม่ใช่ เพื่อยกเลิก
ผล ขณะนี้ "Tom Michaels" ถูกเพิ่มลงในเขตข้อมูล มอบหมายให้ สําหรับปัญหาที่ 3
สำคัญ คุณไม่สามารถใช้คิวรีแบบใช้ผนวกข้อมูลที่อ้างอิงตารางที่มีเขตข้อมูลแบบหลายค่าได้ ตัวอย่างเช่น แบบสอบถามต่อไปนี้ไม่ถูกต้อง
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
ใช้คิวรีแบบใช้อัปเดตข้อมูลกับเขตข้อมูลที่มีหลายค่า
คุณสามารถใช้คิวรีแบบใช้อัปเดตข้อมูลเพื่อเปลี่ยนค่าเดียวในเขตข้อมูลที่มีหลายค่าเป็นค่าอื่น ในตัวอย่างนี้ คุณต้องการอัปเดตเขตข้อมูลแบบหลายค่าของ AssignedTo เพื่อแทนที่ "Kelly Rollin" ด้วย "Lisa Miller"
-
เปิดคิวรีในมุมมองออกแบบ
-
เพิ่มตารางประเด็น
-
บนแท็บ ออกแบบ ให้คลิก อัปเดต
-
ลาก มอบหมายให้.ค่า ไปยังตาราง คิวรี
-
ในแถว อัปเดตเป็น ให้ใส่ "Lisa Miller"
-
ในแถว เกณฑ์ ให้ใส่ "Kelly Rollin"
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
Access อาจขอให้คุณยืนยันว่าจะผนวกแถวที่เลือกหรือไม่ คลิก ใช่ เพื่อแทรกแถว หรือคลิก ไม่ใช่ เพื่อยกเลิก
ผลลัพธ์ Lisa Miller แทนที่ Kelly Rollin ในเขตข้อมูล AssignedTo สําหรับปัญหาที่สอดคล้องกันทั้งหมด
ใช้คิวรีแบบใช้ลบข้อมูลกับเขตข้อมูลที่มีหลายค่า
เมื่อคุณทํางานกับตารางที่มีเขตข้อมูลแบบหลายค่า คุณสามารถใช้คิวรีแบบใช้ลบข้อมูลเพื่อลบระเบียนที่มีค่าเฉพาะในเขตข้อมูลแบบหลายค่า หรือเพื่อลบค่าเฉพาะจากเขตข้อมูลที่มีหลายค่าในระเบียนทั้งหมดในตาราง ในตัวอย่างต่อไปนี้ สมมติว่าคุณต้องการลบ "David Hamilton" ออกจากตารางปัญหา
สำคัญ เมื่อคุณใช้คิวรีแบบใช้ลบข้อมูลเพื่อลบเขตข้อมูลแบบหลายค่าที่มีข้อมูลอยู่ คุณจะสูญเสียข้อมูลนั้นอย่างถาวร ซึ่งคุณไม่สามารถเลิกทําการลบได้ ด้วยเหตุผลดังกล่าว คุณควรสำรองฐานข้อมูลของคุณก่อนที่จะลบเขตข้อมูลตารางหรือคอมโพเนนต์อื่น ๆ ของฐานข้อมูล
เมื่อต้องการลบค่าที่เฉพาะเจาะจงจากเขตข้อมูลแบบหลายค่าในระเบียนทั้งหมด
-
บนแท็บ สร้าง ในกลุ่ม คิวรี ให้คลิก การออกแบบคิวรี
-
เพิ่มตารางประเด็น
-
เปิดคิวรีในมุมมองออกแบบ
-
บนแท็บ ออกแบบ ให้คลิก ลบ
-
ในแถว เกณฑ์ ให้ใส่ "David Hamilton"
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
Access อาจขอให้คุณยืนยันว่าจะลบระเบียนหรือไม่ คลิก ใช่ เพื่อลบระเบียน หรือคลิก ไม่ใช่ เพื่อยกเลิก
ผลลัพธ์ David Hamilton จะถูกนําออกจากปัญหาที่สอดคล้องกันทั้งหมด
ลบระเบียนที่มีค่าที่เฉพาะเจาะจงในเขตข้อมูลแบบหลายค่า
-
บนแท็บ สร้าง ในกลุ่ม คิวรี ให้คลิก การออกแบบคิวรี
-
เพิ่มตารางประเด็น
-
เปิดคิวรีในมุมมองออกแบบ
-
บนแท็บ ออกแบบ ให้คลิก กลุ่ม ลบ
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิกลูกศรภายใต้ มุมมอง แล้วคลิก มุมมอง SQL
-
ใส่คําสั่ง SQL ต่อไปนี้:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
หมายเหตุ ในกรณีนี้ คุณสามารถใช้คําสั่ง SQL ได้เท่านั้น ไม่ใช่ตารางออกแบบ ถ้าคุณสลับไปยังมุมมองเส้นตารางออกแบบ Access จะเพิ่มเครื่องหมายดอกจัน (*) หลังคําสั่ง DELETE ซึ่งคุณควรเอาออกจากมุมมอง SQL
-
บนแท็บ ออกแบบ ในกลุ่ม ผลลัพธ์ ให้คลิก เรียกใช้
Access อาจขอให้คุณยืนยันว่าจะลบระเบียนหรือไม่ คลิก ใช่ เพื่อลบระเบียน หรือคลิก ไม่ใช่ เพื่อยกเลิก
ผลลัพธ์ ปัญหาทั้งหมดที่เดวิด แฮมิลตัน ถูกกําหนดให้ออก