怎样查找多重条件的记录
编号:QA004199
建立日期: 2001年5月14日 最后修改日期:2002年3月21日
所属类别:
侯延松:
本问题涉及的操作系统 Windows
本问题涉及的编程工具 VB6.0
遇到的问题
我看过很多关于查询的例子,比如用seek方法在一个表中查找name是“张三”的记录。我的问题是怎样查找多重条件的记录,比如说查找sex是“male”的,address是“北京”或“上海”的name是“张三”的记录。敬请指教,谢谢。
你个人的水平:刚入门
回答:
Seek方法现在很少使用,因为不太方便,需要建立索引。对于多重条件,应该使用FindFirst方法,如:
strCriteria = "sex = 'male' and (address = '北京' or address = '上海') and name='张三'"
Data1.Recordset.FindFirst strCriteria
If Data1.Recordset.NoMatch Then
MsgBox "没有找到记录"
Else
' 找到其他记录
Do Until Data1.Recordset.NoMatch
Debug.Print Data1.Recordset("address")
Data1.Recordset.FindNext strCriteria
Loop
End If
如果你想使用变量代替上面的“北京”等,可以参考QA000597 "SQL的Select语句中可否使用VB变量"。
caozhen的意见:
如果使用的是access,可以设置多重索引。新建一个索引,这个索引对字段"sex","address"和"name"进行索引。
在程序中用
rs.seek "=", "male", '北京',"张三" 'DAO recordset
Seek方法速度远比Find方法快。
lisle的意见:
select * from table where field0 = '"& a &"' and field1 = '"& B & "'
cansum的意见:
filter="sex = 'male' and address = '北京' or address = '上海'and name='张三'" ,再filter="就可以取消筛选。
相关问题:
QA001557 "ADO的Find方法如何查找同时满足两个条件的记录"
此问题由李海回答。
| |
|
|
| |
|
|