Hallo! Hilfe!
Ich habe eine Datenbank auf verschiedenen Rechnern mittels Access Runtime 2007 problemlos laufen.
Auf einem System mit Windows XP läuft die Anwendung in der Runtime 2007 ebenfalls, allerdings ist die Anwendung hier ständig defekt.
Es kommt die Meldung "ID ist in dieser Tabelle kein Index" und die Datenbank ist kaputt.
Welche Ursachen kann es hierfür geben?
Vielen Dank!
Hallo,
wie Du schon richtig erkannt hast, ist vermutlich die DB "kaputt".
Vermutlich helfen folgende Schritte:
-- betroffene Tabelle in eine leere neue DB exportieren, in der alten DB löschen und wieder aus der neuen importieren. Bei FE/BE-Konstellation: für FE UND BE durchführen.
falls keine Besserung:
-- neue leere DB erzeugen und dort ALLE Objekte aus der alten importieren. Bei FE/BE-Konstellation: für FE UND BE durchführen.
falls das auch nicht hilft, weiterführende Tipps:
http://www.donkarl.com/?FAQ1.27
Da ich ein Frontend und ein Backend habe ist es nicht notwendig die kaputte Datei zu reparieren.
Der Fehler ist im Frontend und ich kann die kaputte Datenbank mit einer heilen überschreiben.
Der Fehler tritt allerdings ca alle 4 Tage auf und Mitarbeiter geben Daten ein und benötigen dann immer "Support".
Meine Frage ist also: Wie kann ich diesen Fehler vermeiden? Warum entsteht der Fehler?
Danke
Hallo,
ZitatDa ich ein Frontend und ein Backend habe ist es nicht notwendig die kaputte Datei zu reparieren.
Woraus schliesst Du das?
ZitatDer Fehler ist im Frontend und ich kann die kaputte Datenbank mit einer heilen überschreiben.
Bist Du sicher, dass Du überhaupt eine "heile" DB hast?
ZitatDer Fehler tritt allerdings ca alle 4 Tage auf und Mitarbeiter geben Daten ein und benötigen dann immer "Support".
Access bzw. die Fehlerursache hat "vermutlich" keinen eingebauten Timer. "Vermutlich" (Ich schreib "vermutlich" nicht umsonst, weil Ferndiagnose und Fehlerisolierung hier nicht möglich ist). Das Aufreten des Fehlers hängt "vermutlich" von den gerade im Zugriff befindlichen Daten ab. "Möglicherweise" bearbeiten nur die User am betroffenen PC ausgerechnet die fehlerhafte Stelle (Datensätze) in der betroffenen Tabelle, die anderen User dagegen nicht.
ZitatMeine Frage ist also: Wie kann ich diesen Fehler vermeiden? Warum entsteht der Fehler?
Diese beiden Fragen sind nicht konkret zu beantworten.. weil nicht alle Umgebungssituationen bekannt sind. Z. B. könnte es auch sein, dass im Fall einer Netzwerk-Umgebung ( es gibt lt. Beschreibung EIN BE.. ) Unterbrechungen bei der Netzwerkverbindung auftreten.
Wenn es dabei auch nur
EIN FE gibt, entsteht die "Vermutung", dass das FE nicht lokal für jeden User separat vorliegt und ausgeführt wird. Solche Konstellation beschwört grundsätzlich solche oder ähnliche Probleme herauf, besonders wenn der "vermutlich" vorhandene Code (nicht nur) im Hinblick auf Multiuser-Betrieb nicht sauber programmiert ist.
Da ich ein Frontend und ein Backend habe ist es nicht notwendig die kaputte Datei zu reparieren.
Woraus schliesst Du das?
Ich habe eine Datei database.accdb hier liegen die Daten und in der Datei zeiterfassung.accdb sind Verknüfungen zu den Tabellen in der Database.
Bei anderen, unabhängigen Usern, läuft das Programm in der gleichen Konstellation. Daher halte ich die zeiterfassung.accdb die ich reinkopiere für heile.
Eine leere und frische database habe ich auch schon mal reinkopiert.
Den verdacht, dass das Problem im Kontext mit dem Netzwerk steht hatte ich auch. Daher habe ich jetzt ein rein lokale Struktur aufgebaut. Der Fehler entsteht trotzdem.
Ist es vielleicht zielführend/hilfreich beim Start des Frontend zu prüfen, ob es bereits gestartet ist von welchem Windows User auch immer? Gibt es hierfür einen allgemeine Code der generell sinnvoll ist einzubauen?
Danke
Hallo Kuhr,
ZitatIst es vielleicht zielführend/hilfreich beim Start des Frontend zu prüfen, ob es bereits gestartet ist von welchem Windows User auch immer? Gibt es hierfür einen allgemeine Code der generell sinnvoll ist einzubauen?
Diese Problematik hat Franz schon in #3 angesprochen:
ZitatWenn es dabei auch nur EIN FE gibt, entsteht die "Vermutung", dass das FE nicht lokal für jeden User separat vorliegt und ausgeführt wird. Solche Konstellation beschwört grundsätzlich solche oder ähnliche Probleme herauf,
Du brauchst da nichts zu prüfen, wenn jeder User sein
eigenes FE hat.
gruss ekkehard