>Thanks for your reply, but how about the speed performance?.. and should I ask the recordset to go to the 1st record before all of them filtered? could you give me a simple complete code for this filter command? thanks again
>
>
>Best regards
>Winan
As far as the performance, it depends on the number of records retrieved by your recordset source, and the cursor location. But most likely a Select statement that uses the condition on the Where clause (same effect as doing a filter on your recordset) will run faster if you have a database server on your back-end (SQL Server, Oracle).
The other thing you can do with Find (and if you have a client-side cursor), is sort your recordset first (using the Sort property of the recordset), specifying multiple fields if necessary and once you do a Find on your first field the rest of the records that satisfy the criteria will be together and you can loop to search for the additional field condition.
Ultimately the best approach for your situation will be revealed by your own testing of different techniques.
About going to the first record, instead reset the filter to adFilterNone and then apply your next filter. This would go something like this:
myRS.Filter = adFilterNone
myRS.Filter = "myFirst='blah' And mySecond='blahblah'"
There is not much else you do to set a filter. Once you set it your RS will behave as if it only had the number of rows that satisfy the filter conditions.
HTH