Discussion:
mdb-Datei zerstört sich häufig
(zu alt für eine Antwort)
Frank Kilian
2006-07-11 11:20:02 UTC
Permalink
Hi zusammen,


ich habe hier ein Problem, dass sicherlich vielen von Euch bekannt vorkommt
und es bestimmt irgendeine Lösung dafür gibt.
Ich habe eine Access-DB (2003) die auf MS SQL 2000 zugreift. Die DB wird an
mehreren PCs als FrontEnd genutzt, so dass immer nur ein Benutzer auf eine
mdb zugreift.
In der "Master".mdb, in der ich regelmäßig programmiere und sie anschließend
wieder an die Clients verteile, tritt häufig der Fehler auf, dass die
Datenbank beim Öffnen meldet "Es ist ein Fehler aufgetreten ... wird versucht
die Datenbank zu reparieren."
Das Reparieren schlägt immer fehl und ich muss die Datenbank neu erstellen
und alle Objekte aus der zerstörten mdb in die neue kopieren.
Funktioniert zwar, ist auf Dauer aber sehr lästig, weil's ca. alle 1-2
Wochen passiert.

Woher kommt dieses Problem und was lässt sich dagegen machen. Ich kann mir
nicht vorstellen dass alle Access-Entwickler das einfach so hinnehmen.

Die Datenbank zerstört sich vorallem dann, wenn ich größere Änderungen am
Quellcode oder an Formularen durchgeführt habe.

Bin sehr auf Eure Antworten gespannt.


vielen Dank

Frank
Thomas Möller
2006-07-11 11:24:46 UTC
Permalink
Hallo Frank,
Post by Frank Kilian
Ich habe eine Access-DB (2003) die auf MS SQL 2000 zugreift. Die DB wird an
mehreren PCs als FrontEnd genutzt, so dass immer nur ein Benutzer auf eine
mdb zugreift.
In der "Master".mdb, in der ich regelmäßig programmiere und sie anschließend
wieder an die Clients verteile, tritt häufig der Fehler auf, dass die
Datenbank beim Öffnen meldet "Es ist ein Fehler aufgetreten ... wird versucht
die Datenbank zu reparieren."
Das Reparieren schlägt immer fehl und ich muss die Datenbank neu erstellen
und alle Objekte aus der zerstörten mdb in die neue kopieren.
Funktioniert zwar, ist auf Dauer aber sehr lästig, weil's ca. alle 1-2
Wochen passiert.
Die Datenbank zerstört sich vorallem dann, wenn ich größere Änderungen am
Quellcode oder an Formularen durchgeführt habe.
das könnte eine Korruption im VBA-Code sein.

Schau mal bei www.donkarl.com in die FAQ 1.23

HTH
--
Thomas

Homepage: www.Team-Moeller.de
Henry Habermacher [MVP Access]
2006-07-11 12:08:04 UTC
Permalink
Hallo Frank
Post by Frank Kilian
ich habe hier ein Problem, dass sicherlich vielen von Euch bekannt
vorkommt und es bestimmt irgendeine Lösung dafür gibt.
Ich habe eine Access-DB (2003) die auf MS SQL 2000 zugreift. Die DB
wird an mehreren PCs als FrontEnd genutzt, so dass immer nur ein
Benutzer auf eine mdb zugreift.
In der "Master".mdb, in der ich regelmäßig programmiere und sie
anschließend wieder an die Clients verteile, tritt häufig der Fehler
auf, dass die Datenbank beim Öffnen meldet "Es ist ein Fehler
aufgetreten ... wird versucht die Datenbank zu reparieren."
Das Reparieren schlägt immer fehl und ich muss die Datenbank neu
erstellen und alle Objekte aus der zerstörten mdb in die neue
kopieren.
Funktioniert zwar, ist auf Dauer aber sehr lästig, weil's ca. alle 1-2
Wochen passiert.
Woher kommt dieses Problem und was lässt sich dagegen machen. Ich
kann mir nicht vorstellen dass alle Access-Entwickler das einfach so
hinnehmen.
Die Datenbank zerstört sich vorallem dann, wenn ich größere
Änderungen am Quellcode oder an Formularen durchgeführt habe.
Wenn ich das richtig verstehe, haben die Clients keine lokale Kopie der FE.
Lies' mal FAQ 1.35 und das dort erwähnte WhitePaper "Betrieb von Access
Anwendungen".

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Oliver Straub
2006-07-11 13:22:08 UTC
Permalink
Post by Frank Kilian
ich habe hier ein Problem, dass sicherlich vielen von Euch bekannt vorkommt
...
Woher kommt dieses Problem und was lässt sich dagegen machen. Ich kann mir
nicht vorstellen dass alle Access-Entwickler das einfach so hinnehmen.
Ich habe eine Problem
Ich bin Alle
=> Alle haben ein Problem

Interessanter Gedankengang, wobei zu bemerken ist, dass Du in aufrecht
erhältst, obwohl Du ihn selber anzweifelst. Hilft Dir Ockhams Rasiermesser?
Wie viele Teilhypothesen benötigst Du um die Annahme zu begründen, dass alle
Access-Entwickler damit leben könnten, dass sich, gleichwohl ständig, ihre
MDBs verabschieden? Ich denke es sind ziemlich viele Hypothesen. Eine davon
müsste erklären, warum die Selbstmordrate innerhalb der Menge der
Access-Entwickler auch nicht höher ist, als die, der Gesamtmenge Mensch. ;)

Mit einem Verhältnis <2000:1 ist mir das auch schon passiert. Es gab dabei
keinen Zusammenhang, den man in die Access-Ebene schieben könnte. Nach einer
Namensänderung der Datei war sie korrupt. Meine Annahme zur Rettung meines
Selenheils: Plattenfehler. :-)

Du arbeitest mit lokal gespeicherten FEs. FEs als mde oder mdb? Wenn das
mdes wären, wüsste man das man diese aus deiner master.mdb erzeugen könnte.
(-> sprich: Reparieren/Komprimieren/ Kompilieren funktioniert!)

Wenn Du eine funktionierende MDB hast und diese wochenlang nicht benutzt,
und sie dann öffnen willst, und sie ist hinüber, dann stimmt es irgendwo
anders nicht!


Gruss
Oliver
Jörg Ackermann
2006-07-11 13:29:00 UTC
Permalink
Hi,
Post by Frank Kilian
ich habe hier ein Problem, dass sicherlich vielen von Euch bekannt
vorkommt und es bestimmt irgendeine Lösung dafür gibt.
Ich habe eine Access-DB (2003) die auf MS SQL 2000 zugreift. Die DB
wird an mehreren PCs als FrontEnd genutzt, so dass immer nur ein
Benutzer auf eine mdb zugreift.
In der "Master".mdb, in der ich regelmäßig programmiere und sie
anschließend wieder an die Clients verteile, tritt häufig der Fehler
auf, dass die Datenbank beim Öffnen meldet "Es ist ein Fehler
aufgetreten ... wird versucht die Datenbank zu reparieren."
Das Reparieren schlägt immer fehl und ich muss die Datenbank neu
erstellen und alle Objekte aus der zerstörten mdb in die neue
kopieren.
Funktioniert zwar, ist auf Dauer aber sehr lästig, weil's ca. alle 1-2
Wochen passiert.
Woher kommt dieses Problem und was lässt sich dagegen machen. Ich
kann mir nicht vorstellen dass alle Access-Entwickler das einfach so
hinnehmen.
Die Datenbank zerstört sich vorallem dann, wenn ich größere
Änderungen am Quellcode oder an Formularen durchgeführt habe.
Erfahrungsgemäß tritt so etwas nur auf, wenn man
Codeänderungen im Debugmodus ausführt.
Also: Haltepunkt gesetzt oder nach Fehler in
den Debugmodus gegangen - Code geändert - weitergearbeitet.

Nachdem ich mir angewöhnt habe *immer* zuerst den
Debugmodus zu beenden und nach *jeder* Codeänderung
zu kompilieren und zu speichern, kenne ich das
Problem gar nicht mehr.

Gruß
Gottfried Lesigang
2006-07-11 20:18:00 UTC
Permalink
Grüß euch!
Post by Jörg Ackermann
Post by Frank Kilian
Die Datenbank zerstört sich vorallem dann, wenn ich größere
Änderungen am Quellcode oder an Formularen durchgeführt habe.
Erfahrungsgemäß tritt so etwas nur auf, wenn man
Codeänderungen im Debugmodus ausführt.
Also: Haltepunkt gesetzt oder nach Fehler in
den Debugmodus gegangen - Code geändert - weitergearbeitet.
Nachdem ich mir angewöhnt habe *immer* zuerst den
Debugmodus zu beenden und nach *jeder* Codeänderung
zu kompilieren und zu speichern, kenne ich das
Problem gar nicht mehr.
Das wäre mir zu mühsam, da ich gerade das Code-Ändern im Debugmodus sehr
oft nutze und nicht missen möchte. Bei aufwändigeren Projekten ist das
Herbeiführen einer konkreten Fehlersituation ja oftmals recht langwierig.

Ich habe mir angewöhnt für jedes Projekt eine kleine ".bat" Datei in den
Projekt-Ordner zu stellen, die mein Projekt mit "/decompile" öffnet. Damit
öffne ich dann regelmäßig das Projekt. Nach dem Öffnen noch
"Komprimieren/Reparieren" und eine saubere, kleine Sicherungskopie, dann
geht's an die Arbeit. Damit hatte ich schon sehr lange keine Probleme
mehr...

Das sporadisch auftretende "Access hat einen Fehler festgestellt..." ist
mir damit auch ziemlich wurscht...

Bissl "russisch", aber wirkungsvoll ;-)

lg
Gottfried
--
Home: www.develes.net
Mail: gol /at/ develes /dot/ net
Access-FAQ: www.donkarl.com
Henry Habermacher [MVP Access]
2006-07-12 04:13:32 UTC
Permalink
Hallo Gottfried
Post by Gottfried Lesigang
Post by Jörg Ackermann
Nachdem ich mir angewöhnt habe *immer* zuerst den
Debugmodus zu beenden und nach *jeder* Codeänderung
zu kompilieren und zu speichern, kenne ich das
Problem gar nicht mehr.
Das wäre mir zu mühsam, da ich gerade das Code-Ändern im Debugmodus
sehr oft nutze und nicht missen möchte. Bei aufwändigeren Projekten
ist das Herbeiführen einer konkreten Fehlersituation ja oftmals recht
langwierig.
Ich habe mir angewöhnt für jedes Projekt eine kleine ".bat" Datei in
den Projekt-Ordner zu stellen, die mein Projekt mit "/decompile"
öffnet. Damit öffne ich dann regelmäßig das Projekt. Nach dem Öffnen
noch "Komprimieren/Reparieren" und eine saubere, kleine
Sicherungskopie, dann geht's an die Arbeit. Damit hatte ich schon
sehr lange keine Probleme mehr...
Das sporadisch auftretende "Access hat einen Fehler festgestellt..."
ist mir damit auch ziemlich wurscht...
Auch das wäre mir zu mühevoll.
Die Methode, mit der Ich bisher keine Probleme hatte ist, nach den
Codeänderungen im Debug Modus im VBA Editor schnell Save und danach Compile
all in der Toolbar, rsp. im Menü zu klicken und dann mit dem Debuggen
weiterzufahren. Wenn's dann kracht (was so durchaus noch vorkommen kann),
dann wird nichts Weiteres weggeschrieben worden und ein /Decompile /Compact
behebt die allfällig aufgetretenen ByteCode-Leichen anstandslos. Dafür habe
ich einen Shortcut (gliche mit /Decompile /Compact gemeinsam, damit Access
anschliessend gleich wieder beendet wird) den ich statt des Shortcuts zum
Öffnen der Anwendung anklicke, bevor ich diese dann wieder im
Entwicklungsmodus öffne. Dass ich einen Decompile machen muss, kommst bei
intensiver Arbeit so aber allenfalls noch 1-2 mal pro Monat vor.
(selbstverständlich mache ich jeweils vor dem /Decompile einen Backup der
MDB, wie sich das gehört.)

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Loading...