Hi,
hattet ihr das schon mal bzw. weiß jemand die Ursache? Mir ist das jetzt schon 2-3 mal im Laufe von einem Jahr passiert, dass beim Öffnen einer accdb die Fehlermeldung "die VBA-Module in dieser Datenbank wurden anscheinend mit Fehlern gespeichert" zig mal kommt und dann alle VBAs gelöscht sind.
Datensicherungen machen zwar eine Rettung unkompliziert, jedoch würde ich gern mal wissen, woran das liegt. Die DB liegt auf einem netzlaufwerk. Die VBAs im Startformular sind auch keine wilden, sondern eher Verweis-VBAs und autofill-VBAs für bestimmte Felder.
Gruß Mario
Hallo,
und was würde Access melden, wenn du nach einer Wiederherstellung im VBA-Editor über Menü ---> Debuggen ---> Kompilieren von Datenbank
mal einfach zur Probe d'rüberlaufen läßt?
tatsächlich erhalte ich hier 2-3 Fehler. Für mich scheinbar kleinere Sachen, aber ich guck mir das morgen mal an und poste es hier. Bin mal gespannt, ob du (ihr) sagt, dass es daran gelegen hat.
Man darf ja nicht vergessen, dass die Datenbank läuft und auch immer mit dem gleichen Hauptformular. Ich wüsste also nicht, warum es lange geht, und dann plötzlich sich alles verabschiedet.
bis Morgen und danke schon mal :-)
ach noch was, ein Module habe ich da nicht drin, sondern man sieht lediglich in der VBA-Oberfläche die Datenbank, und unter dem Pluszeichen meine 5 Formularnamen mit den darin stehenden VBAs beim anklicken. (weil die Fehlermeldung was mit "Modulen" ausgibt)
Kann da schon was ursächlich sein?
Gruß
Hallo,
" Für mich scheinbar kleinere Sachen"
naja, Access ist da nicht so großzügig... Also solange den Code korrigieren, bis keine Kompilierungsfehler mehr erscheinen. Das ist aber noch keine Garantie, dass keine Laufzeitfehler auftreten (werden)
Sehr empfehlenswert ist der Gebrauch von
Option Explicit
in JEDEM Modulkopf, damit undeklarierte Variablen erkannt werden, was ansonsten zu frustriender Fehlersuche ausarten kann.
Die Module, die Du bei den Formularen siehst, sind die Klassenmodule der Formulare, neben den allgemeinen oder Standard-Modulen, die auch im Datenbankfenster unter "Module" erscheinen.
Die "VBA"s , wie Du sie nennst, sind Prozeduren (Funktionen oder Subs (Subroutinen))
Hallo,
ZitatFür mich scheinbar kleinere Sachen
naja ... wie du schon richtig schreibst - SCHEINBAR. Bei VBA gibts so wie bei anderen Programmirsprachen beim Kompilieren keine 'Warnings' - ein FEHLER ist ein FEHLER - und wenn Access beim Kompilieren einen solchen meldet solltest du das schon ziemlich ernst nehmen und auch glauben ;D ;D ;D
ZitatIch wüsste also nicht, warum es lange geht, und dann plötzlich sich alles verabschiedet
Da dürfte dann zwischen fehlerfrei laufen und dem derzeitigen Problem eine Änderung innerhalb der funktionierenden Struktur stattgefunden haben.
Ja, und diese Änderung(en) bewirken dann plötzlich dass da was nicht mehr so läuft wir vorher.
Rest 1:1 zu DF6GL
p.s. Wenn du dich entschließen könntest dich im Forum zu registrieren, hättest du die Möglichkeit die DB hier hochzuladen.
Vllt. würde es dann leichter fallen den Fehler festzustellen und die zu helfen ? ::)
Hi, besten Dank für eure Antworten. Also die Fehler waren zum Beispiel "Me.meinFeld.Setfocus" statt "Me!meinFeld.Setfocus". Also nur 3 Fehler dieser Art. Wie ebenfalls gesagt, sind keine kompliziertere VBA-codes drin, bzw. Prozeduren :) ,nix umwerfendes.
Ich habe aber festgestellt, dass das scheinbar nur EIN PC hier im Netzwerk ist. Sehr Seltsam. Das Office ist das gleiche. Selbst eine daraus erstellte accde macht das gleiche Theater. Sehr kurrios!
brrrrrr, was das wieder sein kann...
Ich werde mich auch registrieren, cooles Board, hier wird wenigstens auch gleich reagiert, wenn man mal ein Problem haben möchte ;D
regards MarioWorkman
Hallo,
ZitatAlso die Fehler waren zum Beispiel "Me.meinFeld.Setfocus" statt "Me!meinFeld.Setfocus".
Das glaube ich nicht, Punkt oder Rufzeichen führt in diesem Fall nicht zu einem Fehler. Ich bevorzuge eh den Punkt, egal was Donkarl dazu sagt. ;D
ZitatSelbst eine daraus erstellte accde macht das gleiche Theater. Sehr kurrios!
Nein, nicht wirklich. Wenn es nur ein PC ist, sind es wahrscheinlich die VBA-Verweise.
Vergleiche diese mal bei den beiden PCs. VBA Editor >Extras >Verweise.
Noch eine Anmerkung:
Eine accde erfordert in
allen Prozeduren und Funktionen eine Fehlerbehandlung. Eine accde bricht bei dem kleinsten Laufzeitfehler (sofern es überhaupt kleine Fehler gibt) einfach ab, teilweise ohne Fehlermelung. Das solltest Du beachten.
Also in
jeder Sub und Funktion so eine Zeile (meistens bereits direkt nach der Variablendeklaration):
On Error GoToAuch
Option Explicitin jedem Modul ist unerlässlich. Mit Modul sind auch Formular und Berichtsmodule gemeint.
wirklich gute Hinweise, besten Dank :)