สอบถามเรื่องการเลือกข้อมูลจาก List box มาต่อกันครับ


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

18 มี.ค. 65 , 11:28:31
อ่าน 386 ครั้ง

arampong

เรียนอาจารย์ทุกท่านและผู้รู้ครับทุกคนครับ

          ขอสอบถามเรื่องการเลือกข้อมูลจาก ListBox แล้ว นำรายการที่เลือกมาต่อกันครับ
คือ ผมมี Listbox ที่มีรายการ ID และ Email 2 คอลัมน์  ต้องการการเขียน Code
เมื่อคลิกเลือกข้อมูลใน Listbox ลงใน Tx01  หากเลือกมากกว่า 1 รายการก็ให้เอา Email มาต่อกัน
เช่น A@hotmail.com;B@hotmail.com;C@hotmail.com
ตรงคำสั่ง SQL จะเขียนแบบไหนครับ
ผมทดลองทำตามตัวอย่างอาจารย์สันติสุข แต่ติดตรงจะเอามาต่อข้อความกันยังไงครับ รบกวนแนะนำด้วยครับ
คือผมจะทำการเลือก Email เพื่อส่งหลายๆคนครับ

Private Sub ListBox_Click()
Dim dbs As Object, rst As Object
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Select * From TB_Email Where ID =" & Me.Listbox)
If Not rst.EOF Then
Me.TX01 = rst("Email")

Else
MsgBox "ไม่พบข้อมูล", vbOKOnly, "No data"
End If
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
End Sub


ขอบคุณครับ

 

18 มี.ค. 65 , 14:00:06
ตอบกลับ #1

arampong

สอบถามเพิ่มเติมครับ
ผมพอจะเขียนได้ละครับ แต่มีคำถามเพิ่มเติมครับ

1.ผมจะให้รายการที่สองที่กดเลือกมาต่อรายการแรกที่เลือกไปแล้วยังไง (ตอนนี้จาก Code มันลบตัวเก่าแล้วเอาตัวใหม่มาแทนครับที่ TX01)
2.Email เป็นColum ที่สองในListbox ผมต้องย้ายไปไว้ที่1 ถึงดึงค่ามาได้ถ้าไม่ย้ายแต่จะดึง Columสองมาแทนจะทำยังไงครับ

Dim x As Long
For x = 0 To Me.ListBox.ListCount - 1
    If Me.ListBox.Selected(x) = True Then
                  myString = myString & Me.ListBox.Column(boundColumnZeroBasedIndex, x) & ";"
    End If
    Next x
    TX01.Value = myString

ขอบคุณครับ

 

18 มี.ค. 65 , 15:57:44
ตอบกลับ #2

arampong

ได้แล้วครับ จากกระทู้เก่าของ อ.TTT

  Dim i As Integer
    Dim strSelected As String
    strSelected = Nz([TX01])
     
    For i = 0 To ListBox.ListCount - 1
        If ListBox.Selected(i) = True Then
            If strSelected = "" Then
               strSelected = Listbox.Column(1, i)
            Else
               strSelected = strSelected & ";" & ListBox.Column(1, i)
            End If
        End If
    Next i
    Me.TX01 = strSelected

ขอบคุณครับ

 


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