รวมข้อมูลหลาย row ใน 1 Record ในคิวรี่



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

12 ม.ค. 64 , 00:10:52
อ่าน 523 ครั้ง

Peak21

  • สมาชิกไท.Access
  • กระทู้: 4

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

อยากทราบวิธีรวมข้อมูลหลาย row ใน 1 Record ในคิวรี่ตามรูปภาพนี้ครับ ขอบคุณครับ

 

12 ม.ค. 64 , 08:42:17
ตอบกลับ #1

PNR

: รวมข้อมูลหลาย row ใน 1 Record ในคิวรี่
« ตอบกลับ #1 เมื่อ: 12 ม.ค. 64 , 08:42:17 »
ในคิวรี่ คงต้องเขียนฟังชั่นนะครับ แล้วมาเรียกใช้ในคิวรี่แต่ผมไม่เคยลอง รออาจารย์ท่านอื่นๆ


แต่ถ้าการสร้างข้องมูลไปวางในตาราง อีกอันนั้นผมใช้แบบนี้ครับ
ตารางหลักชื่อ MyTable
มีฟิลล์ ID,ITEM (ตามตัวอย่าง)
--------------------------------------------------
มีตารางแสดงผลชื่อ TblResult
มีฟิลล์ ID,ITEM (ตามตัวอย่าง)
โค้ด

โค๊ด: [Select]
Private Sub concatenateString()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim rstOut As DAO.Recordset
Dim strID As String
Dim strITEM As String
Set db = CurrentDb()
Set rst = db.OpenRecordset("SELECT Mytable.ID, Mytable.ITEM FROM Mytable GROUP BY Mytable.ID, Mytable.ITEM ORDER BY Mytable.ID, Mytable.ITEM DESC;", dbOpenDynaset)

If Not rst.BOF And Not rst.EOF Then
  rst.MoveFirst
  strID = rst!ID
  strITEM = rst!Item
 
  rst.MoveNext
   
  Do Until rst.EOF
    If strID = rst!ID Then
      strITEM = strITEM & ", " & rst!Item
    Else
    Set db = CurrentDb()
    Set rstOut = db.OpenRecordset("tblResult", dbOpenDynaset)
    rstOut.AddNew
    rstOut!ID = strID
    rstOut!Item = strITEM
    rstOut.Update
       
      strID = rst!ID
      strITEM = rst!Item
        rstOut.Close
        db.Close
    End If
    rst.MoveNext
  Loop
    Set db = CurrentDb()
    Set rstOut = db.OpenRecordset("tblResult", dbOpenDynaset)
    rstOut.AddNew
    rstOut!ID = strID
    rstOut!Item = strITEM
    rstOut.Update
      strID = rstOut!ID
      strITEM = rstOut!Item
    rstOut.Close
    db.Close
End If
Set rst = Nothing
Set db = Nothing
Set rstOut = Nothing
End Sub
ที่ปุ่มใส่โค้ดเพื่อเรียกใช้งาน

โค๊ด: [Select]
Private Sub Command0_Click()
concatenateString
End Sub

« แก้ไขครั้งสุดท้าย: 12 ม.ค. 64 , 10:04:04 โดย PNR »
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: sjs, Peak21, aoffeeprince

12 ม.ค. 64 , 21:47:49
ตอบกลับ #2

Peak21

  • สมาชิกไท.Access
  • กระทู้: 4

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: รวมข้อมูลหลาย row ใน 1 Record ในคิวรี่
« ตอบกลับ #2 เมื่อ: 12 ม.ค. 64 , 21:47:49 »
ขอบคุณมากๆนะครับ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย