Your comments are fair and good.
Thank you for sharing that with us.
The basic rule here is (as you show) is to ALWAYS ask the user what they
want, and THEN load the form.
There is NO reason to load up a form without first having ask the user what
they want.
strInvoice = inputbox("what invoice to edit")
docmd.OpenForm "frmCustomerInvoice",,,"invoiceid = " & strInvoice
The above is all you need, and restricts the form to the ONE record.
A good design will thus NEVER load a up a form that is simply attached to a
table. So, even without sql server, I find tables with 50,000 records, and
about 5 to 10 users on a office network respond absolute instant. (remember,
reducing the number of records to a form also works when you DO NOT use sql
server). So, your tip does not only apply to sql server here!
I also outline a nice search concept here:
http://www.attcanada.net/~kallal.msn/Search/index.html
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pleaseNOOSpamKallal@msn.com http://www.attcanada.net/~kallal.msn