กระทู้เก่าบอร์ด อ.Yeadram
1,897 4
URL.หัวข้อ /
URL
ข้อมูลแต่ละคนที่มีหลายเรคคอร์ด เอาไปไว้บรรทัดเดียว
ผมคิวรี่ข้อมูลประสบการณ์ของพนักงานแต่ละคนออกมา ซึ่งแต่ละคนก็มีประสบการณ์มากน้อยต่างกันไป ประสบการณ์ 1 อย่างก็ 1 เรคคอร์ ดังนั้นพนักงาน 1 คนก็อาจมีประสบการณ์หลายเรคคอร์ด ทีนี้ผมต้องการคิวรี่ออกมาให้พนักงานแต่ละคน ออกแค่เรคคอร์ดเดี่ยว โดยประสบการณ์นั้นนำมาต่อกันเป็นบรรทัดเดียวกัน เช่น
ชื่อ ประสบการณ์
นาย ก 1
นาย ก 2
นาย ก 3
นาย ข 1
ข้อมูลที่ต้องการ
ชื่อ ประสบการณ์
นาย ก 1/2/3
นาย ข 1
ขอบคุณมากครับ
ชื่อ ประสบการณ์
นาย ก 1
นาย ก 2
นาย ก 3
นาย ข 1
ข้อมูลที่ต้องการ
ชื่อ ประสบการณ์
นาย ก 1/2/3
นาย ข 1
ขอบคุณมากครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R06716
ต้องเขียน Public Function ที่รับค่าเป็นชื่อพนักงาน (ถ้านั่นคือ primary key) เพื่อสร้าง 1/2/3 แล้วในคิวรี่ก็เรียกใช้ฟังก์ชั่นนี้ เช่น
select ฟิลด์ชื่อพนักงาน, ขื่อฟังก์ชั่น(ฟิลด์ชื่อพนักงาน) from table group by ฟิลด์ชื่อพนักงาน
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 ฟิลด์ชื่อพนักงาน
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 ฟิลด์ชื่อพนักงาน
Time: 0.2513s
โดยฟิลด์ ประสบการณ์เป็น Column