Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Access killt alle VBAs aus dem Formular

Begonnen von MarioWorkman, September 12, 2011, 12:16:55

⏪ vorheriges - nächstes ⏩

MarioWorkman

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

database

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?

MarioWorkman

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 :-)

MarioWorkman

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ß

DF6GL

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))   
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

database

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 ?  ::)

MarioWorkman

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

MzKlMu

#7
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 GoTo
Auch Option Explicitin jedem Modul ist unerlässlich. Mit Modul sind auch Formular und Berichtsmodule gemeint.
Gruß Klaus

MarioWorkman