PC Review


Reply
Thread Tools Rate Thread

How to clean up MSysObjects

 
 
Brian
Guest
Posts: n/a
 
      25th Mar 2010
Is there a way to clean up the references to all the deleted objects in
MSysObjects without creating a new DB and importing objects?

When beginning a new application, I generally save myself a lot of work by
copying one MDB to another as a template, remove some objects, leaving in
place several modules and a few sample forms & reports to use as templates in
the new application.

I just noticed that my MSysObjects table has references to a host of
nonexistent objects - ones that I have deleted from various applications over
the years. In addition, I had one particular form in my current application
that repeatedly became corrupt (would not open that form in any mode; no
access to its module), requiring me to retrieve my entire app from backup and
re-doing work--four or five times now.

I tried importing the form to another DB and got a "no current record"
error, which is what prompted me to suspect a broken object reference and
look through MSysObjects for its reference, in turn revealing all the ghost
references.

In the end, I just created a new MDB and imported the objects from a
pre-corrupted version of the new app. However, I then had to go through
several settings (like turning off name AutoCorrect and Subdatasheet Name) as
well as creating a couple of custom DB properties I use on all my apps.

Decompile does not seem to remove all the old object references.
 
Reply With Quote
 
 
 
 
Brian
Guest
Posts: n/a
 
      25th Mar 2010
Well, getting to what prompted my question: my form was again corrupted, even
after creating a new DB, so maybe this question is not relevant. I will post
a new under under the subject Form repeatedly becoming corrupt

"Brian" wrote:

> Is there a way to clean up the references to all the deleted objects in
> MSysObjects without creating a new DB and importing objects?
>
> When beginning a new application, I generally save myself a lot of work by
> copying one MDB to another as a template, remove some objects, leaving in
> place several modules and a few sample forms & reports to use as templates in
> the new application.
>
> I just noticed that my MSysObjects table has references to a host of
> nonexistent objects - ones that I have deleted from various applications over
> the years. In addition, I had one particular form in my current application
> that repeatedly became corrupt (would not open that form in any mode; no
> access to its module), requiring me to retrieve my entire app from backup and
> re-doing work--four or five times now.
>
> I tried importing the form to another DB and got a "no current record"
> error, which is what prompted me to suspect a broken object reference and
> look through MSysObjects for its reference, in turn revealing all the ghost
> references.
>
> In the end, I just created a new MDB and imported the objects from a
> pre-corrupted version of the new app. However, I then had to go through
> several settings (like turning off name AutoCorrect and Subdatasheet Name) as
> well as creating a couple of custom DB properties I use on all my apps.
>
> Decompile does not seem to remove all the old object references.

 
Reply With Quote
 
John W. Vinson
Guest
Posts: n/a
 
      26th Mar 2010
On Thu, 25 Mar 2010 13:12:03 -0700, Brian <(E-Mail Removed)>
wrote:

>Well, getting to what prompted my question: my form was again corrupted, even
>after creating a new DB, so maybe this question is not relevant. I will post
>a new under under the subject Form repeatedly becoming corrupt


Probably time to create a new database and import all the objects EXCEPT this
form... and rebuild this form from scratch (or at the most, create a new blank
form and copy and paste the controls).
--

John W. Vinson [MVP]
 
Reply With Quote
 
J. Dan
Guest
Posts: n/a
 
      12th Apr 2010
Hi
I have quite similar ( but slightly different) problem with MS ACCESS 2007

It seems that it is somehow relate to the new fields types additions which are "Memo" with AppendOn and "Attachments"

On relinking of tables which uses such fields causes the same problem described above. Compressing and Fixing the table does not help.

I found that even if I remove the tables and restores them does not necessarily help. I found that it might be related to this table "MSysComplexColumns" which holds information and references about the "attachments" type field. Even when I remove the said tables the records in "MSysComplexColumns" still reside

Is there anyway removing these entries "MSysComplexColumns" is a system table. protected from writing) and by this recovering the links

Thanks

J. Da


---
frmsrcurl: http://msgroups.net/microsoft.public...up-MSysObjects
 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
MSysObjects & add-in Aaron Kogan Microsoft Access Forms 1 23rd Mar 2007 02:15 AM
MSysObjects Vsn Microsoft Access Form Coding 5 23rd Dec 2006 03:33 PM
MSysObjects =?Utf-8?B?TWFydGlu?= Microsoft Access 2 19th Jan 2006 05:31 AM
MSysObjects =?Utf-8?B?U3RlbGlvcw==?= Microsoft Access VBA Modules 0 25th Sep 2004 05:16 PM
MSysObjects =?Utf-8?B?VGVycmk=?= Microsoft Access Security 2 12th Jul 2004 08:31 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 01:16 PM.