count รายชื่อคนถ้าซ้ำไม่นับใช้ Function อะไร อย่างไรครับ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 347   3
URL.หัวข้อ / URL
count รายชื่อคนถ้าซ้ำไม่นับใช้ Function อะไร อย่างไรครับ

ต้องการออก Report จำนวนคนโดย Count ตาม ID ถ้า ID ซ้ำไม่นับใช้ Function อะไร อย่างไรครับขอบคุณมากครับ

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R04162
ลองใช้ฟังก์ชันนี้ดูครับ

Function MyCount(strTable As String, strField As String) As Long
Dim dbs As Object, strSQL As String, rst As Object
strSQL = "SELECT [" & strField & "] FROM [" & strTable & "] GROUP BY [" & strField & "]"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strSQL)
MyCount = rst.RecordCount
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
End Function

ถ้ามี northwind.mdb ก็ลองใส่แบบนี้ดู

? MyCount("Order Details","OrderID")
830

ปล. ตัวแปรแรกคือ ชื่อตาราง ตัวแปรที่ 2 คือชื่อฟีลด์ที่ซ้ำกันที่ต้องการนับครับ
2 @R05545
ถ้าผมจะให้หาข้อมูลจากคิวรี่ต้องเปลี่ยนอย่างไรครับ เพราะผมลองจากโค๊ดดังกล่าวแล้วเกิด Run-time error '3061':
Too few parameters. Expected 1 ที่
Set rst=dbs.OpenRecordset (strSQL)
ขอบคุณมากครับสำหรับคำตอบดีๆ
3 @R05548
1.สาเหตุที่เกิด Run-time error เพราะคุณไม่ที่การเพิ่ม References ของ Recordset เข้าไป
2. ถ้าใช้ Qry คุณจะต้อง Group ก่อน แล้วค่อยนับจำนวน Rec.
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0567s