กระทู้เก่าบอร์ด อ.Yeadram
3,428 7
URL.หัวข้อ /
URL
Code DCount นับค่าซ้ำ
ที่คิวรี่ชื่อQ1 มีฟิลด์ชื่อA1,A2,A3 มีข้อมูลดังนี้
A1 A2 A3
101 B
101 B
102 C
103 C
104 C
ถ้าหนูเขียนคำสั่งดังนี้ DCount("[A1]","[Q1]") บนรายงาน
จะได้ค่า 5
คำตอบที่ต้องการคือ 4 (หมายถึง 101 มันซ้ำจะต้องนับเพียง 1 เท่านั้น)
คำถาม จะต้องเขียน Code อย่างไรคะ
ขอบคุณค่ะ
A1 A2 A3
101 B
101 B
102 C
103 C
104 C
ถ้าหนูเขียนคำสั่งดังนี้ DCount("[A1]","[Q1]") บนรายงาน
จะได้ค่า 5
คำตอบที่ต้องการคือ 4 (หมายถึง 101 มันซ้ำจะต้องนับเพียง 1 เท่านั้น)
คำถาม จะต้องเขียน Code อย่างไรคะ
ขอบคุณค่ะ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R18265
ทำGroup query Q1 ที่ Field A1 ไม่ได้เพระข้อมูลที่ A2 และ A3 จะหายค่ะ
ก่อนทำGroup query Q1 ที่ Field A1ข้อมูลเป็นดังนี้
A1 A2 A3
101 B
101 D B
102 C
103 C
104 C
หลังทำGroup query Q1 ที่ Field A1 ข้อมูลเป็นดังนี้
A1 A2 A3
101 B B
102 C
103 C
104 C
ข้อมูล D ที่ A2 จะหายไป
ซึ่งไม่ตรงกับสิ่งที่ต้องการ เพราะข้อมูลที่ A2,A3 จะนำไปใช้อีกค่ะ
สิ่งที่ต้องการคือไม่ต้องปรับแต่ง Q1 อีกแล้ว
แต่ให้เขียน Code ดึงข้อมูลใน Q1 มาประมวลผล
หนูควรเขียน Code อย่างไร ให้ได้ผลตามกระทู้ที่ตั้งค่ะ
ขอบคุณค่ะ
ก่อนทำGroup query Q1 ที่ Field A1ข้อมูลเป็นดังนี้
A1 A2 A3
101 B
101 D B
102 C
103 C
104 C
หลังทำGroup query Q1 ที่ Field A1 ข้อมูลเป็นดังนี้
A1 A2 A3
101 B B
102 C
103 C
104 C
ข้อมูล D ที่ A2 จะหายไป
ซึ่งไม่ตรงกับสิ่งที่ต้องการ เพราะข้อมูลที่ A2,A3 จะนำไปใช้อีกค่ะ
สิ่งที่ต้องการคือไม่ต้องปรับแต่ง Q1 อีกแล้ว
แต่ให้เขียน Code ดึงข้อมูลใน Q1 มาประมวลผล
หนูควรเขียน Code อย่างไร ให้ได้ผลตามกระทู้ที่ตั้งค่ะ
ขอบคุณค่ะ
3 @R18266
ก็สร้างอีกคิวรี่เพื่อcountอย่างเดียวก็ได้
4 @R18267
หนูก็สร้างอีกคิวรี่เพื่อcountอย่างเดียวอยู่แล้วค่ะ
แต่อยากทราบทางเลือกอื่นที่สามารถเขียน Code ได้ใหมคะ(ในกรณีที่สร้างคิวรี่เดียว)
ขอบคุณทุกคำแนะนำค่ะ
แต่อยากทราบทางเลือกอื่นที่สามารถเขียน Code ได้ใหมคะ(ในกรณีที่สร้างคิวรี่เดียว)
ขอบคุณทุกคำแนะนำค่ะ
5 @R18268
ลองเข้า SQL View ใน Query แล้วเพิ่มคำสั่ง SELECT DISTINCT ดูได้ไหมครับ
เช่น
SELECT DISTINCT
LastName
FROM Employees;
แล้วค่อยมา Dcount อีกทีหนึ่ง
เช่น
SELECT DISTINCT
LastName
FROM Employees;
แล้วค่อยมา Dcount อีกทีหนึ่ง
6 @R18269
อื่ม! จะตัวอย่างของคุณ
- จากคำแนะนำของคุณ Tide และ คุณ iBasskung โดยให้ใช้ลักษณะของการแสดงข้อมูลซ้ำเพียงเรคคอร์ดเดียวไม่ว่าจะเป็นการทำ Group by หรือ Distinct
- จากคำแนะนำของคุณ . ให้ทำคิวรี่อีกตัว
ผมขอสรุปคำแนะนำให้ทุกท่านให้น่าจะได้ประมาณนี้นะครับคุณ น้ำค้าง
ลองสร้างคิวรี่ Q1 ใหม่ดังนี้ สมมุติชื่อตาราง Table1
SELECT A1, A2, A3, (SELECT Count(*) FROM (SELECT DISTINCT A1 FROM Table1)) AS [Count]
FROM Table1;
คุณจะได้คิวรี่ที่มีฟิลด์ชื่อ Count โดยจะได้การนับจำนวนแบบที่ต้องการไปใช้ใน รายงาน โดยการใช้ซับคิวรี่ และการใช้คำสั่ง Distinct
ปรับใช้ดูครับ
- จากคำแนะนำของคุณ Tide และ คุณ iBasskung โดยให้ใช้ลักษณะของการแสดงข้อมูลซ้ำเพียงเรคคอร์ดเดียวไม่ว่าจะเป็นการทำ Group by หรือ Distinct
- จากคำแนะนำของคุณ . ให้ทำคิวรี่อีกตัว
ผมขอสรุปคำแนะนำให้ทุกท่านให้น่าจะได้ประมาณนี้นะครับคุณ น้ำค้าง
ลองสร้างคิวรี่ Q1 ใหม่ดังนี้ สมมุติชื่อตาราง Table1
SELECT A1, A2, A3, (SELECT Count(*) FROM (SELECT DISTINCT A1 FROM Table1)) AS [Count]
FROM Table1;
คุณจะได้คิวรี่ที่มีฟิลด์ชื่อ Count โดยจะได้การนับจำนวนแบบที่ต้องการไปใช้ใน รายงาน โดยการใช้ซับคิวรี่ และการใช้คำสั่ง Distinct
ปรับใช้ดูครับ
7 @R18273
จากคำตอบของ อ.TTT หนูเอาไปลองใช้แล้ว
ผลออกมาได้ตามที่ต้องการตามโจทย์ในกระทู้นี้เลยค่ะ
เป็นกรณีศึกษา ทางเลือกได้อีกทางหนึ่งของการเขียน Code
ขอบคุณทุกคำแนะนำค่ะ
ผลออกมาได้ตามที่ต้องการตามโจทย์ในกระทู้นี้เลยค่ะ
เป็นกรณีศึกษา ทางเลือกได้อีกทางหนึ่งของการเขียน Code
ขอบคุณทุกคำแนะนำค่ะ
Time: 0.3157s
จะทำให้ Field A1 แสดงผลโดยไม่มีค่าซ้ำครับ