MSAccessRookie
AWF VIP
- Local time
- Yesterday, 19:26
- Joined
- May 2, 2008
- Messages
- 3,428
I am presently assigned to a project that requires the modification and conversion of an application that is a Multi-User MS Access environment where there is a common Network Based Back End, and each user has their own front end. The application is to be converted to use an SQL Server Back End, and as much of the Original Front End as necessary to keep the user interface the same.
So far I have moved all of the Data Tables to the SQL Server and have been able to divide the base query set into two parts:
o A Subset of 42 queries that are stored on the SQL Server as Server Views and have the naming convention View[view name]
o The remaining queries that remain on the Front End for varying reasons (some of which refer to the Views on the server).
While Most of the Converted system is working acceptably, I am currently having difficulty finding the Next or Last instance of a Person_ID in from within a list of WorkOrders.
The table containing the list of people contains about 8300 entries
The table containing the WorkOrders contains about 38000 entries.
A form has been set up with a Control Field called FindPerson that is populated by the query qryPeopleAlphabetic, which in turn refers to the View ViewPeopleAlphabetic (See Query and View Definitions Below)
There are two buttons associated with the Control Field called Last and Next
o The Last Button calls a Macro called FindLastPerson (See Macro Definition Below)
o The Next Button calls a Macro called FindNextPerson (See Macro Definition Below)
When Either button is selected, the Macro eventually finds the expected result, but the amount of time is not only unacceptable in its own right, but significantly longer than the original application. Is there any way to make the Macro Search faster? I have provided below as much information as I can. If there is anything else necessary, I will attempt to fill in any blanks.
Please forgive the long dialogue, but I wanted to provide as many details as possible.
-------------------------------------------------------------------
Structure of tblPeople
Person_ID AutoNumber
Researcher Text
L_Name Text
F_Name Text
M_Initial Text
Title Text
CommonName Text
Notes Memo
email Text
DateAdded Date/Time
SSMA_TimeStamp Binary
-------------------------------------------------------------------
Queries and Views
qryPeopleAlphabetic
SELECT Expr1, Person_ID, DateAdded, Title, F_Name, M_Initial, L_Name, email, Notes, FormalName, SemiFormalName, CommonName
FROM ViewPeopleAlphabetic
ORDER BY L_Name, F_Name;
ViewPeopleAlphabetic
SELECT IIf(IsNull(L_Name), "", L_Name) & IIf(IsNull(L_Name), "", IIf(IsNull(F_Name), "", ", ")) & IIf(IsNull(F_Name), "", F_Name) AS Expr1, Person_ID, DateAdded, Title, F_Name, M_Initial, L_Name, email, Notes, IIf(IsNull(Title), "", Title & " ") & IIf(IsNull(F_Name), "", F_Name & " ") & L_Name AS FormalName, IIf(IsNull(F_Name), Title & " ", F_Name & " ") & L_Name AS SemiFormalName, CommonName
FROM tblPeople;
-------------------------------------------------------------------
Macros
FindNextPerson
Find What is =[FindPerson]
Match is Whole Field
Match Case is No
Search is Down
Search as Formatted is Yes
Only Current Field is Yes
Find First is No
FindFirstPerson
Find What is =[FindPerson]
Match is Whole Field
Match Case is No
Search is Down
Search as Formatted is Yes
Only Current Field is Yes
Find First is Yes
-------------------------------------------------------------------