Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
Access
Domain Aggregate Function
ดาวน์โหลดคู่มือ

DMin Function, DMax Function

Access Function, ฟังก์ชัน DMin และ ฟังก์ชัน DMax ใช้หาค่าต่ำสุดและค่าสูงสุด ของเรคคอร์ดที่อยู่ในกลุ่มเรคคอร์ด (Domain) ที่ระบุ ซึ่งสามารถนำไปใช้ในชุดคำสั่ง Visual Basic, มาโคร, expression ในคิวรี่ หรือตัว control แบบคำนวณ

ตัวอย่างเช่น สามารถใช้ฟังก์ชัน DMin และ ฟังก์ชัน DMax ในตัว control แบบคำนวณบนรายงาน เพื่อแสดงค่าลำดับผลรวมมากที่สุดและน้อยที่สุดของลูกค้าที่เจาะจง หรือใช้ฟังก์ชัน DMin ใน expression ของคิวรี่เพื่อใบสั่งซื้อทั้งหมดที่ส่วนลดมากกว่าค่าส่วนลดต่ำที่สุด

ไวยากรณ์

DMin(expr, domain [,criteria] )

DMax(expr, domain [,criteria] )

อากิวเมนต์ของฟังก์ชัน DMin และ ฟังก์ชัน DMax มีรายละเอียด คือ

อากิวเมนต์ รายละเอียด
expr บังคับ, เป็น expression ที่ระบุถึงฟิลด์ที่เก็บข้อมูลตัวเล็กที่ต้องการหาค่าผลรวม ซึ่งสามารถเป็น expression ของข้อความที่ระบุฟิลด์ใน Table หรือคิวรี่ หรือเป็น expression หาค่าคำนวณของฟิลด์ ในอากิวเมนต์ expr สามารถใช้ชื่อของฟิลด์ของ Table, ตัว control บนฟอร์ม, ค่าคงที่ หรือฟังก์ชัน ถ้าอากิวเมนต์ expr ได้รวมฟังก์ชันซึ่งเป็นได้ทั้งฟังก์ชันที่มากับโปรแกรม (built-in function) หรือผู้กำหนดเอง แต่ห้ามใช้ฟังก์ชัน Domain aggregate อื่นๆ และ SQL aggregate
domain บังคับ, เป็น expression ของข้อความที่ระบุถึงกลุ่มของเรคคอร์ดที่กำหนดเป็น domain ซึ่งสามารถเป็นชื่อ Table หรือ คิวรี่
criteria ไม่บังคับ, เป็น expression ของข้อความที่ใช้คัดเลือกช่วงของข้อมูลที่จะให้ฟังก์ชัน DMin และ ฟังก์ชัน DMax หาค่า เช่น criteria เทียบได้กับคำสั่ง WHERE clause ใน expression ของ SQL ถ้าไม่กำหนดอากิวเมนต์ criteria ฟังก์ชัน DMin และ ฟังก์ชัน DMax จะหาค่าอากิวเมนต์ expr กับ domain ฟิลด์ที่นำไปใช้ในอากิวเมนต์ criteria ต้องเป็นฟิลด์ที่อยู่ใน domain ถ้าเป็นกรณีอื่นๆ ฟังก์ชัน DMin และ ฟังก์ชัน DMax ส่งค่าเป็นค่าว่าง (Null)

ลักษณะการประยุกต์

ฟังก์ชัน DMin และ ฟังก์ชัน DMax ใช้ในส่งออกค่าต่ำสุดและสูงสุดที่สอดคล้องกับอากิวเมนต์ criteria ถ้าอากิวเมนต์ expr ระบุข้อมูลตัวเลข ฟังก์ชัน DMin และ ฟังก์ชัน DMax จะส่งออกค่าเป็นตัวเลข ถ้าอากิวเมนต์ expr ระบุข้อมูลเป็นข้อความ ฟังก์ชัน DMin และ ฟังก์ชัน DMax จะส่งออกค่าข้อความตามตัวอักษรตัวแรกหรือตัวสุดท้าย

ฟังก์ชัน DMin และ ฟังก์ชัน DMax ไม่พิจารณาค่าว่างในฟิลด์ที่อ้างอิงโดยอากิวเมนต์ expr แต่ถ้าไม่มีเรคคอร์ดที่สอดคล้องกับอากิวเมนต์ criteria หรือ domain ไม่มีเรคคอร์ด ฟังก์ชัน DMin และ ฟังก์ชัน DMax จะส่งค่าว่าง

การใช้ฟังก์ชัน DMin และ ฟังก์ชัน DMax ในมาโคร หรือโมดูล, expression ในคิวรี่หรือตัว control ต้องสร้างอากิวเมนต์ criteria อย่างระมัดระวังเพื่อทำให้มั่นใจว่าการคำนวณถูกต้อง

นอกจากนี้ฟังก์ชัน DMin และ ฟังก์ชัน DMax สามารถใช้เป็น expression ของฟิลด์คำนวณในคิวรี่ หรือแถว Update To ในคิวรี่แบบ Update

หมายเหตุ การใช้ฟังก์ชัน DMin และ ฟังก์ชัน DMax หรือฟังก์ชัน Min และฟังก์ชัน Max ใน expression ของฟิลด์คำนวณในคิวรี่ผลรวม ฟังก์ชัน DMin และ ฟังก์ชัน DMax จะหาค่าก่อนจัดกลุ่มข้อมูล ส่วนฟังก์ชัน Min และฟังก์ชัน Max จะจัดกลุ่มข้อมูลก่อนหาค่า

การใช้ฟังก์ชัน DMin และ ฟังก์ชัน DMax ในตัว control แบบคำนวณ ต้องมีการกำหนด criteria ในการคัดเลือกช่วงของข้อมูลที่จะให้ฟังก์ชัน DMin และ ฟังก์ชัน DMax หาค่า เช่น ถ้าต้องการดูต้นทุนสูงสุดของการส่งสินค้าไปที่ CA ให้ตั้งค่าของคุณสมบัติ ControlSource ใน text box ด้วย expression ดังนี้

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

ส่วนการหาค่าต่ำสุดหรือสูงสุดของเรคคอร์ดทั้งหมดใน domain ให้ใช้ฟังก์ชัน Min และฟังก์ชัน Max จะง่ายกว่า

ฟังก์ชัน DMin และ ฟังก์ชัน DMax สามารถใช้ในโมดูล, มาโคร หรือตัว control แบบคำนวณบนฟอร์ม ถ้าฟิลด์ที่ต้องการดูค่าไม่ได้เป็นแหล่งข้อมูลของฟอร์ม

Tip ถึงแม้ว่าฟังก์ชัน DMin และ ฟังก์ชัน DMax จะใช้ในดูค่าจาก Table ได้ แต่การสร้างคิวรี่ดึงฟิลด์จาก Table ที่มีฟิลด์ที่ต้องการในการแสดงค่า เพื่อเป็นแหล่งของฟอร์ม หรือรายงานจะมีประสิทธิภาพมากกว่า

หมายเหตุ ฟังก์ชัน DMin และ ฟังก์ชัน DMax จะไม่นำเรคคอร์ดที่ยังไม่บันทึกการเปลี่ยนแปลงใน domain มาคำนวณ ถ้าต้องการนำมาคำนวณด้วยให้ทำการบันทึกก่อน

ดูเพิ่มเติม

ฟังก์ชัน Min, ฟังก์ชัน Max (“SQL Language Reference”)

ตัวอย่าง

ตัวอย่างการใช้ฟังก์ชัน DMin และ ฟังก์ชัน DMax เพื่อส่งค่าต่ำสุดและสูงสุดจากฟิลด์ Freight สำหรับการส่งสินค้าตามใบสั่งซื้อที่ส่งไป UK โดย domain คือ Table ชื่อ Orders และอากิวเมนต์ criteria คัดเลือกข้อมูลที่เป็นผลลัพธ์ของกลุ่มเรคคอร์ดที่ ShipCountry = UK

Dim curX As Currency, curY As Currency
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'")
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")

ตัวอย่างต่อมา อากิวเมนต์ criteria อยู่ในค่าปัจจุบันของ text box ชื่อ OrdersDate โดย text box ดึงค่าจากฟิลด์ OrderDate ใน Table ชื่อ Orders หมายเหตุ การอ้างอิงตัว control ไม่อยู่ในเครื่องหมายคำพูด ทั้งนี้เพื่อทำให้มั่นใจว่าเมื่อมีการเรียกฟังก์ชัน DMax ทุกครั้ง Microsoft Access จะนำค่าปัจจุบันมาให้

Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" & Forms!Orders!OrderDate & "#")

ตัวอย่างต่อมา expression ของอากิวเมนต์ criteria ใช้ตัวแปร dteOrderDate หมายเหตุ การใช้เครื่องหมายตัวเลข (#) ในข้อความของ expression เพื่อแสดงค่าข้อความเป็นวันที่

Dim dteOrderDate As Date, curX As Currency
dteOrderDate = #3/30/95#
curX = DMin("[Freight]", "Orders", "[OrderDate] = #" & dteOrderDate & "#")