การค้นหาแบบ multi ครับ
กระทู้เก่าบอร์ด อ.Yeadram

 1,452   3
URL.หัวข้อ / URL
การค้นหาแบบ multi ครับ

ผมทำฟอร์มค้นหาข้อมูล แบบค้นได้หลายๆเงื่้อนไข พอดีไปได้โค้ดมาจาก youtube http://www.youtube.com/watch?v=M6XIU5_z-UU
ลองทำตาม ติดปัญหากรณีที่ใส่ and ครับ หากไม่ใส่ "AND" ในโค้ด จะสามารถค้นหาได้แค่เงื่อนไขเดียว แต่พออยากค้นหาหลายเงือนไข มันฟ้อง error ตามภาพครับ


ส่วนด้านล่างนี้เป็นโค้ดค้นหาครับ
Private Sub cmdSearch_Click()
On Erorr GoTo Errr
Me.frmInquireListSearch.Form.RecordSource = "SELECT * FROM T_inquire " & BuidFilter
Me.frmInquireListSearch.Requery
Errr:
MsgBox ("error ")
End Sub


function BuidFilter ครับ
Private Function BuidFilter() As Variant
Dim varWhere As Variant
Dim tmp As String
tmp = """"

'Const conJetDate = "\#dd\/mm\/yyyy\#"
varWhere = Null

If Me.txtincom > "" Then
varWhere = varWhere & "[CompanyName_TH] like '*" & Me.txtincom & "*' AND "
End If
If Me.txtinject > "" Then
varWhere = varWhere & "[inquire_project] like '*" & tmp & Me.txtinject & temp & "*' AND "
End If
If Me.cboemp > "" Then
varWhere = varWhere & "[EmpID] like '*" & temp & Me.cboemp & temp & "*' AND"
End If
If Me.cbostatus > "" Then
varWhere = varWhere & "[inquire_statusContact] like '*" & temp & Me.cbostatus & temp & "*' AND "
End If

If IsNull(varWhere) Then
varWhere = ""
Else
varWhere = "WHERE" & varWhere
If Right(varWhere, 5) = "AND" Then
varWhere = Left(varWhere, Len(varWhere) = 5)
End If
End If
BuidFilter = varWhere
End Function


รบกวนชี้แนะหน่อยครับ

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

1 @R16472
tmp =""""
บรรทัดนี้มีไว้เพื่ออะไร?

If Right(varWhere, 5) = "AND" Then
เงื่อนไขนี้ ไม่มีทางเป็น True ได้

หาก copy code มาโดยไม่ทำความเข้าใจ ตอบไปก็ไม่รู้ว่า จะมีคำถาม(ที่ไม่จำเป็นต้องถาม) ตามมาอีกเท่าไร
2 @R16491
ขอบคุณครับ คุณ PichaiTC ที่ให้คำแนะนำและเสนอแนะ

ตอนนี้ผมแก้ error ต่างๆของโค้ดนี้ได้หมดแล้วครับ สามารถค้นหาหลายเงื่อนไข
ได้อย่างที่ต้องการแล้ว

ผมก็ไม่ทราบหรอกครับว่า บางตัวแปรที่ประกาศไป มีไว้เพื่ออะไร เนื่องจากผู้ที่บรรยายไว้ เค้าก็บรรยายไว้เป็นภาษาอังกฤษ ผมเองก็ไม่ถนัดทั้งโค้ง ทั้งภาษาอยู่แล้ว แต่ error ที่เกิดขึ้น ผมก็ได้พยายามหาทางแก้ที่สุดแล้วครับ และตอนนี้ก็สามารถแก้ได้แล้ว

ต้องขอขอบคุณอีกครั้งครับ
3 @R16508
เลิศที่สุด... คนไทยทำได้ ชมเชยๆ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3181s