Online Reference |
Microsoft Reference |
|
|
DCount Functionใช้ในการนับจำนวนเรคคอร์ดที่อยู่ในกลุ่มเรคคอร์ด (Domain) ที่ระบุ ซึ่งสามารถนำไปใช้ในชุดคำสั่ง Visual Basic, มาโคร, expression ในคิวรี่ หรือตัว control แบบคำนวณ ตัวอย่างเช่น สามารถใช้ฟังก์ชัน DCount ในโมดูลเพื่อส่งค่าของจำนวนเรคคอร์ดใน Table ชื่อ Orders ที่ตรงกับสถานที่ในการสั่งซื้อของวันที่ระบุ ไวยากรณ์
อากิวเมนต์ของฟังก์ชัน DCount มีรายละเอียด คือ
ลักษณะการประยุกต์การใช้ฟังก์ชัน DCount ในการนับจำนวนเรคคอร์ดใน domain โดยไม่ต้องการจำนวนค่าเฉพาะ ถึงแม้ว่า อากิวเมนต์ expr จะสามารถหาค่าของฟิลด์ แต่ฟังก์ชัน DCount จะหาค่าจำนวนของเรคคอร์ด จึงไม่มีค่าของการคำนวณจากการหาค่าด้วย expr การใช้ฟังก์ชัน DCount ในมาโคร หรือโมดูล, expression ในคิวรี่หรือตัว control ต้องสร้างอากิวเมนต์ criteria อย่างระมัดระวังเพื่อทำให้มั่นใจว่าการคำนวณถูกต้อง การใช้ฟังก์ชัน DCount ในตัว control แบบคำนวณ ต้องมีการกำหนด criteria ในการคัดเลือกช่วงของข้อมูลที่จะให้ฟังก์ชัน DCount หาค่า เช่น ถ้าต้องการดูจำนวนการส่งสินค้าตามใบสั่งซื้อที่ส่งไป CA ให้ตั้งค่าของคุณสมบัติ ControlSource ใน text box ด้วย expression ดังนี้ =DCount("[Freight]", "Orders", "[ShipRegion] = 'CA'") ส่วนการหาจำนวนเรคคอร์ดทั้งหมดใน domain โดยมีการคัดเลือกข้อมูลให้ใช้ฟังก์ชัน Count จะง่ายกว่า Tip ฟังก์ชัน Count มีความเร็วในการนับเรคคอร์ดเมื่อใช้ในคิวรี่ ดังนั้นควรใช้ฟังก์ชัน Count ใน expression ของคิวรี่แทนที่ฟังก์ชัน DCount และใช้ฟังก์ชัน DCount ในการนับเรคคอร์ดของ domain ภายในโมดูล, มาโคร หรือตัว control แบบคำนวณ ฟังก์ชัน DCount สามารถนับจำนวนเรคคอร์ดของฟิลด์ที่ไม่ได้เป็นแหล่งข้อมูลของฟอร์มหรือรายงาน เช่น ต้องการดูจำนวนใบสั่งซื้อใน Table ชื่อ Orders บนตัว control แบบคำนวณบนฟอร์มที่ใช้ Table ชื่อ Product ฟังก์ชัน DCount ไม่นับเรคคอร์ดของฟิลด์ที่เป็นค่าว่าง (Null) ซึ่งอากิวเมนต์ expr อ้างอิง แต่ถ้าการอ้างอิงของอากิวเมนต์ expr เป็นเครื่องหมายดอกจัน (*) ฟังก์ชัน DCount สามารถนับเรคคอร์ดได้ทั้งหมดรวมถึงฟิลด์ที่เป็นค่าว่าง ตัวอย่าง expression ในการคำนวณจำนวนเรคคอร์ดของ Table ชื่อ Orders intX = DCount("*", "Orders") ถ้า domain เป็น Table ที่มี primary key การนับเรคคอร์ดทั้งหมดสามารถตั้งค่าอากิวเมนต์ expr ด้วยฟิลด์ที่เป็น primary key เพราะ primary key ไม่สามารถเป็นค่าว่าง ถ้า อากิวเมนต์ expr ระบุแบบหลายฟิลด์ ให้ใช้เครื่องหมายในการแบ่งฟิลด์ คือ เครื่องหมาย (&) และเครื่องหมายบวก (+) ถ้าใช้เครื่องหมาย (&) ฟังก์ชัน DCount จะนับเรคคอร์ดที่มีข้อมูลในฟิลด์ใดฟิลด์หนึ่งของรายการ ถ้าใช้เครื่องหมายบวก (+) ฟังก์ชัน DCount จะนับเรคคอร์ดที่มีข้อมูลในฟิลด์ทุกฟิลด์ของรายการ ตัวอย่างต่อไปเป็นการแสดงผลของการใช้เครื่องหมายแบ่งฟิลด์ในการนับข้อมูลจากฟิลด์ ShipName และ ShipRegion intX = DCount("*", "Orders") หมายเหตุ เครื่องหมายแบ่งฟิลด์เหมาะสมที่จะใช้กับข้อความ ส่วนเครื่องหมายบวกให้ใช้ในการบวกตัวเลข และหลีกเลี่ยงการทำงานลักษณะอื่นๆ เพราะในบางกรณีอาจจะเกิดผลลัพธ์เป็นค่าว่างจาก expr ดูเพิ่มเติมฟังก์ชัน Count (SQL Language Reference), ฟังก์ชัน DAvg, ฟังก์ชัน DSum ตัวอย่างตัวอย่างการใช้ฟังก์ชัน DCount ในการนับจำนวนการส่งสินค้าตามใบสั่งซื้อไป UK หลังจากวันที่ 1 มกราคม 1995 โดย domian คือ Table ชื่อ Orders อากิวเมนต์ criteria คัดเลือกเรคคอร์ดเฉพาะที่ฟิลด์ ShipCountry = UK และ ShippedDate มากกว่า 1-1-95 intX = DCount("[ShippedDate]", "Orders", "[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#") ตัวอย่างต่อมา กำหนดอากิวเมนต์ criteria ใช้ค่าปัจจุบันจาก combox ชื่อ ShipCountry โดยค่าของ combox ชื่อ ShipCountry มาจากฟิลด์ ShipCountry ของ Table ชื่อ Orders หมายเหตุ การอ้างอิงตัว control ไม่อยู่ในเครื่องหมายคำพูด ทั้งนี้เพื่อทำให้มั่นใจว่าเมื่อมีการเรียกฟังก์ชัน DCount ทุกครั้ง Microsoft Access จะนำค่าปัจจุบันมาให้ intX = DCount("[ShippedDate]", "Orders", "[ShipCountry] = '" & Forms!Orders![ShipCountry] & "'AND [ShippedDate] > #1-1-95#")
|
||||||||||||