tranchemontaigne
Registered User.
- Local time
- Today, 15:48
- Joined
- Aug 12, 2008
- Messages
- 203
I have a problem and am looking for some advice on a best approach with respect to performance.
PROBLEM:
I need to have MS Access perform a complex search
- I have a master list of records with about 120K records.
- Each record contains about 40 fields.
- 5 fields contain free text.
- Each of these free text fields needs to be searched using an InStr (regex-type search)
function for matches.
- The criteria passed to the InStr function comes from another table that contains several thousand records
- Additional fields (e.g. dates) need to be evaluated to limit search results
SOME OPTIONS
1) Write a straight ANSI-92 SQL statement using ?LIKE ?*
.[FIELD] criteria with unjoined tables (what I like to refer to as a quasi-Cartesian product)
2) Create a recordset object for each table, and evaluate the primary recordset with values from the criteria recordsets
3) Create a recordset for the primary table, and arrays of criteria populated with values from the criteria tables
4) Create a 2-dimentional array (one array with record_Ids from the primary table, and a second dimention to store record contents
5) Create a structure that stores the contents of the primary data table, and use arrays to hold the criteria used to evaluate structure items
6) Other strategy
________
Moraine Assembly
PROBLEM:
I need to have MS Access perform a complex search
- I have a master list of records with about 120K records.
- Each record contains about 40 fields.
- 5 fields contain free text.
- Each of these free text fields needs to be searched using an InStr (regex-type search)
function for matches.
- The criteria passed to the InStr function comes from another table that contains several thousand records
- Additional fields (e.g. dates) need to be evaluated to limit search results
SOME OPTIONS
1) Write a straight ANSI-92 SQL statement using ?LIKE ?*
2) Create a recordset object for each table, and evaluate the primary recordset with values from the criteria recordsets
3) Create a recordset for the primary table, and arrays of criteria populated with values from the criteria tables
4) Create a 2-dimentional array (one array with record_Ids from the primary table, and a second dimention to store record contents
5) Create a structure that stores the contents of the primary data table, and use arrays to hold the criteria used to evaluate structure items
6) Other strategy

________
Moraine Assembly
Last edited: