试一下用一个嵌套的SQL句吧,如果你使用的是SQL SERVER的话,可以建立一个储过程,代码如下:
select * from 表名 where 日期 between (2003-1-1,2003-1-20) and 你的字段(select * from 表名 where 你要搜索的字段=XXX值)
你试一下吧
select * from 表名 where 日期 between (2003-1-1,2003-1-20) and 你的字段(select * from 表名 where 你要搜索的字段=XXX值)
你试一下吧
我也是想象你说的将第一次查询的结果放到一个临时表中但如何操作烦劳将操作代码提供 谢谢
FindFirst 条件 从第一条记录开始向后查找
FindLast 条件 从最后一条记录开始向前查找
FindPrevious 条件 从当前记录开始向前查找
FindNext 条件 从当前记录开始向后查找
rs.open "select * from tabeltemp where aa='%55' ",db
Dim bb As QueryDefSet db = DBEngine.OpenDatabase("yourdbfile")
Set bb = db.CreateQueryDef("bb", "select * from abc where 日期 between # " & Text4.Text & " # and # " & Text5.Text & " # ")
Data1.RecordSource = "select * from bb where 摘要 = '市内1' or 摘要 = '市内2' or 摘要 = '市外1' or 摘要 = '市外2' "
...
...
db.QueryDefs.Delete "bb"随手写的不一定对。
思路是先创建一个查询,再执行。
执行完后别忘记删除查询,不然下次再用就会出错了。
"select * from ##temp where 摘要 = '市内1' or 摘要 = '市内2' or 摘要 = '市外1' or 摘要 = '市外2' "
"drop table ##temp "
记着用完了别忘了删除临时表。
rst.filter="select * from bb where 摘要 = '市内1' "
Set Data1.Recordset=rst执行完filter语句后,rst中是满足再次查询条件的所有记录,如果需要使用原来的记录集,就需要在再次查询前保存原记录
dim rstNew as Recordset
set rstNew=rst
rstNew.Filter
Set Data1.Recordset=rstNew