กระทู้เก่าบอร์ด อ.Yeadram
1,513 3
URL.หัวข้อ /
URL
การค้นหาแบบ multi ครับ
ผมทำฟอร์มค้นหาข้อมูล แบบค้นได้หลายๆเงื่้อนไข พอดีไปได้โค้ดมาจาก youtube http://www.youtube.com/watch?v=M6XIU5_z-UU
ลองทำตาม ติดปัญหากรณีที่ใส่ and ครับ หากไม่ใส่ "AND" ในโค้ด จะสามารถค้นหาได้แค่เงื่อนไขเดียว แต่พออยากค้นหาหลายเงือนไข มันฟ้อง error ตามภาพครับ
ส่วนด้านล่างนี้เป็นโค้ดค้นหาครับ
function BuidFilter ครับ
รบกวนชี้แนะหน่อยครับ
ลองทำตาม ติดปัญหากรณีที่ใส่ 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
2 @R16491
ขอบคุณครับ คุณ PichaiTC ที่ให้คำแนะนำและเสนอแนะ
ตอนนี้ผมแก้ error ต่างๆของโค้ดนี้ได้หมดแล้วครับ สามารถค้นหาหลายเงื่อนไข
ได้อย่างที่ต้องการแล้ว
ผมก็ไม่ทราบหรอกครับว่า บางตัวแปรที่ประกาศไป มีไว้เพื่ออะไร เนื่องจากผู้ที่บรรยายไว้ เค้าก็บรรยายไว้เป็นภาษาอังกฤษ ผมเองก็ไม่ถนัดทั้งโค้ง ทั้งภาษาอยู่แล้ว แต่ error ที่เกิดขึ้น ผมก็ได้พยายามหาทางแก้ที่สุดแล้วครับ และตอนนี้ก็สามารถแก้ได้แล้ว
ต้องขอขอบคุณอีกครั้งครับ
ตอนนี้ผมแก้ error ต่างๆของโค้ดนี้ได้หมดแล้วครับ สามารถค้นหาหลายเงื่อนไข
ได้อย่างที่ต้องการแล้ว
ผมก็ไม่ทราบหรอกครับว่า บางตัวแปรที่ประกาศไป มีไว้เพื่ออะไร เนื่องจากผู้ที่บรรยายไว้ เค้าก็บรรยายไว้เป็นภาษาอังกฤษ ผมเองก็ไม่ถนัดทั้งโค้ง ทั้งภาษาอยู่แล้ว แต่ error ที่เกิดขึ้น ผมก็ได้พยายามหาทางแก้ที่สุดแล้วครับ และตอนนี้ก็สามารถแก้ได้แล้ว
ต้องขอขอบคุณอีกครั้งครับ
3 @R16508
เลิศที่สุด... คนไทยทำได้ ชมเชยๆ
Time: 0.2542s
บรรทัดนี้มีไว้เพื่ออะไร?
If Right(varWhere, 5) = "AND" Then
เงื่อนไขนี้ ไม่มีทางเป็น True ได้
หาก copy code มาโดยไม่ทำความเข้าใจ ตอบไปก็ไม่รู้ว่า จะมีคำถาม(ที่ไม่จำเป็นต้องถาม) ตามมาอีกเท่าไร