Jim Dettman
jimdettman at verizon.net
Wed Apr 20 12:17:48 CDT 2011
Doug, How many records will they be searching against roughly? You can do a reasonable incremental search character by character with DAO by using a seek on an index (which is the fastest method for finding a match), but that tops out at about 50,000 records depending on the speed of the network and PC. Might also want to consider searching on a snapshot. Using a snapshot, the data will be cached locally in a temp file. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Doug Steele Sent: Wednesday, April 20, 2011 11:29 AM To: Access Developers discussion and problem solving Subject: [AccessD] Search as you type I've built a form with a live search box so that a client can enter any text to search (on one field only) and the form redisplays with the matching records. My first attempt is to use the 'OnChanged' event in the search text box and re-filter the form using a filter "Name like '*xxxx*'. This works well enough on my local machine, but on the client's network there is an annoying pause after each character is typed. My ideas on speeding this up are: 1. Only re-filter when the typing pauses for, say, half a second. Usually a search is done by entering a few characters quickly, like 'Bill', then waiting to see the results. I can't quite figure out how to do this, though. 2. Use ADO for the form recordset, to avoid network traffic. Any suggestions? Thanks, Doug -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com