PP
กระทู้เก่าบอร์ด อ.Yeadram

 1,347   4
URL.หัวข้อ / URL
PP

เรียนถาม ผมต้องการใช้ textbox เป็นตัวค้นหาคำ โดยเขียน code forms
Private Sub tHospName_AfterUpdate()
    List2.Visible = True
    List2.RowSource = "SELECT T_HospCode.HospCode,
T_HospCode.HospName " & _
                                " FROM T_HospCode " & _
                                " WHERE T_HospCode.HospName Like '" & Forms!Form1!tHospName & "*' "
    List2.Requery
    'List12.Requery
End Sub

ที่ List2 เขียน code
Private Sub List2_AfterUpdate()
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[tHospName] = " & Str(Nz(Me![List2], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub


ส่วน List2 เขียน code ที่ propoties row source
SELECT T_HospCode.HospCode, T_HospCode.HospName FROM T_HospCode WHERE (((T_HospCode.HospName) Like forms!Form1!tHospName & "*"));

เมื่อพิมพ์ตัวแรกที่ textbox แล้ว List2 ไม่ค้นหาคำแรกกลับปรากฎข้อมูลทั้งหมด
ที่ต้องการคือพิมพ์ตัวแรกและตัวต่อๆไป List2 จะปรากฎตามข้อความพิมพ์ค้นหา
เมื่อ click ที่ List2 แล้วข้อความที่ค้นหาไปอยู่ใน textbox
ไม่ทราบว่าผมเขียน code ส่วนใดไม่ถูกต้องหรือไม่ครบ รบกวนด้วยครับ ขอคำแนะนำ

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

1 @R06729
list2 properties rowsource
ให้เขียนแค่นี้พอครับ SELECT TOP 1 T_HospCode.HospCode, T_HospCode.HospName FROM T_HospCode;
* ไม่ใช่วิธีแก้ปัญหาโดยตรง แต่แค่ช่วยให้มันง่ายขึ้น

Private Sub List2_AfterUpdate() ให้เอาออกก่อนครับ อย่าเพิ่งให้มันทำงาน หรืออาจจะแค่เปลี่ยนชื่อมันเป็น
Private Sub List____2_AfterUpdate() มันก็จะไม่ทำงานแล้วครับ
เบรคมันไว้สักครู่ก่อน
** ก็ยังไม่ใช่วิธีแก้ปัญหาโดยตรง แต่ช่วยให้มันง่ายขึ้นในการตรวจสอบ

Private Sub tHospName_AfterUpdate() แก้เป็นอย่างนี้ครับ
Private Sub tHospName_AfterUpdate()
    List2.Visible = True
    List2.RowSource = "SELECT T_HospCode.HospCode,
T_HospCode.HospName " & _
                                " FROM T_HospCode " & _
                                " WHERE T_HospCode.HospName Like '" & trim(tHospName.text) & "*' "
    List2.Requery
End Sub


ลองดูใหม่อีกครั้งครับ ได้ผลหรือเปล่า
2 @R06732
ขอบคุณครับ ได้ผลตามที่ต้องการครับ แต่ใช้แบบ afterupdate ไม่ได้ครับเพราะมันไม่ค้นหาระหว่างพิมพ์ ต้องใช้แบบ onchance ถึงจะเลือกกลุ่มคำที่คล้ายๆกันขึ้นมาให้เลือก
แล้ว Me.Recordset.Clone ทำไมถึงใช้ไม่ได้ครับ ผมไม่เข้าใจ

แล้วหลังจากนี้ไปเราต้องการ click เลือกข้อความเข้าสู่ textbox ต้องทำอย่างไรต่อครับ ลองมั่วหลายทางแล้ว เพราะผมเคยทำแต่แบบ pop up แล้ว click เลือก แต่แบบนี้ผมไม่เคยทำ รบกวนอีกครั้ง ขอบคุณครับ
3 @R06733
ขอโทษครับที่ถาม เรื่อง click ข้อความที่ต้องการ ผมว่ามองข้ามวิธีการที่ง่ายไป คือ tHospName=List2Column(1)

คราวนี้เหลือแต่การให้ list2 มีความสูงเท่ากับจำนวนข้อความที่เหมือนกันที่นับได้จากตาราง แบบ auto หมายถึง ถ้านับได้7ความสูงก็เท่ากับ7บรรทัด ทำนองนี้
เดี๋ยวต้องไปลองค้นดูวีธีก่อนครับ แล้วค่อยรบกวนทีหลัง
4 @R06780
เรียนถามอีกครั้งครับ ตัวอย่าง Code ที่เขียน ใช้ได้กับกรณีที่ค้นหาข้อความที่มีอยู่ในตาราง แต่หากไม่มีเจอมูลในตาราง ใน list ก้อไม่สามารถทำให้ list หายไปได้ ถ้าอย่างนี้ต้องทำอย่างไรต่อครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2234s