Ian said:
I have seen it happen when only one user is using the database, but it
normally happens when the database is in full use by multiple users.
I'm not sure what this means. It might be that the odd behavior is
completely unrelated to the presence of multiple users in the database,
but there are usually multiple users in the database, so most of the
time when it happens, that condition exists. If it does happen when
there is only one user in the database, then it clearly isn't *caused*
by multiple users.
The users are rarely viewing or editting the same order. The same
data is displayed in other forms, but not edited in them. I have a
sales order list form which uses the same table.
I wouldn't expect that to have any impact.
I do use requery quite a lot. Mainly to renew combo boxes after the
user has gone to another form and then returned to the current form.
I know that when you requery a form focus returns to the first
record, so don't requery this subform.
Could Requery be having a more global effect? IE A requery happens
on a different form viewing the same job and this then cases the
record to jump on another users computer.
It shouldn't have any such effect. I'd be looking to make sure that
there is no code that does anything that could force the form or subform
to be requeried.
You mention other forms that are opened, presumably to add data to
supporting tables for combo boxes, etc. Could it be that one or more of
those forms requeries the calling form after a record is added, or on
close?
It is worth mentioning that my Front End database is over 20mb in
size. I started this thing in Acc2.0 and ran into many of its
limitations before switching to Acc97. Even then I have reached the
Table limit a few times before redesigning. I have a feeling that I
may be pushing the boundaries and this is what is causing the record
jump.
20MB isn't all that big, although it's a bit fat for a front-end, but I
don't know how many forms, reports, queries, and modules it has. By
"the Table limit", do you mean the maximum number of open tables, or
something else? If you were getting the "can't open any more databases"
message, your design may well be pushing the limits of Access. There
are usually ways to work around this problem, I'm told, though I haven't
actually encountered it myself.
The fact is, though, that I've never heard of forms requerying
themselves, even when that error has occurred. So I would keep looking
for something else that is causing the problem.
Thanks in advance, I appreciate the difficulty of debugging without
seeing.
If your database were smaller, I'd ask you to zip it up and send it to
me, but I can't really accept anything that large in e-mail.
More questions for you:
1. Is the back-end an Access (Jet) database, or is it SQL Server or some
other ODBC database? From what you've said, I have assumed the back-end
is an .mdb file, but I realize i'm not sure.
2. Does the table (or tables) on which this subform is based have a
primary key?
3. Is the form based on a query that joins two or more tables? If so,
is it possible that some process might be changing the field used to
join those tables?