[AccessD] Sleuthing - query has become non-updateable

Joe O'Connell joeo at appoli.com
Thu Jan 12 13:41:54 CST 2012


Doug,

An application that runs at a client site has a table with an auto
number primary key.  Occasionally Access loses track of the next value
for the auto number field and attempts to reuse a number that already
exists.  We have never been able to figure out why this happens, but the
solution is to reseed the next value with this subroutine:

Public Sub FixEmpID()
    Dim lngSeed As Long
    Dim rs As DAO.Recordset
    Dim strSQL As String
    strSQL = "SELECT Max(tblEmployee.atnEmpID) AS MaxOfatnEmpID FROM
tblEmployee;"
    Set rs = CurrentDb.OpenRecordset(strSQL)
    lngSeed = rs("MaxOfatnEmpID") + 1
    strSQL = "ALTER TABLE tblEmployee ALTER COLUMN atnEmpID COUNTER(1,"
& lngSeed & ")"
    CurrentDb.Execute strSQL
    rs.Close
    Set rs = Nothing
    strSQL = ""
End Sub

Joe O'Connell


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Doug Steele
Sent: Wednesday, January 11, 2012 5:33 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Sleuthing - query has become non-updateable

Backups:  As far as I can remember we did have a backup, but it was at
least 24 hours old and the client was reluctant to take the chance of
losing a day's work.  And I had I initially assured him it would just
take a few minutes to fix....The other two times it happened, I figured
it out pretty quickly.

Autonumber: The situation has only occurred in tables with autonumber
primary keys.

Doug

On Wed, Jan 11, 2012 at 10:02 AM, Mark Simms <marksimms at verizon.net>
wrote:

> In the start-up form, this should be fairly trivial to check for this 
> problem via VBA, correct ?
>
> Does it also happen in the case where the primary key is NOT
autonumber ?
>
> > I can't tell you why, but every once in a while I have the problem 
> > where a corrupted row in a table changes the table definition, 
> > removing
> the
> > primary key designation of an autonumber field.  At the same time 
> > the autonumber value sequence has gone bad, and the database tries 
> > to create
> duplicate
> > autonumber values.  I have had to rebuild the table, as Lambert 
> > suggests.
> >
> > Doug
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list