[AccessD] Autonumber Corruption ...Help!!!!

William Hindman dejpolsys at hotmail.com
Wed Jan 29 14:34:07 CST 2003


...lol...if there is a hard way to do something, Drew will explain it :)

...I really appreciate the effort guy and have added your code to my 
CodeKeeper if this ever comes up again ...:)))))

William






>From: Drew Wutka <DWUTKA at marlow.com>
>Reply-To: accessd at databaseadvisors.com
>To: "'accessd at databaseadvisors.com'" <accessd at databaseadvisors.com>
>Subject: RE: [AccessD] Autonumber Corruption ...Help!!!!
>Date: Wed, 29 Jan 2003 12:58:07 -0600
>
>Okay, the easiest way to update would be an append.  However, I am a code
>head.  So I was hit with this problem about 6 months ago.  They wanted to
>'re-number' an Autonumber field, and the developer had switched to Numbers,
>and made the change, and wanted to put the 'new' numbers into the table.  
>So
>I whipped up a little code for this.  It uses two recordsets.  rsNew and
>rsOld.  rsNew needs to open a blank copy of the table with the Number 
>field,
>but with an AutoNumber field instead.  rsOld opens the number field table.
>If the records are sorted by that Number, use a SQL statement instead of
>opening the table directly.
>
>Last but not least, there are two lines that say
>rsNew.Fields(1).value="Test".  Fields(1) needs to point to a text
>field...any text field will do, so just replace the '1' in both places with
>the first text field in the table.  (remember 0 is the first field...)
>
>Here's the code:
>
>Dim rsNew As Recordset
>Dim rsOld As Recordset
>Dim intCurrentKey As Long
>Dim i As Long
>Set rsNew = CurrentDb.OpenRecordset("Problems", dbOpenTable)
>Set rsOld = CurrentDb.OpenRecordset("Problems-old3", dbOpenTable)
>rsOld.MoveFirst
>Do Until rsOld.EOF = True
>     intCurrentKey = rsOld.Fields(0).Value
>     rsNew.AddNew
>     rsNew.Fields(1).Value = "Test"
>     rsNew.Update
>     rsNew.MoveLast
>     Do Until rsNew.Fields(0).Value = intCurrentKey
>         rsNew.Delete
>         rsNew.AddNew
>         rsNew.Fields(1).Value = "Test"
>         rsNew.Update
>         rsNew.MoveLast
>     Loop
>     rsNew.Edit
>     For i = 1 To rsOld.Fields.Count - 1
>         rsNew.Fields(i).Value = rsOld.Fields(i).Value
>     Next i
>     rsNew.Update
>     rsOld.MoveNext
>Loop
>MsgBox "Done"
>
>-----Original Message-----
>From: William Hindman [mailto:dejpolsys at hotmail.com]
>Sent: Wednesday, January 29, 2003 11:56 AM
>To: accessd at databaseadvisors.com
>Subject: [AccessD] Autonumber Corruption ...Help!!!!
>
>
>...I did something really stupid ...not enough sleep I guess :(
>
>...tblCompany.CompID is an Autonumber PK in a be mdb
>
>...one of clients computers disconnected suddenly and corrupted the mdb
>
>...an entire record in tblCompany was corrupted and repair did not fix it
>...so I went to an archive from December and copied the record and pasted 
>it
>
>into the current table ...all fine except that the AN PK had now changed 
>and
>
>would not let me replace it with the original :(
>
>...so I got stupid and went into design mode and changed the type from AN 
>to
>
>a long ...fixed the PK ...then tried to change the data type back ...and of
>course it won't let me :(((((
>
>...the company owner has last night's server backup tape but is in Miami 
>and
>
>no one can reach him :(((((
>
>...is there any way on god's green earth I can repair this?
>
>William ...doofus extraordinaire :((((
>
>
>
>
>
>
>_________________________________________________________________
>Add photos to your messages with MSN 8. Get 2 months FREE*.
>http://join.msn.com/?page=features/featuredemail
>
>_______________________________________________
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>_______________________________________________
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd


_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*  
http://join.msn.com/?page=features/virus




More information about the AccessD mailing list