กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
320 3
URL.หัวข้อ /
URL
qryAuthor
เรียนอาจารย์สุภาพและท่านผู้รู้ทุกท่านครับ
*************
คือผมสร้าง พารามิเตอร์คิวรี่ เพื่อต้องการค้นหาชื่อผู้แต่งหนังสือ ซึ่งมี SQL ดังนี้ครับ
SELECT tblPrint.Author
FROM tblPrint
WHERE (((tblPrint.Author) Like [กรอกชื่อที่ต้องการค้น] & "*"));
**************
คือผมต้องการเพิ่มฟิวด์อีก 2 ฟิลด์ในคิวรี่ ประกอบด้วย
1.ลำดับที่อัตโนมัติ เรียงลำดับ 1 2 3 ........ เท่าที่ปรากฏรายชื่อ
2.ผลรวมของ ชื่อเรื่องที่ผู้แต่งชื่อเดียวกันแต่ง เช่น อดิษร เพียงเกษ แต่ง 5 เรื่อง ก็ให้ ฟิลด์นี้ ปรากฏ เลข 5 และให้แสดง แค่แถวเดียว สำหรับชื่อที่ซ้ำกัน
ผมต้องออกแบบตารางเพิ่มเติมหรือเปล่าครับ ช่วยแนะนำด้วยครับ
ขอบคุณครับ
*************
คือผมสร้าง พารามิเตอร์คิวรี่ เพื่อต้องการค้นหาชื่อผู้แต่งหนังสือ ซึ่งมี SQL ดังนี้ครับ
SELECT tblPrint.Author
FROM tblPrint
WHERE (((tblPrint.Author) Like [กรอกชื่อที่ต้องการค้น] & "*"));
**************
คือผมต้องการเพิ่มฟิวด์อีก 2 ฟิลด์ในคิวรี่ ประกอบด้วย
1.ลำดับที่อัตโนมัติ เรียงลำดับ 1 2 3 ........ เท่าที่ปรากฏรายชื่อ
2.ผลรวมของ ชื่อเรื่องที่ผู้แต่งชื่อเดียวกันแต่ง เช่น อดิษร เพียงเกษ แต่ง 5 เรื่อง ก็ให้ ฟิลด์นี้ ปรากฏ เลข 5 และให้แสดง แค่แถวเดียว สำหรับชื่อที่ซ้ำกัน
ผมต้องออกแบบตารางเพิ่มเติมหรือเปล่าครับ ช่วยแนะนำด้วยครับ
ขอบคุณครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R06130
ขอบคุณครับอาจารย์สุภาพ
ผมจะศึกษาดูตามคำแนะนำครับ
ผมจะศึกษาดูตามคำแนะนำครับ
3 @R06132
จากที่อาจารย์แนะนำครับ
ผมได้ลองศึกษาดูและผมรู้สึกว่าผลที่ได้ ยังไม่สมใจอยาก
คือฟิลด์ที่ผมใช้อ้างถึง เป็นข้อมูลแบบ text ซึ่งผมไม่สามารถทำให้แสดงผลได้ ผมก็เลยเปลี่ยนมาเป็นแบบ Number สามารถทำได้ระดับหนึ่งครับ
****
ผมไม่แน่ใจว่าที่ผมต้องการมันมีวิธีที่จะทำได้หรือเปล่า ก็เลยอยากรบกวนอาจารย์สุภาพแนะนำอีกครั้งในกระทู้นี้ครับ
(โค้ดมันอาจจะขัดๆกันเพราะผมไม่ค่อยจะรู้เรื่องก็เดาไปก่อนครับ)
** ตัวนี้ไม่ได้กดปุ่ม ซิกม่า ครับ ใช้ได้ครับ แต่
1. ฟิลด์ที่สร้างขึ้นใหม่จะไม่เรียงตามลำดับจริงของคิวรี่ จะเรียงตามลำดับจริงในตาราง เช่น เรียง
1
3
9
แทนที่จะเรียงเป็นลำดับ
1
2
3
2.Year ไม่แสดงข้อมูลครับ
SELECT (Select Count(*) From [tblPrint] as Temp Where [Temp].[InfID] < [tblPrint].[InfID]+1) AS No, tblPrint.Author, tblPrint.Author, tblPrint.Year
FROM tblPrint
WHERE (((tblPrint.Author) Like [Forms]![frmAllAuthorSearch]![txtAuSearch] & "*"));
**
ตัวนี้ใช้ไม่ได้เลยครับ กดปุ่ม ซิกม่าด้วย
SELECT (Select Count(*) From [tblPrint] as Temp Where [Temp].[InfID] < [tblPrint].[InfID]+1) AS No, tblPrint.Author, tblPrint.Author, tblPrint.Year
FROM tblPrint
GROUP BY (Select Count(*) From [tblPrint] as Temp Where [Temp].[InfID] < [tblPrint].[InfID]+1), tblPrint.Author, tblPrint.Author, tblPrint.Year
HAVING (((tblPrint.Author) Like [Forms]![frmAllAuthorSearch]![txtAuSearch] & "*"));
***********************
ขอบคุณครับ
ผมได้ลองศึกษาดูและผมรู้สึกว่าผลที่ได้ ยังไม่สมใจอยาก
คือฟิลด์ที่ผมใช้อ้างถึง เป็นข้อมูลแบบ text ซึ่งผมไม่สามารถทำให้แสดงผลได้ ผมก็เลยเปลี่ยนมาเป็นแบบ Number สามารถทำได้ระดับหนึ่งครับ
****
ผมไม่แน่ใจว่าที่ผมต้องการมันมีวิธีที่จะทำได้หรือเปล่า ก็เลยอยากรบกวนอาจารย์สุภาพแนะนำอีกครั้งในกระทู้นี้ครับ
(โค้ดมันอาจจะขัดๆกันเพราะผมไม่ค่อยจะรู้เรื่องก็เดาไปก่อนครับ)
** ตัวนี้ไม่ได้กดปุ่ม ซิกม่า ครับ ใช้ได้ครับ แต่
1. ฟิลด์ที่สร้างขึ้นใหม่จะไม่เรียงตามลำดับจริงของคิวรี่ จะเรียงตามลำดับจริงในตาราง เช่น เรียง
1
3
9
แทนที่จะเรียงเป็นลำดับ
1
2
3
2.Year ไม่แสดงข้อมูลครับ
SELECT (Select Count(*) From [tblPrint] as Temp Where [Temp].[InfID] < [tblPrint].[InfID]+1) AS No, tblPrint.Author, tblPrint.Author, tblPrint.Year
FROM tblPrint
WHERE (((tblPrint.Author) Like [Forms]![frmAllAuthorSearch]![txtAuSearch] & "*"));
**
ตัวนี้ใช้ไม่ได้เลยครับ กดปุ่ม ซิกม่าด้วย
SELECT (Select Count(*) From [tblPrint] as Temp Where [Temp].[InfID] < [tblPrint].[InfID]+1) AS No, tblPrint.Author, tblPrint.Author, tblPrint.Year
FROM tblPrint
GROUP BY (Select Count(*) From [tblPrint] as Temp Where [Temp].[InfID] < [tblPrint].[InfID]+1), tblPrint.Author, tblPrint.Author, tblPrint.Year
HAVING (((tblPrint.Author) Like [Forms]![frmAllAuthorSearch]![txtAuSearch] & "*"));
***********************
ขอบคุณครับ
Time: 0.1030s
มีตัวอย่างให้ศึกษา โดยค้นด้วยคำว่า RunningNumber ดูครับ
แต่จะทำได้โดยไม่มีเงื่อนไขใดๆ ถ้าทำใน Report โดยกำหนดให้มีการ Sum Over Group ใน Control ที่สร้างขึ้นเอง แล้วกำหนด Control Source ให้เป็น 1
ลองค้นด้วยคำว่า Sum Over Group ดูครับ
สำหรับข้อ 2 ให้คลิกที่ปุ่ม Totals (Sigma) บน Toolbar เมื่ออยู่ใน Query Design view แล้วสั่งให้ Group By ตรงฟีลด์ Author แล้ว ลากฟีลด์ Author ลงมาอีก 1 ครั้ง แล้วสั่งให้ Count ตรง Total