Jim Lawrence (AccessD)
accessd at shaw.ca
Tue Nov 16 09:55:54 CST 2004
Hi John:
There is a default recordset created when a form is opened and can be used
in all sorts of ways. When a bound form is opened the recordset is
pre-filled. You can access and use it like:
Dim rs as Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[ContractNumber] = '" & Me![cmbFindContractNumber] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
When the form is closed both of the recordsets are automatically closed as a
clone can not exist without it's 'original'.
Your code is just another way of accessing it.
HTH
Jim
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Colby, John
Sent: Tuesday, November 16, 2004 6:59 AM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] What happens to the recordset?
I learned a long time ago that you could retrieve a value from a single
record recordset using syntax like:
strInvAlt = db.OpenRecordset(strSQL)!TopExpense
where you don't dim a recordset, you just opened the recordset using
db.openrecordset() and then referenced a field of the recordset with the
!SomeField syntax.
My question is, the recordset itself is never assigned to a dimmed recordset
object. Furthermore there is no db.CloseRecordset() syntax. Does the
recordset just stay open until the database object itself is closed or is
used to open a different recordset?
I have a situation where I would dim a database object in the form header
and set that database object in OnOpen (to save the time it takes to Set
DB), then use this syntax to retrieve a value in OnCurrent. I don't want
the recordset hanging out there though. In thinking this through it seems
that if the db is not dimmed / set each time in the OnCurrent then I should
NOT use this syntax, but rather dim / set a recordset object as well in the
form header / OnOpen and then set the recordset object in the OnCurrent,
grab the field value and explicitly close the recordset (but NOT set the
recordset object = nothing)
Did that make any sense? Thoughts on the subject?
John W. Colby
The DIS Database Guy
--
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com