Access-o-Mania

Access-Forum (Deutsch/German) => Access-Hilfe => Thema gestartet von: H3llo am September 09, 2024, 17:15:00

Titel: Speichern von Änderungen an Objekten für Nutzer unmöglich machen
Beitrag von: H3llo am September 09, 2024, 17:15:00
Hallo, seit kurzem erhalten Nutzer der Access-Anwendung, die ich betreue, immer wieder die Meldung, ob sie die Änderungen an bestimmten Objekten speichern möchten:

SpeichernNachricht.png

Ich habe bereits in den Access Optionen folgende Einstellungen vorgenommen:

AccessOptionen.png

Dennoch gibt es immer wieder diese Meldung.

Wie erreiche ich, dass die Nutzer diese Meldung nicht mehr erhalten?
Titel: Re: Speichern von Änderungen an Objekten für Nutzer unmöglich machen
Beitrag von: Knobbi38 am September 09, 2024, 20:37:12
Das hat mit den o.a. Einstellungen nichts zu tun, sondern sieht so aus, als ob die Formulare selber aktualisiert werden sollen, also aus irgend einem Grunde geändert worden sind.
Möglicherweise sind unterschiedliche Access-Versionen bei der Entwicklung und auf dem Zielrechner verwendet worden.

Das hier Formulare zur Laufzeit im Designermodus verändert werden, davon gehe ich jetzt mal nicht aus, weil man so etwas eigentlich nicht macht.

Gruß Ulrich
Titel: Re: Speichern von Änderungen an Objekten für Nutzer unmöglich machen
Beitrag von: H3llo am September 10, 2024, 07:57:35
Hallo Ulrich,

danke für deine Antwort. Wie könnte ich damit umgehen, damit dieses Verhalten nicht mehr auftritt?

Viele Grüße
Tobias
Titel: Re: Speichern von Änderungen an Objekten für Nutzer unmöglich machen
Beitrag von: Bitsqueezer am September 10, 2024, 09:41:26
Hallo,

Du könntest ganz einfach die Möglichkeit verhindern, daß ein Objekt geändert werden kann, indem Du an die User grundsätzlich keine ACCDB auslieferst, sondern immer nur eine kompilierte ACCDE. Damit können Benutzer außerdem auch keine Einblicke in den Code bekommen.

Wichtig ist, daß man in allen Modulen ein "Option Explicit" als erste Zeile einfügt, danach kompiliert, bis es keine Fehlermeldungen mehr gibt und dann als ACCDE speichert. Deine ACCDB behältst Du für weitere Entwicklungen separat (denn auch Du kannst eine ACCDE nicht mehr verändern).

Grundsätzlich würde ich aber versuchen, dem Fehler auf den Grund zu gehen. Normalerweise sollte diese Nachricht nur auftauchen, wenn sich am Design eines Objektes etwas verändert hat. Es gibt auch Programmierer, die per VBA dynamisch Änderungen am Formular vornehmen, was i.d.R. keine gute Idee ist. Eine ACCDE ließe auch das nicht zu.
Ich würde hier erst mal den gesamten Code des Formulares auskommentieren und testen (bei dem betreffenden User), ob der Fehler dann noch auftritt und dann stückweise wieder aktivieren. Wenn man seinen eigenen Code kennt, sollte man aber auch so schnell identifizieren können, wo man Änderungen am Objekt selbst per VBA vornimmt.

Generell solltest Du auch Namen ordentlich definieren. In Namen sollten keine Leer- oder Sonderzeichen enthalten sein, auch keine Umlaute. In "frmAuftraege Liste" wäre schon ein Leerzeichen enthalten. Solche Namen können für allerlei Probleme sorgen (Unterstriche sind kein Problem und können als Leerzeichenersatz herhalten).

Unterschiedliche Versionen: Da würde ich erstmal keine Probleme erwarten, solange es nur um Access selbst geht und es keine drastischen Unterschiede sind. Also 32 auf 64 Bit etwa oder A2007 auf A2019...
Access tauscht Office-Referenzen automatisch aus, wenn man von einer älteren auf eine neue wechselt, das führt auch nicht zu einer Designänderung, die gespeichert werden müßte (lediglich möglicherweise ein neues Compile notwendig). Bei Referenzen zu anderen Libraries kann das schon anders aussehen, z.B. die Common Controls, von denen etwa gern die TreeView verwendet wird. Also bei einer ACCDB beim User dann mal die Referenzen untersuchen und auch ein neues Compile, ob hier Fehler auftauchen. Du solltest sicherstellen, daß sowohl Entwickler wie auch Benutzer möglichst immer auf dem gleichen Versionsstand sind. Seit Office 365 ist das ja oft der Fall, aber keine Garantie.

Gruß

Christian
Titel: Re: Speichern von Änderungen an Objekten für Nutzer unmöglich machen
Beitrag von: H3llo am September 16, 2024, 16:31:31
Hallo Bitsqueezer,

vielen Dank für deine Ausführliche Antwort. Ich denke, damit kann ich erstmal arbeiten und melde mich dann wieder, wenn es etwas Neues gibt.