ฟังก์ชัน DMin และ DMax

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

คุณสามารถใช้ฟังก์ชัน DMin และ DMax เพื่อกําหนดค่าต่ําสุดและค่าสูงสุดในชุดระเบียนที่ระบุ (โดเมน) ใช้ฟังก์ชัน DMin และ DMax ในโมดูล Visual Basic for Applications (VBA) แมโคร นิพจน์คิวรี หรือตัวควบคุมจากการคํานวณ

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

ไวยากรณ์

DMin(expr, domain [, criteria] )

DMax(expr, domain [, criteria] )

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

อาร์กิวเมนต์ คำอธิบาย
expr จำเป็น นิพจน์ที่ระบุเขตข้อมูลที่คุณต้องการค้นหาค่าน้อยที่สุดหรือมากที่สุด ซึ่งสามารถเป็นนิพจน์สตริงที่ระบุเขตข้อมูลในตารางหรือคิวรี หรืออาจเป็นนิพจน์ที่ทําการคํานวณข้อมูลในเขตข้อมูลนั้น ใน นิพจน์ คุณสามารถใส่ชื่อของเขตข้อมูลในตาราง ตัวควบคุมบนฟอร์ม ค่าคงที่ หรือฟังก์ชันได้ ถ้า นิพจน์มี ฟังก์ชันอยู่ อาจเป็นได้ทั้งฟังก์ชันที่มีอยู่แล้วภายในหรือที่กําหนดโดยผู้ใช้ แต่ไม่ใช่การรวมโดเมนหรือฟังก์ชันการรวม SQL อื่น
โดเมน จำเป็น นิพจน์สตริงที่ระบุชุดระเบียนที่ประกอบขึ้นเป็นโดเมน ซึ่งสามารถเป็นชื่อตารางหรือชื่อคิวรีสําหรับคิวรีที่ไม่จําเป็นต้องใช้พารามิเตอร์
เกณฑ์ ไม่จำเป็น นิพจน์สตริงที่ใช้เพื่อจํากัดช่วงข้อมูลที่ฟังก์ชัน DMin หรือ DMax ถูกดําเนินการ ตัวอย่างเช่น เกณฑ์ มักจะเทียบเท่ากับส่วนคําสั่ง WHERE ในนิพจน์ SQL โดยไม่มีคําว่า WHERE ถ้าไม่ใส่ เกณฑ์ ฟังก์ชัน DMin และ DMax จะประเมิน expr กับโดเมนทั้งหมด เขตข้อมูลใดๆ ที่รวมอยู่ใน เกณฑ์ จะต้องเป็นเขตข้อมูลใน โดเมน มิฉะนั้นฟังก์ชัน DMin และ DMax จะส่งกลับค่า Null

ข้อสังเกต

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

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

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

คุณสามารถใช้ฟังก์ชัน DMin และ DMax เพื่อระบุเกณฑ์ในแถวเกณฑ์ของคิวรี ในนิพจน์เขตข้อมูลจากการคํานวณในคิวรี หรือในแถวอัปเดตเป็นของคิวรีแบบใช้อัปเดตข้อมูล

หมายเหตุ

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

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

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

ถ้าคุณเพียงต้องการค้นหาค่าต่ําสุดหรือสูงสุดของระเบียนทั้งหมดในโดเมน ให้ใช้ฟังก์ชัน Min หรือ Max

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

เคล็ดลับ

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

หมายเหตุ

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

ตัวอย่าง

หมายเหตุ

ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา

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


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

ในตัวอย่างถัดไป อาร์กิวเมนต์ เกณฑ์ จะรวมค่าปัจจุบันของกล่องข้อความที่เรียกว่า วันที่สั่งซื้อ กล่องข้อความจะถูกผูกไว้กับเขตข้อมูล OrderDate ในตารางการสั่งซื้อ โปรดทราบว่าการอ้างอิงไปยังตัวควบคุมจะไม่รวมอยู่ในเครื่องหมายอัญประกาศคู่ (") ที่ใช้แสดงสตริง ซึ่งทําให้แน่ใจว่าทุกครั้งที่ฟังก์ชัน DMax ถูกเรียกใช้ Access จะได้รับค่าปัจจุบันจากตัวควบคุม


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

ในตัวอย่างถัดไป นิพจน์เกณฑ์จะมีตัวแปร dteOrderDate โปรดทราบว่าเครื่องหมายตัวเลข (#) จะรวมอยู่ในนิพจน์สตริง ดังนั้น เมื่อสตริงถูกต่อกัน เครื่องหมายจะล้อมรอบวันที่


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