คุณสามารถใช้คุณสมบัติ TopValues เพื่อส่งกลับระเบียนตามจํานวนที่ระบุหรือเปอร์เซ็นต์ของระเบียนที่ตรงกับเกณฑ์ที่คุณระบุ ตัวอย่างเช่น คุณอาจต้องการส่งกลับค่าสูงสุด 10 ค่า หรือเปอร์เซ็นต์สูงสุด 25 เปอร์เซ็นต์ของค่าทั้งหมดในเขตข้อมูล
หมายเหตุ: คุณสมบัติ TopValues นำไปใช้ในการผนวก สร้างตาราง เลือกคิวรีเท่านั้น
การตั้งค่า
การตั้งค่าคุณสมบัติ TopValues เป็น ค่าจํานวนเต็มที่แสดงจํานวนค่าที่แน่นอนที่จะส่งกลับหรือตัวเลขตามด้วยเครื่องหมายเปอร์เซ็นต์ (%) ที่แสดงเปอร์เซ็นต์ของระเบียนที่จะส่งกลับ ตัวอย่างเช่น เมื่อต้องการส่งกลับค่า 10 อันดับแรก ให้ตั้งค่าคุณสมบัติ TopValues เป็น 10 เมื่อต้องการส่งกลับ 10 เปอร์เซ็นต์แรกสุดของค่า ให้ตั้งค่าคุณสมบัติ TopValues เป็น 10%
คุณไม่สามารถตั้งค่าคุณสมบัตินี้ในโค้ดได้โดยตรง ตั้งค่าไว้ใน มุมมอง SQL ของ หน้าต่างคิวรี โดยใช้ส่วนคําสั่ง TOP n หรือ TOP n PERCENT ในคําสั่ง SQL
คุณยังสามารถตั้งค่าคุณสมบัติ TopValues ได้โดยใช้แผ่นงานคุณสมบัติของคิวรีหรือกล่อง TopValues ภายใต้ เครื่องมือ บนแท็บ ออกแบบ
หมายเหตุ: คุณสมบัติ TopValues ในแผ่นคุณสมบัติของคิวรี และบนแท็บ ออกแบบ คือกล่องคําสั่งผสมที่มีรายการของค่าและค่าเปอร์เซ็นต์ คุณสามารถเลือกหนึ่งในค่าเหล่านี้ หรือคุณสามารถพิมพ์การตั้งค่าที่ถูกต้องใดๆ ในกล่อง
ข้อสังเกต
โดยทั่วไปแล้ว คุณจะใช้การตั้งค่าคุณสมบัติ TopValues พร้อมกับเขตข้อมูลที่เรียงลําดับ เขตข้อมูลที่คุณต้องการแสดงค่าสูงสุดควรเป็นเขตข้อมูลซ้ายสุดที่มีกล่อง เรียงลําดับ ถูกเลือกอยู่ในตารางออกแบบคิวรี การเรียงลําดับจากน้อยไปหามากจะส่งกลับระเบียนล่างสุด และการเรียงลําดับจากมากไปหาน้อยจะส่งกลับระเบียนบนสุด ถ้าคุณระบุว่าจะส่งกลับระเบียนตามจํานวนที่ระบุ ระเบียนทั้งหมดที่มีค่าที่ตรงกับค่าในระเบียนสุดท้ายจะถูกส่งกลับเช่นกัน
ตัวอย่างเช่น สมมติว่าพนักงานชุดหนึ่งมียอดขายรวมต่อไปนี้
ยอดขาย |
พนักงานขาย |
90,000 |
เอี่ยมศิริ |
80,000 |
บุญลือ |
70,000 |
ทรัพย์มงคล |
70,000 |
ลีลาพันธ์ |
60,000 |
สันติสกุล |
50,000 |
ปัญญาว่อง |
ถ้าคุณตั้งค่าคุณสมบัติ TopValues เป็น 3 ด้วยการเรียงลำดับจากมากไปน้อยในเขตข้อมูลการขาย Microsoft Office Access 2007 จะส่งกลับระเบียนสี่ระเบียนต่อไปนี้
ยอดขาย |
พนักงานขาย |
90,000 |
เอี่ยมศิริ |
80,000 |
บุญลือ |
70,000 |
ทรัพย์มงคล |
70,000 |
ลีลาพันธ์ |
หมายเหตุ: เมื่อต้องการส่งกลับค่าด้านบนสุดหรือด้านล่างสุดโดยไม่มีการแสดงค่าที่ซ้ำกัน ให้ตั้งค่าคุณสมบัติ UniqueValues ในแผ่นงานคุณสมบัติของคิวรีเป็น Yes
ตัวอย่าง
ตัวอย่างต่อไปนี้กำหนดสตริง SQL ที่ส่งกลับผลิตภัณฑ์ที่มีราคาแพงสูงสุด 10 ผลิตภัณฑ์ไปยังคุณสมบัติ RecordSource สำหรับฟอร์มที่จะแสดงผลิตภัณฑ์ที่มีราคาแพงที่สุด 10 ผลิตภัณฑ์
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL