Office: (Office 2003) MSysObjects Bereinigen

Helfe beim Thema MSysObjects Bereinigen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; hallo zusammen, ich habe festgestellt, daß unter der systemtabelle MSysObjects und auch teilweise den anderen systemtabellen teilweise dubiose... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von NoPogo, 23. September 2007.

  1. MSysObjects Bereinigen


    hallo zusammen,

    ich habe festgestellt, daß unter der systemtabelle MSysObjects und auch teilweise den anderen systemtabellen teilweise dubiose einträge enthalten sind.

    da tauchen zum beispiel formular-objekte auf, die so heißen:
    "~TMPCLP330261"

    oder andere objekte, die mit "~sq_centwurf..." beginnen

    wie kann ich diese objekte "aufräumen" bzw. entfernen??
    Reparatur und Komprimierung der MDB bringt keinen erfolg.

    hat jemand dazu vielleicht einen tip oder eigene erfahrungen???

    :)
     
  2. Hallo,
    da ist nix dubioses dabei. Da kannst Du auch nichts bereinigen. Die Systemobjekte sind alle geschützt. Auch Deine eigenen Tabellen und Abfragen kannst Du da nicht löschen. Die Objekte die Access in diesen Tabellen speichert sind alle wichtig für die Funktion Deiner DB. Hier werden z.B. die internen Indizetabellen gespeichert, die internen Abfragen, die Beziehungen usw. usw. Diese Tabellen sind normalerweise ausgeblendet und sollte es auch bleiben. Du solltest einfach die Finger davon lassen, aber es geht ja eh nix.
     
    gpswanderer, 24. September 2007
    #2
  3. ist halt nervig, weil die eigentlich gar nicht vorhandenen objekte, wie z.B. diese TMP-formulare auch im VBA-editor als objekt auftauchen und teilweise zu fehler führen.

    ...habe erstmal eine pragmatische lösung:
    habe mir ein makro gebastetl, was alle vorhandenen UND NOTWENDIGEN Objekte in eine neue LEERE MDB-datei transferiert. damit ist das problem erstmal aus der welt.
     
  4. MSysObjects Bereinigen

    viele dieser Objekte mit Tilde ~ stammen u.a. von Kombi- und Listenfeldern die keine feste Abfrage haben sondern einen SQL-String. Die Sache ist nicht weiter problematisch und kann i.a. ignoriert werden. Wichtiger ist dass Du stets alle Recordsets sauber schliesst, das kann in einzelnen Prozeduren wie folgt geschehen:
    Code:
     
  5. Da stehen zwei unterschiedliche Sachen drin:
    Die ~sq-Einträge verweisen auf versteckte gespeicherte Abfragen, die die Datenherkunft für Formulare, Kombinationsfelder etc. bilden. Wenn in die Datenherkunft eines Kombos direkt ein SQL-String eingetragen wird, dann speichert Access diesen aus Performancegründen in eine versteckte Abfrage. (Performance deshalb, weil beim Ermitteln der Daten für das Kombo zur Laufzeit dann nicht jedesmal ein QueryPlan aufgestellt werden muss.)

    Löschen kann man die wie jede andere Abfrage auch per VBA:
    Currentdb.QueryDefs.Delete "~sq_ffrmKunden"

    Ich mache das tatsächlich auch, um die MDBs nach Fertigstellung zu bereinigen. Denn Access selbst löscht diese versteckten Abfragen IMHO nicht. Wird das Formular frmKunden im Beispiel gelöscht, dann bleibt trotzdem die versteckte Datenherkunftsabfrage in der DB.
    Dieses Löschen schadet nicht, denn die ~sq-Abfrage wird bei der nächsten Benutzung des Formulars automatisch wieder angelegt.

    Was ganz anderes sind die ~TMPCLP-Einträge in MSysObjects:
    Die entstehen, wenn ein Objekt in die Zwischenablage von Access gelegt wird (nicht die von Windows!). Das passiert übrigens - Achtung! - auch, wenn man ein Datenbankobjekt mit STRG-ENTF löscht.
    In beiden Fällen sollte beim Schließen der Datenbank die Nachfrage auftauchen: "Möchten Sie Access schließen und den Inhalt der Zwischenablage freigeben?". Die Bestätigung dieser Nachfrage führt dazu, dass Access die ~TMPCLP-Enträge samt den zugehörigen internen Objekten löscht.
    Wenn das NICHT passiert, dann ist was im Argen!
    Wenn also direkt nach dem Öffnen in MSysObjects ~TMPCLP-Einträge sind, dann sind das verwaiste Objekte, die man per VBA AFAIK nicht löschen kann. Entstehen können sie, wenn ein Objekt etwa mit STRG-ENTF gelöscht wurde, und die DB dann irgendwann während dieser Session abstürzte.
    Diese Einträge sind ein Hinweis darauf, dass man die MDB dekompilieren und komprimieren sollte.

    Ciao, Sascha
     
    Sascha Trowitzsch, 25. September 2007
    #5
  6. vielen dank für die detaillierten informationen.
    haben mir sehr geholfen!
     
Thema:

MSysObjects Bereinigen

Die Seite wird geladen...
  1. MSysObjects Bereinigen - Similar Threads - MSysObjects Bereinigen

  2. Wöchentliche Daten in stündliche aufteilen

    in Microsoft Excel Hilfe
    Wöchentliche Daten in stündliche aufteilen: Ich have wöchentliche Daten, welche ich in stündliche Daten übersetzen muss. Um genauer zu sein, ich habe Werte für jede Woche von jedem Jahr in einer Kolumne, welche ich nun für jede Stunde...
  3. Die zehn besten Methoden zum Bereinigen von Daten

    in Microsoft Excel Tutorials
    Die zehn besten Methoden zum Bereinigen von Daten: Die zehn besten Methoden zum Bereinigen von Daten Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Mehr......
  4. Bereinigen von übermäßiger Zellformatierung auf einem Arbeitsblatt

    in Microsoft Excel Tutorials
    Bereinigen von übermäßiger Zellformatierung auf einem Arbeitsblatt: Bereinigen von übermäßiger Zellformatierung auf einem Arbeitsblatt Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Office Business Mehr......
  5. Bereinigen des Posteingangs

    in Microsoft Outlook Tutorials
    Bereinigen des Posteingangs: https://eus-streaming-video-rt-microsoft-com.akamaized.net/8c2e9f32-5478-42bf-9c36-8ba6b11dc390/f283c01c-34f4-473d-8db6-cdf56599_3400.mp4 Probieren Sie es aus! Mit Unterhaltung...
  6. MSysObjects

    in Microsoft Access Hilfe
    MSysObjects: Hallo Forum, ich möchte ein Formular erstellen, das mir alle in der Datenbank enthaltenen Tabellen und die jeweilige Anzahl Datensätze auflistet. Hintergrund: über das Formular möchte ich...
  7. MSysObjects Type-Auflistung

    in Microsoft Access Hilfe
    MSysObjects Type-Auflistung: Hallo zusammen, ich bin auf der Suche nach einer Auflistung (oder einem Link dazu) der möglichen Werte in der Spalte TYPE in der Tabelle MSysObjects. Da Type als zu allgemeiner Begriff...
  8. Leseberechtigung auf MSysObjects

    in Microsoft Access Hilfe
    Leseberechtigung auf MSysObjects: Tag, ich möchte die MSysObjects in einer Accessdatenbank lesen (von Excel aus, Grund: Ich möchte wissen, welche Tabellen in der Datenbank sind, Access ist auf dem Zielrechner nicht installiert):...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden