The SAVE action was cancelled

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi - I have a an app originally written in Access97 and coverted minimally to
work single-user under Access2003. I'm now experimenting to see if we can
run it with 2-4 users.

The MDB file lives on a machine running XP HOME (yes, we're a SMALL business)

For testing, I have my laptop (running XP PRO) and connected via our
network. I made the folder on the "server" system shareable and am able to
login to the database from both locations and browse records OK. As soon as
I try to SAVE changes on a record, I get the msg shown in the subject of this
email. However, when I close the record, the change is actually there.

This happens from either PC and continues unless one of the machines exits
from the application. They don't have to be looking at the same record to
interfere with other.

My database options are set to:
Default file format: Access 2000
Default open mode: shared
Default record loccking: no locks (and have tried the other values here as
well)
Open database with record-level locking is checked

Does anyone have a suggestion?

Thanks a lot,
dave cook
phone source
 
suggest you start by splitting your database. tables go into a backend file
that sits on your server. all other objects go into a frontend file, and the
backend tables are linked to the frontend. a copy of the frontend is placed
on the PC of each person who uses the database. see
http://www.granite.ab.ca/access/performancefaq.htm for more tips on
optimizing performance in a shared database.

hth
 
Thanks for that suggestion. Actually, I tried that first and the problem is
that I have lots of code that opens tables, sets indexes on them, and makes
changes to them. All this code (I discovered) would have to be changed
considerably to work in a linked-table environment, which doesn't allow
references like

set weborders=psbcust.openrecordset("weborders",DB_OPEN_TABLE)

nor

weborders.index="orderid"

SO I was trying to do this the less-efficient way.

Is it possible?

thanks,
dave
--
Dave
PHONE SOURCE
www.thephonesource.com


tina said:
suggest you start by splitting your database. tables go into a backend file
that sits on your server. all other objects go into a frontend file, and the
backend tables are linked to the frontend. a copy of the frontend is placed
on the PC of each person who uses the database. see
http://www.granite.ab.ca/access/performancefaq.htm for more tips on
optimizing performance in a shared database.

hth
 
sorry, dave, i have no other suggestions for you.


David said:
Thanks for that suggestion. Actually, I tried that first and the problem is
that I have lots of code that opens tables, sets indexes on them, and makes
changes to them. All this code (I discovered) would have to be changed
considerably to work in a linked-table environment, which doesn't allow
references like

set weborders=psbcust.openrecordset("weborders",DB_OPEN_TABLE)

nor

weborders.index="orderid"

SO I was trying to do this the less-efficient way.

Is it possible?

thanks,
dave
 
the problem is
that I have lots of code that opens tables, sets indexes on them, and
makes changes to them.

This is a very old-fashioned way of working with databases, and generally
comes from not making the break from file managers like dBase.

You need now to move up into the late sixties, and embrace the world of
RDBMS -- although Access is not strictly a RDBMS, it's close enough to
warrant a similar approach. Indexing is a once-only design time process;
making changes to data should all be done via queries. As long as you
have made a good job of the schema design (that's the "R" part), the db
engine itself will use whatever indexes are appropriate (the "MS" part).

Chuck out all those Open Table methods!

Hope that helps



Tim F
 
I guess this newsgroup is only for people who do things the ideal right way
and not for those who are willing to accept a good-enough real-world solution.

Maybe there isn't a short-term (possibly kludgy) way to make it run
multi-user without rethinking all my ways of doing things. But neither
answer I received on this forum actually said that. I felt lectured rather
than helped- the message I received was "you're wasting your time - do it
the right way or not at all"

If one of your answers had explicitly said "Sorry, it's not possible unless
you do the re-design necessary to conform to a more modern approach," then I
would accept that advice. But my sense is that I'm not being told what is
necessary, but rather what is fashionable.


- dave





But I won't bother this newsgroup with my amateeurish questions anymore.
 
Back
Top