People are always shocked when they convert a Jet/ACE BE to SQL Server and the app slows down. What the??? Well, Jet/ACE is pretty quick and is optimized to work with Access. When you move to a RDBMS, YOU have to think differently and you can't use the old Access methods of binding forms to tables and using filters to get to the records you want to work with.
In a client/server environment, forms should be based on queries and the queries need to have selection criteria to reduce the number of rows requested to only the one you want at that time. For simple criteria, I just use combo or text boxes in the form's header. The query then includes criteria to reference the unbound form field in the form's header.
Select ... From ... Where SomeField = Forms!myform!cboSomeField
The form will open empty since SomeField has no value. The user picks something from the combo or types something into a text box and the AfterUpdate event of the search control does a requery.
Me.Requery
The record you want is loaded.
Fix one of your forms to operate this way to see how it works.
Also, keep in mind that WAN speeds are at least 10 times slower than LAN speeds so connecting to a remote database via the internet is ALWAYS going to be sluggish no matter how fast your internet connection.
The best way to share an Access application over the internet is to use Citrix. Using Citrix, your remote users will sometimes get faster response times than your local LAN users
