不如只用 Filter
Private Sub Command20_Click()
Me.子窗体.Form.Filter = "[搜索标题] Like '*" & Me.Text18 & "*'"
Me.子窗体.Form.FilterOn = True
Me.Text18 = Null '清空文本框数据,便于从新输入查询条件,或二次点击【查询】恢复全部数据
End Sub
至于 Me.Text18 怎样智能分段加通配符, 就自己决定加什么智能就怎么做了!
如果想我们帮忙, 就请你提供智能的判断方法了!
我可以提供的就是 用空格作为分隔符, 用 减号作为排除符, 与百度 及 淘宝 一样的!
qry=""
m=ltrim( Me.Text18)
sp = instr( m, " ")
do while sp > 0
if left( m,1)="-" then
qry=qry & " and NOT( [搜索标题] like '*" & left( m,sp-1) & "*')"
else
qry=qry & " and [搜索标题] like '*" & left( m,sp-1) & "*'"
end if
m = ltrm( mid( m, sp))
loop
if len( m) > 0 then
if left( m,1)="-" then
qry=qry & " and NOT( [搜索标题] like '*" & m & "*')"
else
qry=qry & " and [搜索标题] like '*" & m & "*'"
end if
end if
if qry <> "" Then
Me.子窗体.Form.Filter = mid( qry, 6)
Me.子窗体.Form.FilterOn = True
Endif