[AccessD] MoveFirst needed in DAO?

Dan Waters df.waters at comcast.net
Wed Aug 8 09:41:21 CDT 2012


I've always seen that in a newly opened DAO recordset, the recordset is
always positioned at the first record - IF THERE ARE ANY RECORDS!

So for most recordsets a check to see if any records exist is needed.

Dan

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust
Sent: Wednesday, August 08, 2012 9:17 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] MoveFirst needed in DAO?

In DAO, the newly opened recordset is positioned at BOF but not necessarily
on a record, IIRC.

Charlotte

On Wed, Aug 8, 2012 at 2:09 AM, Gustav Brock <gustav at cactus.dk> wrote:

> Hi all
>
> Having opened a DAO recordset:
>
>     Set rst = dbs.OpenRecordset(strSQL)
>
> often the first code line following is:
>
>     rst.MoveFirst
>
> or, if the recordset can be empty:
>
>     If rst.RecordCount > 0 Then
>       rst.MoveFirst
>     EndIf
>
> But is that really necessary? At which record could the recordset 
> possibly be positioned if not at the first?
>
> Even a snapshot or an ODBC linked recordset will not - as far as I 
> know - move anywhere until you tell it to do so.
>
> For ADO recordsets it is different as the recordcount can be -1 until 
> you, for example, have done a MoveLast.
>
> /gustav
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
>
>
> Website: http://www.databaseadvisors.com
>
>
>
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list