กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
526 1
URL.หัวข้อ /
URL
... จะเขียน Code ยังไงให้ Listbox แสดงข้อมูลในตาราง ออกมาทีละหลายๆ record (คุณสมบัติ List.Rowsource)
คือผมเขียนคำสั่ง เกี่ยวกับการค้นหาค่าใน ตารางอยู่น่ะครับ โดยให้แสดงผลลงใน listbox (คือถ้าเจออะไรก็ให้แสดงใน listbox โดยแสดงหมดทุกฟิล) ทีนี้เขียน code ได้หมดแล้ว ติดตรงถ้าเกิดเวลาค้นหานั้น ไปหาเจอในตารางที่มีข้อมูลซ้ำกันหลายๆ record เช่น จะหาคนที่ซื้อของมาจาก สหกรณ์ โดยพิมคำว่า สหกรณ์ ลงใน textbox แล้วกดปุ่ม ค้นหา และทีนี้คนที่ซื้อของมาจากสหกรณ์ในตารางมีอยู่หลายคน แต่พอค้นหาเจอและมาแสดงลงใน listbox กลับแสดงมาแค่ record เดียวทั้งที่มีอีกหลาย record ที่เหมือนกัน
ปัญหาคือ จะเขียน code ยังไงครับ ให้ listbox แสดงตามคำสั่งทีละหลายๆ record ตอนนี้ใช้คุณสมบัติแสดงข้อมูลในตารางลง listbox โดย List.RowSource น่ะครับ เออ และมีการใช้ Combobox มาช่วยในการค้นหาด้วย (ไว้เก็บรูปแบบการค้นหา)
Code ตอนนี้เป็นดังนี้( code ที่มาให้ดูนี่เป็นเพียงส่วนหนึ่ง ที่เกี่ยวข้องนะครับ ไม่ใช่ทั้งหมด)
Private Sub Command18_Click()
Dim Mer As String
Mer = Combo37.Value
Select Case Mer
Case "ÃËÑÊÊÔ¹¤éÒ"
Set rst = dbs.OpenRecordset("select mer_id from merchandise where mer_id = '" & Text28.Value & "'")
If Not rst.EOF Then
List24.RowSource = "select * from merchandise where mer_id = '" & Text28.Value & "'"
Form.Refresh
Else
MsgBox "äÁ辺¢éͤÇÒÁ·Õèµéͧ¡ÒÃËÒ", vbExclamation, "¼Å¡Òäé¹ËÒ"
List24.RowSource = Empty
Text28.SetFocus
End If
End Select
End Sub
ขอบคุณมากๆ ครับ
ปัญหาคือ จะเขียน code ยังไงครับ ให้ listbox แสดงตามคำสั่งทีละหลายๆ record ตอนนี้ใช้คุณสมบัติแสดงข้อมูลในตารางลง listbox โดย List.RowSource น่ะครับ เออ และมีการใช้ Combobox มาช่วยในการค้นหาด้วย (ไว้เก็บรูปแบบการค้นหา)
Code ตอนนี้เป็นดังนี้( code ที่มาให้ดูนี่เป็นเพียงส่วนหนึ่ง ที่เกี่ยวข้องนะครับ ไม่ใช่ทั้งหมด)
Private Sub Command18_Click()
Dim Mer As String
Mer = Combo37.Value
Select Case Mer
Case "ÃËÑÊÊÔ¹¤éÒ"
Set rst = dbs.OpenRecordset("select mer_id from merchandise where mer_id = '" & Text28.Value & "'")
If Not rst.EOF Then
List24.RowSource = "select * from merchandise where mer_id = '" & Text28.Value & "'"
Form.Refresh
Else
MsgBox "äÁ辺¢éͤÇÒÁ·Õèµéͧ¡ÒÃËÒ", vbExclamation, "¼Å¡Òäé¹ËÒ"
List24.RowSource = Empty
Text28.SetFocus
End If
End Select
End Sub
ขอบคุณมากๆ ครับ
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R01952
ดูจากโค้ดแล้วไม่น่าจะแสดงค่าข้อมูลเดียวนะครับ
ลองใช้คำสั่ง
Me.Requery
หรือ
Me.List24.Requery
แทน
Form.Refresh
ดูครับ
และไม่ทราบว่าใน List นี้ให้แสดงกี่ Column ครับ
ถ้าสร้างตัวอย่างจำลองเหตุการณ์นี้ได้ ก็ลองทำแล้วแนบมาให้ดู จะเห็นภาพชัดเจนกว่าครับ
Time: 0.1286s