Jet does not support 'dynamic' set (dynamic as defined by ADO).
SELECT *
FROM somewhere
WHERE unitPrice >= 10
will continue to display records, once open, even if you change the unit
price to something < 10. The record will continue to be displayed even if
it does not satisfy, anymore, the condition (unless you re-open the
recordset). That is what a 'key-set' is about. The keys of the records (in
fact, bookmarks) are determined when the recordset is open, and from that
moment, the WHERE clause is forgotten... A record is to be displayed if its
key is in the keys-set, nothing more is checked. You can append new records,
but you won't see new records added by other users.
On the other hand, MS SQL Server can use a dynamic approach: for the same
query, if you change the unit price for something <10, the record is dropped
from the recordset. Side effect, you cannot UNDO such modification, since
you cannot touch the said record, anymore, if under a dynamic-set, if it
fall out of criteria. On the other hand, as for the keys-set, even with a
dynamic set, you won't see new records added by other users (unless you
re-open the recordset).
Sounds your environment uses a key-set, not a dynamic-set.
If you ask for a dynamic-set, with ADO, over a JET database, ADO will
gracefully degrade it to a key-set. You can check that by checking the
recordset type, ONCE it is open.
Hoping it may help,
Vanderghast, Access MVP
> Error in Access 2007:
>
[quoted text clipped - 26 lines]
> Has anyone had this occur and found a solution?
> Thanks,