Page 1 of 1

รบกวนสอบถามการทำ Search และขอวิธีแก้ไข Error ตามแนบครับ

Posted: Sun Sep 27, 2020 9:31 pm
by devapathbz

Code: Select all

GCriteria = " Like '*" & txtSearchString & "'*"
Form_frmCustomers.RecordSource = "select * from Customers where " & GCriteria
หลังจากกด Search ที่ฟอร์มแล้วจะขึ้นหน้าค้นหามาให้ครับ เช่นใส่ RO เข้าไปสิ่งที่ผมต้องการคือเหมือนเป็นการค้นหาคำว่า RO จากทุก Field มาแสดงในหน้า Display แต่เกิด Error ตามภาพครับ รบกวนขอความรู้หน่อยนะครับ ขอบคุณมากครับ

Image

Re: รบกวนสอบถามการทำ Search และขอวิธีแก้ไข Error ตามแนบครับ

Posted: Sun Sep 27, 2020 10:34 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Dim sqlStr As String
'Other code
GCriteria = " Like '*" & txtSearchString & "*'"
sqlStr = "Select * From Customers Where "
sqlStr = sqlStr & "CustomerID " & GCriteria
sqlStr = sqlStr & " OR CompanyName " & GCriteria
sqlStr = sqlStr & " OR ContactName " & GCriteria
sqlStr = sqlStr & " OR ContactTitle " & GCriteria
'...
Form_frmCustomers.RecordSource = sqlStr
ต้องการให้ Seach Fileld ไหนก็ต้องใส่เข้าไปด้วย ถ้าต้องการ Search ทุก Field ก็ต้องเขียนให้ครบทุก Field ด้านบนนี้ยกตัวอย่างมาแค่ 4 Fields เท่านั้น

กรุณาสังเกตการใส่เครื่องหมาย ' ว่าวางในตำแหน่งไหนเพื่อไม่ให้ Syntax Error ครับ

Re: รบกวนสอบถามการทำ Search และขอวิธีแก้ไข Error ตามแนบครับ

Posted: Mon Sep 28, 2020 10:52 am
by devapathbz
ขอบคุณมากครับ ตอนนี้ Code ไม่ Error แล้วครับ แต่หลังกด Search มี Popup "Enter Parameter Value" ขึ้นมาแทน แบบนี้เกิดจากอะไรหรอครับ

Image

Re: รบกวนสอบถามการทำ Search และขอวิธีแก้ไข Error ตามแนบครับ

Posted: Mon Sep 28, 2020 2:00 pm
by snasui
:D กรุณาโพสต์ Code ที่ปรับแก้แล้วมาด้วยจะได้ทราบว่าเขียนอะไรไปแบบไหน อย่างไรครับ

การที่ขึ้นกล่องข้อความนั้นปกติคือคีย์ Field ในเครื่องหมายก้ามปู ทำให้กลายเป็น Criteria ที่ผู้ใช้ต้องคีย์เข้าไปเอง แต่ถ้าให้เดาตามกล่องโต้ตอบที่จับภาพมา คือ คีย์ Filed ที่ไม่มีอยู่จริง Filed ที่มีอยู่จริงคือตามภาพครับ

Re: รบกวนสอบถามการทำ Search และขอวิธีแก้ไข Error ตามแนบครับ

Posted: Mon Sep 28, 2020 2:35 pm
by devapathbz
Code ที่มีการแก้ Update ไปครับ และแนบ File มาเพิ่มหลังแก้มาให้ด้วยครับ
ขอบคุณครับ

Code: Select all

Private Sub Command32_Click()
    Dim SqlStr As String
    
    If Len(TxtSearch) = 0 Or IsNull(TxtSearch) = True Then
        MsgBox "You must enter a search string."
    Else
        GCriteria = " Like '*" & TxtSearch & "*'"
        SqlStr = "Select * From KnowledgeList Where "
        SqlStr = SqlStr & "TxtTitleName " & GCriteria
        SqlStr = SqlStr & "TxtDesc" & GCriteria
        SqlStr = SqlStr & "TxtSource" & GCriteria
        SqlStr = SqlStr & "TxtCategory" & GCriteria
        Form_Display.RecordSource = SqlStr
        
    End If

End Sub

Re: รบกวนสอบถามการทำ Search และขอวิธีแก้ไข Error ตามแนบครับ

Posted: Mon Sep 28, 2020 2:40 pm
by devapathbz
snasui wrote: Mon Sep 28, 2020 2:00 pm :D กรุณาโพสต์ Code ที่ปรับแก้แล้วมาด้วยจะได้ทราบว่าเขียนอะไรไปแบบไหน อย่างไรครับ

การที่ขึ้นกล่องข้อความนั้นปกติคือคีย์ Field ในเครื่องหมายก้ามปู ทำให้กลายเป็น Criteria ที่ผู้ใช้ต้องคีย์เข้าไปเอง แต่ถ้าให้เดาตามกล่องโต้ตอบที่จับภาพมา คือ คีย์ Filed ที่ไม่มีอยู่จริง Filed ที่มีอยู่จริงคือตามภาพครับ
เข้าใจแล้วครับ พอดีเมื่อกี้ไม่เห็นรูปที่อาจารย์แนบมา ตอนนี้แก้ไขได้แล้วครับ ใช้งานได้ตามที่ต้องการทุกอย่างเลยครับ
ขอบคุณอาจารย์อีกครั้งครับ