Table changes cause "the recordset is not updateable???"

L

LAS

I have begun getting an error "The recordset is not updateable" on a form
that has been used for several years. I've made significant additions to
the database, but nothing involving this form. To check this, I've imported
copies of this form from months' old databases, have changed the color of
labels, to make sure I'm using the old form. So all I can think is that the
problem is in the database tables. Can anyone suggest what might have
changed in the tables to cause this error?

The error happens at this point.
Me!Principle2 = gi_MaxScore

The recordsource is this. This is from old, running copies of the form.

SELECT tblScores.*, tblperiods.Description, tblScores.Student_ID,
tblStudents.Personal_Goals
FROM (tblScores INNER JOIN tblperiods ON tblScores.Period_Code =
tblperiods.Period_Code) INNER JOIN tblStudents ON tblScores.Student_ID =
tblStudents.Student_ID
WHERE
(((tblScores.Student_ID)=[Forms]![frmStudentScoreEntry]![txtStudent_ID]) AND
((tblScores.Score_Date)=[Forms]![frmStudentScoreEntry]![txtScore_Date]) AND
((tblperiods.Period_Code)<>'*'))
ORDER BY tblperiods.Sort_Order;
 
D

David W. Fenton

The error happens at this point.
Me!Principle2 = gi_MaxScore

What is "gi_MaxScore"? Is it a control? A field in the Recordsource?
Either way, it should be fully specified, as Me!gi_MaxScore, and if
it's a field in the Recordsource that is not a ControlSource of a
control on the form, you might try creating a hidden control with
that as the ControlSource (whether or not you rename the control to
be different from the underlying field name makes no difference for
this kind of problem).

If I've identified the correct problem, it is something I consider a
bug in Access that was introduced in A2000, the same time that ADO
became an option, and the form Recordset property was introduced.

(perhaps you are now getting an inkling of why I avoid the form
Recordset property?)
 
L

LAS

Thanks for the interesting info. But, as I mentioned, this problem appears
no matter how many months I go back with copies of the working application,
so it had to be in the database. It turns out that tblPeriods had lost its
primary key during I don't know what work I was doing. Putting it back
solved the problem.
 
L

LAS

Thanks for the nugget of gold. As it turns out, I stumbled on the problem
myself, and it is, indeed, listed in his article. At some point one of my
tables (tblPeriods) lost its primary key - no keys, no indexes. When I put
it back the problem went away.

message
news:9132ff9f-b507-4e95-938b-3eb1e2a8d7b8@p22g2000pre.googlegroups.com...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top