By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,665 Members | 1,430 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,665 IT Pros & Developers. It's quick & easy.

opening a form with a large recordset at a specific record

P: n/a
Ian
I want to open a form at a particular record, but I think I'm running
into problems because the recordsource query is executing
asynchronously.

In the form's open event I use recordsetclone.findfirst to get a
bookmark and then set the form's bookmark to this value. normally that
works fine, but the form I am using has a very large number of records
and isn't being set to the correct record, even though it is found
successfully in the recordsetclone.

I think this is because the form doesn't yet have all the records and
so can't find a record with the correct bookmark (though how come the
recordsetclone appears to be complete??).

If I use recordsetclone.movelast before setting the form's bookmark
then the form gets set to the correct record. I have to confess I'm
starting to get confused between recordsets , recordsetclones and the
information the form has - I thought they were all (more or less) the
same thing, but this doesn't seem to be the case.

Am I right in thinking that I have to force the form's underlying
query to finish by using recordsetclone.movelast, before trying to set
the form to a specific record?

Thanks
ian
Nov 13 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Ian, are you aware of the bookmark bug? See:
http://members.iinet.net.au/~allenbrowne/bug-04.html

What version of Access?
If A97, make certain you have SR-2 applied. Are there any dlls that are
duplicated on your system where they could be called (e.g. in Windows,
Windows\System32, Program Files\Microsoft Office\Office..., or any other
folder on path)? This scenario was sometimes seen with Access 97, and is a
known cause of the bookmark bug not being patched successfully.

If A2000 or later, see:
http://support.microsoft.com/?id=238134
Again the service packs are crucial. You need to download the latest service
pack for your version of Office, and also the latest service pack for JET 4.
Both are available from the Downloads section at:
http://support.microsoft.com

If the problem still persists, we are *very* interested in taking it
further. Please provide version information for:
- msaccess.exe
- msjet40.dll (msjet35.dll if Access 97)
- dao360.dll (dao350.dll if Access 97)
- Windows
and also the number of records in this table.

One of our clients experienced the problem under a fully and correctly
patched A97, where the form had hundreds of thousands of records loaded. He
was in a different country and the data was too sensitive to send, but we
were able to demonstrate that the problem was real by logging it. We were
unable to solve it for him, but worked around the issue by changing the
RecordSource so the form only loaded only one record at a time.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Ian" <ia******@yahoo.co.uk> wrote in message
news:2d**************************@posting.google.c om...
I want to open a form at a particular record, but I think I'm running
into problems because the recordsource query is executing
asynchronously.

In the form's open event I use recordsetclone.findfirst to get a
bookmark and then set the form's bookmark to this value. normally that
works fine, but the form I am using has a very large number of records
and isn't being set to the correct record, even though it is found
successfully in the recordsetclone.

I think this is because the form doesn't yet have all the records and
so can't find a record with the correct bookmark (though how come the
recordsetclone appears to be complete??).

If I use recordsetclone.movelast before setting the form's bookmark
then the form gets set to the correct record. I have to confess I'm
starting to get confused between recordsets , recordsetclones and the
information the form has - I thought they were all (more or less) the
same thing, but this doesn't seem to be the case.

Am I right in thinking that I have to force the form's underlying
query to finish by using recordsetclone.movelast, before trying to set
the form to a specific record?

Thanks
ian

Nov 13 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.