[AccessD] Search as you type

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




More information about the AccessD mailing list