Solved

Run-time error 3197 on MS Access front-end to MySql Database

Posted on 2008-10-07
2
1,222 Views
Last Modified: 2013-11-28
I'm having an issue with an MS Access (2003) front-end to a MySql database.

Under certain circumstances, I will get the errors
      Write Conflict- The record has been changed...
      Microsoft Visual Basic- Run-time error 3197...

About the Access front-end-
On the Access form, I have several text controls, a few buttons, a checkbox, and a subform.

The SubForm displays previously entered records.

The checkbox on the Form 'flags' a record/project as being a 'priority' project. This causes the 'flagged' record to be displayed in the SubForm to have a Red background (using conditional formatting)

The buttons on the Form sort the SubForms records according to either-
   -the primary key (ascending or descding)
   -the assigned 'project number'(ascending or descending)
   -whether the record/project is 'flagged' as priority (orders 'flagged' records first).

For the most part, the front-end works without error-
-When the front-end starts, the SubForm records are sorted by default by the primary key.
-As such, I can select a record on the SubForm (which populates the Forms text fields with the records data) or scroll the Forms records, and use the Forms checkbox to flag a record as Priority. This works well- the record on the SubForm changes background to Red, or if unchecked, to White.

However, if I use one of the buttons to sort by 'project number' or by 'priority' flagged records, and then select a record and click the checkbox -  then I get the errors stated at the beginning of this post. I'll get the error when the checkbox is clicked.

I've read that these errors are sometimes related to a control being bound or unbound (I'm still fuzzy here).

If it helps, the checkbox isn't bound. In its 'On-Click' event procedure, I've coded it to set the value of a text box which IS bound to the table.

Sorry if this is confusing. It's pretty much how I live my life.
If a sample of the code used on the buttons is desired, please ask.

Thanks all, for your time and your help.
0
Comment
Question by:montarch
  • 2
2 Comments
 

Author Comment

by:montarch
ID: 22661158
Actually, I've discovered more regarding this issue.

It seems that I get the 3197 error only on certain records, regardless of the sorting being done via the buttons on the Form. This is odd.

Regardless of the sorting done, I can check/unckeck, without error, all records whose project numbers are 08, 07, 06, and 05 (these represent the year that the project was performed).

Any project numbers 04 or below, will trigger the error, regardless of sort order.
I'm checking the MySql tables (thru Navicat), to see what might be the difference with these 2004 and earlier records, and the 2005 thry 2008 records.
0
 

Accepted Solution

by:
montarch earned 0 total points
ID: 22662248
I've found out more by comapring the records that 'work' with the ones that don't.

It seems that the records have a date field with the data '0000-00-00', a valid date (such as 07/07/2006) or (null).

The records that have 0000-00-00 always return the error. The valid dates and (null) do not.

Working on a fix for this now. I'm not sure how I can easily convert all of the 0000-00-00 date entries to (null).
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

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

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Many companies are looking to get out of the datacenter business and to services like Microsoft Azure to provide Infrastructure as a Service (IaaS) solutions for legacy client server workloads, rather than continuing to make capital investments in h…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

772 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