ADO Cursor Keysets

R

Ronald Dodge

Access 2002, SP2
UNBOUND FORMS AND CONTROLS (Error checking issues is what forced me to have
to use unbound forms and controls)

Is there now a way to allow for a Dynamic Cursor Keyset within ADO
programming on a Jet Engine of Access 2002?

The last time I checked, which has been a while and according to the help
files, this was not supported. However, by an outside source, I have been
told this feature has been added by a more recent update.

Up to now, cause of not being able to use the Dynamic feature of the cursor
keyset in ADO programming, I have been forced to use DAO programming, but I
also found the EditMode within DAO programming to not work properly.

Example of EditMode Property issue within DAO programming.

Recordset goes into Edit Mode (Property Value of 1)

User makes some adjustments to the record

User attempts to update the record, but Access errors out as if the
recordset is no longer in Edit Mode even though the property on the
recordset still shows the record itself being in Edit Mode
"dbEditInProgress" or the value of 1.

To overcome this issue, I had to mock the Edit Mode feature within DAO and
create my own system table to account for what users are editing what
records in what tables and DB files, just as I had to mock the
CausesValidation property in VB6.0 just so as I could get the proper error
checking procedures in place within my DB program, but unfortunately, that
required all of my forms and controls to be unbound. Otherwise, mouse users
could be stuck in certain controls and get no where cause the way error
checking and the order of events works in Access, it's either the control is
checked every single time, or it's never checked, and that is not
necessarily a good thing as this can get to be very frustrating to the user
when it either wants to completely disregard the updated information (when
it's allowed to be disregarded, which normally is allowed) by either
resetting the form or by backing out of the form, or when the user wants to
get some help and goes to click on the "Help" command button (if there is
one on the form, which rarely would be the case, but just pointed this out
as one such example of when error checking on the control is NOT wanted).

Anyhow, at the time when the user then updates the record, DAO then and only
then at that time goes into Edit Mode (Property Value of 1) and when it's
done, removes the user from the System Table for that particular record that
deals with Editing records.

Conclusion given the Cursor Keyset issue in ADO, I have not been able to use
ADO programming, which an outside source has told me this has been modified
to allow for dynamic cursor keyset against a Jet Engine DB program, but I
don't see any documentation of it. Given the various issues of Access and
DAO programming, I have had to setup my own custom modulated code to address
these issues.
 
D

Dan Artuso

Hi,
I'm not entirely clear on what the problem is.
ADO has Dynamic and Keyset cursors.
With a Dynamic cursor you can pretty much do anything you want.
What feature does this cursor lack that you need?
 
G

Graham R Seach

Ronald,

The ADO keyset recordset works fine - just use a client-side cursor. But
since you're operating against Jet, you really are better off using DAO. DAO
was developed specifically for Jet, and is optimised specifically for it.
DAO is still the best option for working with Jet.

As for the Edit mode thing, are you issuing the Update method when you're
finished editing?

rs.Edit
rs!Field1 = 123
rs!Field2 = "ABC"
rs.Update

Regards,
Graham R Seach
Microsoft Access MVP
Sydney, Australia
---------------------------
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top