Online Reference |
Microsoft Reference |
|
|
First Function, Last FunctionSQL Aggregate Function, ค่าที่ส่งออกมาเป็นค่าของฟิลด์จากเรคคอร์ดแรกหรือสุดท้ายที่เป็นผลลัพธ์ของคิวรี่ ไวยากรณ์
ตำแหน่ง expr เป็น expression ของข้อความระบุฟิลด์ที่เก็บข้อมูล ซึ่งต้องการนำมาใช้หรือเป็น expression ที่ใช้นำข้อมูลของฟิลด์นั้นมาคำนวณ ฟิลด์ใน expression สามารถเป็นชื่อฟิลด์ของ Table, ค่าคงที่ หรือฟังก์ชัน (สามารถนำใช้ฟังก์ชันที่ built-in หรือกำหนดเอง แต่ห้ามใช้ฟังก์ชันอื่นของ SQL aggregate function) ลักษณะการประยุกต์ฟังก์ชัน First และ Last คล้ายคลึงกับเมธอด MoveFirst และ MoveLast ของอ๊อบเจค DAO Recordset การส่งออกค่าของฟิลด์ที่ระบุเป็นเรคคอร์ดแรกหรือสุดท้าย ซึ่งเป็นผลลัพธ์จากคิวรี่ เพราะว่าโดยปกติเรคคอร์ดจะไม่ส่งค่าตามลำดับ ทำให้เรคคอร์ดที่ส่งออกดดยฟังก์ชันนี้ไม่มีกฏเกณฑ์ (แต่การจัดเรียงลำดับสามารถกำหนดด้วยคิวรี่ โดยใช้คำสั่ง ORDER BY) ดูเพิ่มเติมเมธอด MoveFirst, เมธอด MoveLast, เมธอด MoveNext, เมธอด MovePrevious, อ๊อบเจค Recordset(DAO Language Reference), SELECT Statement การประยุกต์ใน Accessใน Microsoft Access สามารถใช้ฟังก์ชัน First และ Last ในตารางออกแบบคิวรี่, ในคำสั่ง SQL ที่ SQL view ของ Query Window, หรือในคำสั่ง SQL ภายในชุดคำสั่ง Visual Basic รวมถึงการใช้ฟังก์ชัน First และ Last ในการคำนวณตัว control บนฟอร์มหรือรายงาน ฟังก์ชัน First และ Last มีประโยชน์อย่างมากในการคำนวณตัว control บนฟอร์มหรือรายงาน เช่น มีรายงานของใบสั่งซื้อที่จัดกลุ่มด้วยฟิลด์ ShipCountry แลจัดเรียงตามฟิลด์ OrderDate สามารถใช้ฟังก์ชัน First และ Last ในการหาช่วงวันที่น้อยที่สุดหรือมากที่สุดในแต่ละกลุ่ม การกำหนดการจัดกลุ่ม ShipCountry ให้คลิกปุ่ม Sorting And Grouping บนแถบเครื่องมือ Report Design เลือก ShipCountry ในคอลัมน์ Field/Expression และตั้งค่าคุณสมบัติ GroupHeader and GroupFooter เป็น Yes ใน Design View ของรายงานให้สร้างตัว control แบบ text box ใหม่ 2 ตัวที่ส่วนล่าง(GroupFooter )ของ ShipCountry และตั้งค่าของคุณสมบัติ ControlSource ด้วย expression นี้ =First([OrderDate]) =Last([OrderDate]) เมื่อเปิดดูรายงานด้าน Print Preview จะพบวันที่แรกและสุดท้ายของแต่ละกลุ่ม Orders หมายเหตุ ถ้าต้องการส่งค่าเรคคอร์ดแรก และสุดท้ายเป็นกลุ่มของเรคคอร์ด ให้สร้างคิวรี่ที่เรียงลำดับแบบมากไปน้อย หรือน้อยไปมาก และตั้งค่าคุณสมบัติ TopValues เป็น 1 ตัวอย่างตัวอย่างการหาค่าจาก Table ชื่อ Employees เพื่อส่งออกค่าจากฟิลด์ LastName ของเรคคอร์ดแรกและสุดท้ายจาก Table โดยสมมติให้ EnumFields procedure เป็น procedure ในการพิมพ์ผลลัพธ์ Sub FirstLastX1() Dim dbs As Database, rst As Recordset ' ต้องปรับปรุงคำสั่งนี้ให้มีพาร์ทของ Northwind ' ส่งออกค่าจากฟิลด์ LastName ของเรคคอร์ดแรกและสุดท้ายจาก
Table ' เรียก EnumFields พิมพ์เนื้อหาของ Recordset โดยส่งผ่าน Recordset
และความกว้างฟิลด์ที่ต้องการ End Sub ตัวอย่างการเปรียบเทียบการใช้ฟังก์ชัน First และ Last กับการใช้ฟังก์ชัน Min และ Max เพื่อหาค่าวันน้อยที่สุดและมากที่สุดของวันเกิดของพนักงาน Sub FirstLastX2() Dim dbs As Database, rst As Recordset ' ต้องปรับปรุงคำสั่งนี้ให้มีพาร์ทของ Northwind ' หาวันที่น้อยที่สุดและมากที่สุดของวันเกิดพนักงาน ' เรียก EnumFields พิมพ์เนื้อหาของ Recordset โดยส่งผ่าน Recordset
และความกว้างฟิลด์ที่ต้องการ ' หาวันที่น้อยที่สุดและมากที่สุดของวันเกิดพนักงาน ' เรียก EnumFields พิมพ์เนื้อหาของ Recordset โดยส่งผ่าน Recordset
และความกว้างฟิลด์ที่ต้องการ End Sub
|
||||