ข้อมูลแต่ละคนที่มีหลายเรคคอร์ด เอาไปไว้บรรทัดเดียว
กระทู้เก่าบอร์ด อ.Yeadram

 1,897   4
URL.หัวข้อ / URL
ข้อมูลแต่ละคนที่มีหลายเรคคอร์ด เอาไปไว้บรรทัดเดียว

ผมคิวรี่ข้อมูลประสบการณ์ของพนักงานแต่ละคนออกมา ซึ่งแต่ละคนก็มีประสบการณ์มากน้อยต่างกันไป ประสบการณ์ 1 อย่างก็ 1 เรคคอร์ ดังนั้นพนักงาน 1 คนก็อาจมีประสบการณ์หลายเรคคอร์ด ทีนี้ผมต้องการคิวรี่ออกมาให้พนักงานแต่ละคน ออกแค่เรคคอร์ดเดี่ยว โดยประสบการณ์นั้นนำมาต่อกันเป็นบรรทัดเดียวกัน เช่น
ชื่อ           ประสบการณ์
นาย ก              1
นาย ก              2
นาย ก              3
นาย ข              1
ข้อมูลที่ต้องการ
ชื่อ            ประสบการณ์
นาย ก           1/2/3
นาย ข           1
ขอบคุณมากครับ

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

1 @R06713
ใช้ Coss Tab Query
โดยฟิลด์ ประสบการณ์เป็น Column
2 @R06716
ต้องเขียน Public Function ที่รับค่าเป็นชื่อพนักงาน (ถ้านั่นคือ primary key) เพื่อสร้าง 1/2/3 แล้วในคิวรี่ก็เรียกใช้ฟังก์ชั่นนี้ เช่น

select ฟิลด์ชื่อพนักงาน, ขื่อฟังก์ชั่น(ฟิลด์ชื่อพนักงาน) from table group by ฟิลด์ชื่อพนักงาน
3 @R06717
Public Function เขียนยังไง และขื่อฟังก์ชั่น ใช้ตัวไหนครับ รบกวนด้วยครับ
4 @R06719
Public Function fnGetExpr(txtUserName as String) as String
Dim DB as DAO.Database
Dim RS as DAO.Recordset
Dim SQL as String

SQL = "select ฟิลด์ประสบการณ์ from เทเบิล where ฟิลด์ชื่อพนักงาน = """ & txtUserName & """ order by ฟิลด์ประสบการณ์"

Set DB = CurrentDB
Set RS = DB.OpenRecordset(SQL)
Do Until RS.EOF
    if fnGetExpr = "" then
        fnGetExpr = RS!ฟิลด์ประสบการณ์
    else
        fnGetExpr = fnGetExpr & "/" & RS!ฟิลด์ประสบการณ์
    end if
    RS.MoveNext
Loop
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
Exit Function

ในคิวรี่ก็จะมี SQL Select Statement เป็นดังนี้
select ฟิลด์ชื่อพนักงาน, fnGetExpr(ฟิลด์ชื่อพนักงาน) fromเทเบิล group by ฟิลด์ชื่อพนักงาน
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2513s