Online Reference

Home

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

DSum Function

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

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

ไวยากรณ์

DSum(expr, domain [,criteria] )

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

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

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

ถ้าไม่มีเรคคอร์ดที่สอดคล้องกับอากิวเมนต์ criteria หรือ domain ไม่มีเรคคอร์ด ฟังก์ชัน DSum จะส่งค่าว่าง

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

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

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

ฟังก์ชัน DSum สามารถใช้แสดงผลรวมของกลุ่มของค่าจากฟิลด์ที่ไม่ได้เป็นแหล่งข้อมูลของฟอร์ม หรือรายงาน เช่น ต้องการดูสารสนเทศของสินค้าที่เจาะจง สามารถใช้ฟังก์ชัน DSum ในการรักษาค่าผลรวมสะสมการขายของสินค้าในตัว control แบบคำนวณ

Tip การรักษาค่าผลรวมสะสมของตัว control ในรายงาน สามารถใช้คุณสมบัติ RunningSum ของตัว control ถ้าฟิลด์นั้นอยู่ในแหล่งข้อมูลของรายงาน และใช้ฟังก์ชัน DSum รักษาค่าผลรวมสะสมบนฟอร์ม

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

ดูเพิ่มเติม

ฟังก์ชัน DCount, คุณสมบัติ RunningSum, ฟังก์ชัน Sum (“SQL Language Reference”)

ตัวอย่าง

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

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

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

Dim curX As Currency
curX = DSum("[Freight]", "Orders", "[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#")

สามารถใช้ฟังก์ชัน Domain ในแถว Update To ในคิวรี่แบบ Update เช่น ต้องการติดตามยอดขายปัจจุบันตามสินค้าใน Table ชื่อ Product ซึ่งสามารถเพิ่มฟิลด์ใหม่ชื่อ SalesSoFar ใน Table ชื่อ Product และเรียกใช้คิวรี่แบบ Update เพื่อคำนวณค่าที่ถูกต้องและปรับปรุงข้อมูล ให้สร้างคิวรี่ใหม่ด้วย Table ชื่อ Product และคลิก Update บนเมนูคำสั่ง Query เพื่อเพิ่มฟิลด์ SalesSoFar ในตารางออกแบบคิวรี่ และป้อน expression ในแถว Update To

DSum("[Quantity]*[UnitPrice]", "Order Details", "[ProductID] = [ProductID])

เมื่อเรียกใช้คิวรี่ Microsoft Access จะคำนวณผลรวมของการขายสำหรับแต่ละสินค้า ตามสารสนเทศจาก Table ชื่อ Detail table ผลรวมของการขายสำหรับแต่ละสินค้าจะเพิ่มเข้าไปที่ Table ชื่อ Product