Darrell Burns
dhb at flsi.com
Thu Jun 2 20:20:58 CDT 2011
Hi William.
I think you'd get the fastest retrieval by putting an index on your
timestamp field. Let's call it "ixTimeStamp". Then after you set your
recordset, set the index as...
1. rst.index = "ixTimeStamp"
This will sort your recordset on the index. Then do a seek. For example, to
search the recordset for stuff that happened on 5/10/2011...
2. rst.seek ">=", #5/10/2011# (I think that's the correct syntax for a date
value)
Then start a loop on the recordset and exit the loop when the date
changes...
3. do while not rst.eof
If rst!TimeStamp > #5/10/2011# then
Exit do
You may also want to consider splitting the date and time fields. I usually
convert my dates to a YYYYMMDD string format and index the string field. For
example...
Rst.index = "ixStrDate"
Rst.seek, "=", "20110510"
HTH,
Darrell
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of William Benson
(VBACreations.Com)
Sent: Thursday, June 02, 2011 5:12 PM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Most efficient means to retrieve most recent record
Hello,
In an Access table where I import and append very similar data routinely, I
stamp every record with the same ImportTime at time of import.
I am wondering the most efficient means of getting at the latest record
matching certain criteria? I see three ways.
METHOD 1
(1) Set a recordset = the entire table ordered descending, with no WHERE
clause
(2) use Rst.FindFirst and put the criteria here as arguments
METHOD 2
(1) Use an ORDER BY (desc) clause, select all the records
where those fields have the values I specify
(2) Use the first record in the recordset.
METHOD 3
(1) Select the max date where those fields have the values I specify
(2) Select "the" record where those fields have the values I specify
AND
Date = Date found from (1) .... to me this seems unlikely to be
fastest, but who knows.
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com