|
其实如果你换个术语的话,可能自己就能找到答案了。这不是"模糊查询",而是 "数值是否等于指定列表中几个数值中的一个。" SQL中有这个运算符 IN.
以下摘自 Microsoft Access 2003 Help
In 运算符
判断表达式的数值是否等于指定列表中几个数值中的一个。
语法
expr [Not] In(value1, value2, . . .)
例如,可用 In 运算符来判断哪些订单被发往指定的地区集合:
SELECT *
FROM Orders
WHERE ShipRegion In ('Avon','Glos','Som')
============================================
好,现在回到你的问题。
文本框输入多个查询条件(条件不分顺序,条件之间用空格分隔)
输入“111 222 333”则可同时得到111 222 333这三组数据。
设 me.textbox1.value = "111 222 333"
先 s = replace (me.textbox1.value," "," ") '把两个空格变成一个空格,防止手工输入的时候多输入一个。 谨慎一点儿的话,就多执行几次,循环到len(s)不再减速少为止。
再 s = replace(s," ",","),把空格替换为, ,此时 s = 111,222,333
之后 sSql = "select * from yourTable where id in ("& s &")"
如果是字符型的话,注意加上''
******************
* 一切皆有可能 *
******************
.
同一贴子不回复第二次
.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 . |
|