Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Error: "Another user edited this record"

Posted on 2009-05-18
1
Medium Priority
?
229 Views
Last Modified: 2012-05-07
I have a linked Oracle table in Access application (via ODBC). There is a checkbox before each record, and there are a "select all" checkbox at the bottom of the page for selecting all the records.

The select checkbox is bound to "selected" field in Oracle table (0 or -1). And "select all" checkbox is bound to a query to update "status" of all records to 0 or -1. Everything seems good, except sometimes, when you check one record, and select "select all records", it will display error messages like:
1. "The data has been changed: Another user edited this record and saved the changes before you attempted to save your changes. Re-edit the record"
2. run-time error '3197' "the microsoft jet database engine stopped the process because you and another user are attempting to change the same data at the same time."

This is a serious problem, I kind of know it's beecause access will store the table in its cache, and if the selected status change, it will report "Another user edited this record". But could anyone give me detailed solution for this problem? Thanks a lot.
0
Comment
Question by:heyday2004
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 85

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 2000 total points
ID: 24421113
In Access, you should either (a) perform ALL data manipulation in your form or (b) perform ALL data manipulation through queries/code, but you should NOT combine the two. This is the cause of the error - while there may be only one user (yourself) working in the db at the same time, that user is trying to manipulate the same dataset in two different places (i.e. your form and your query), so Access considers that to be 2 users.

You can try issuing a Save before you execute your "UpdateAll" query:

Me.Dirty = False
<now run your query to update all the records>

This forces Access to save any pending changes. However, since you're working with ORacle, you may still have some issues with this depending on the refresh intervals and such. However, this typically takes care of it.
0

Featured Post

What Is Blockchain Technology?

Blockchain is a technology that underpins the success of Bitcoin and other digital currencies, but it has uses far beyond finance. Learn how blockchain works and why it is proving disruptive to other areas of IT.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question