Entire chapters of books are devoted to this question. But two things in
particular are likely to make significant improvements.
One, never retrieve more data than you need, especially across a network. If
your forms are bound directly to tables, consider binding them to queries
that select a subset of records - whenever possible, a single record.
Two, examine your indexes. Try creating indexes on fields that are
frequently used in joins, criteria, or for sorting and grouping.
While appropriate indexing can dramatically speed up data retrieval,
over-indexing can slow down updates, as the index has to be updated too, so
you need to test that an additional index really does make a difference, and
delete it if it does not.