none
MDB-Tabelle defekt RRS feed

  • Frage

  • Hallo

    mir ist gestern ganz plötzlich eine Tabelle meiner mdb kaputt gegangen. Ich konnte keine Daten mehr anfügen, es läge eine Schlüssel, bzw. Gültigkeitsverletztung vor, so die Fehlermeldung. Ich hatte allerdings an der docmd.runsql nichts geändert, wo ich zuerst den Fehler vermutete. Gott sei Dank hatte ich die Setwarnings nicht ausgeschaltet, sonst hätten wir möglicherweise gar nicht so schnell etwas gemerkt. Ich hatte noch Glück, nach stundenlangem Suchen konnte ich die Daten in eine neue Tabelle speichern und dann war alles wieder gut.

    Die Datenbank ist jetzt bestimmt schon 15 Jahre alt und wurde von Version zu Version immer wieder konvertiert und verändert. Kann es sein, dass sich die Tabellen "abnutzen"? Ich repariere und komprimiere sie regelmäßig, es ist ein Backend, es befinden sich nur Tabellen dort.

    Das Frontend ist eine accdb und das Backend noch eine mdb. Liegt es daran? Ich kann die mdb noch nicht in accdb umstellen, da noch einige VBA Applikationen in Word daran hängen. Ich habe jetzt auch mal gelesen, dass das auch nicht zwingend notwendig ist.

    Kann ich vorbeugend etwas tun, damit mir nicht noch mehr Tabellen kaputt gehen? Sicherungen mache ich auch jeden Tag. Ich habe mal überlegt, ob ich die Tabellen nicht alle neu erstelle und sie in einer neuen Datenbank speichere? Macht das Sinn?

    Liebe Grüße, die Luzie!

    Samstag, 21. Juli 2012 07:31

Antworten

  • Moin Moin,

    erstelle eine neue leere ACCDB und importiere die Tabellen aus der alten MDB. Damit hast du die "Konvertierung" schon erledigt. Du kannst die erfolgreiche Konvertierung erkennen, wenn beim Feldtyp die Anlagen mit angezeigt werden.

    Grüße aus Rostock

    Wolfgang

    (Netwolf)

    • Als Antwort markiert Luzie Sonntag, 29. Juli 2012 15:28
    Samstag, 21. Juli 2012 23:00

Alle Antworten

  • Samstag, 21. Juli 2012 14:29
  • Hallo Gunter,

    vielen Dank für die Antwort.

    Den Artikel kannte ich auch.

    Ich arbeite zwar mit Daten dieser mdb in Word, aber ich verändere sie nicht über Word. Ich führe lediglich ein Select durch und das auch nur mit 2 Tabellen aus der mdb.

    Ich habe natürlich auch nach der Fehlermeldung gegooglet, aber die meisten Beiträge gingen dahin, dass sich in der SQL in Type-Fehler oder ein Schlüsselwort eingeschichen hat, aber das war nicht der Fall, ich habe lediglich kein Insert mehr ausführen können. Und daran, dass die Tabelle defekt sein könnte, habe ich lange nicht gedacht.

    Was mich schon noch interessiert ist, ob es Sinn macht, diese "alte" Datenbank neu zu erstellen, d.h., jede einzelne Tabelle neu zu erstellen und sie in eine ganz neue Datenbank zu importieren? Macht es Sinn, sie möglichst schnell auch als accdb zu konvertieren?. Wie schon geschrieben, es ist nur ein Backend.

    Ich möchte auf jeden Fall irgendwie vorbeugen, wenn es eben geht.

    Die Zusammenfassung des FAQ-Beitrags deute ich so, dass letztendlich niemand weiß, wann und wo es passiert und man Glück habn muss, wenn man ein ziemlich aktuelles Backup hat.

    Liebe Grüße, die Luzie!

    • Als Antwort vorgeschlagen Gunter Avenius Sonntag, 29. Juli 2012 09:06
    Samstag, 21. Juli 2012 17:43
  • Hallo Luzie,

    Luzie schrieb folgendes:

    H> Die Zusammenfassung des FAQ-Beitrags deute ich so, dass
    letztendlich niemand weiß, wann und wo es passiert und man Glück
    habn muss, wenn man ein ziemlich aktuelles Backup hat.

    Jau!. Also immer schön Datensichern ;-)

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Samstag, 21. Juli 2012 17:58
  • Moin Moin,

    erstelle eine neue leere ACCDB und importiere die Tabellen aus der alten MDB. Damit hast du die "Konvertierung" schon erledigt. Du kannst die erfolgreiche Konvertierung erkennen, wenn beim Feldtyp die Anlagen mit angezeigt werden.

    Grüße aus Rostock

    Wolfgang

    (Netwolf)

    • Als Antwort markiert Luzie Sonntag, 29. Juli 2012 15:28
    Samstag, 21. Juli 2012 23:00