Neuigkeiten:

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

Mobiles Hauptmenü

Laufzeitfehler bei aufgeteilter DB

Begonnen von dolpho, Dezember 28, 2021, 14:38:51

⏪ vorheriges - nächstes ⏩

dolpho

Hallo zusammen,
nun tüftel ich schon mal wieder an einem Problem und weiß überhaupt nicht, wonach ich suchen soll.
Die Datenbank, die ich ich auf Arbeit betreibe, ist meines Erachtens recht umfangreich und wird gleichzeitig auf bis zu sieben Rechnern bearbeitet ( von denen nur 2 Access installiert haben und auch noch verschiedene Versionen). Nun weiß jeder, wie schwierig das ist, wenn dann mal etwas geändert werden muss. Also wollte ich die DB in FE und BE aufteilen. Das Aufteilen ist auch kein Problem, nur läuft sie auf den Runtime-Versionen nicht mehr und bricht mit Laufzeitfehler ab und ich habe keine Ahnung, an welcher Stelle dieser entsteht oder wo ich suchen soll.

Erwähnen sollte ich vielleicht, dass ich ein rechtes Greenhorn in Punto VBA bin :-( und dazu ist mein englisch auch noch mehr als mangelhaft.

Vielleicht kann mir ja trotzdem jemand behilflich sein.

Gruss dolpho

andyfau

Hallo,
es wäre hilfreich, wenn Du die Nummer des Laufzeitfehlers mitteiltest.

Hast Du schon mal probiert, ob sich das Projekt unter VBA / Debuggen fehlerfrei kompilieren lässt?
Beste Grüße
Andreas

ebs17

Zitatbricht mit Laufzeitfehler ab und ich habe keine Ahnung, an welcher Stelle dieser entsteht oder wo ich suchen soll
Eine ordentliche Fehlerbehandlung im Einsatz sollte solche Informationen liefern können.

ZitatLaufzeitfehler bei aufgeteilter DB
Wenn es nur bei Aufteilung auftritt (eigene Unterstellung), scheint wohl der Prozess des Tabellenneuverknüpfens fehlerhaft oder nicht vorhanden zu sein.
Mit freundlichem Glück Auf!

Eberhard

dolpho

Hallo zusammen,

bevor ich einen Shitstorm ernte, habe ich noch ein wenig rumgesucht, bin aber auch nicht gescheiter geworden. Hier mal meine Vorgehensweise.

Vorab muss ich gestehen, dass ich es mit dem errorhandling bisher nicht so genau genommen habe:-( Weitestgehend habe ich aber diese Programmzeilen ergänzt.

Die alte DB habe ich gesichert, komplett kompiliert und danach mit dem Assistenten aufgeteilt. Dann die FE Version auf ein Verzeichnis des Runtime Rechners gespeichert und den Tabellenverknüpfungsmanager von meinem Rechner aus ausgeführt.

Starte ich nun auf dem Runtimerechner diese FE, bricht die DB mit geöffnetem Startformular und folgender Meldung ab:
"Die Ausführung dieser Anwendung wurde wegen eiens Laufzeitfehlers angehalten.
Die Anwendung kann nicht weiter ausgeführt werden und wird beendet."

Mit einer Fehlernummer kann ich daher nicht dienen.

Wo könnte ich nun ansetzen???

Gruß Dolpho

ebs17

Da würde man sich doch jene Anweisungen genauer anschauen, die mit oder nach Öffnen des Startformulars ausgeführt werden. Man wird doch wissen, was man tut, und kann solche Handlungen am entsprechenden Code nachvollziehen.
Mit freundlichem Glück Auf!

Eberhard

dolpho

Hallo Eberhardt,
das ist ja das Problem, das Startformular macht nichts selbstständig. Es ist nur eine Ansammlung von cmd-Feldern um auf ein jeweils anderes Formular zu springen.

Gruß dolpho

DF6GL

#6
Hallo,

lt dem Ausgangspost befindet sich die DB in einer recht heterogenen Umgebung, was die Access-Versionen angeht.

Ich würde das Problem bei der Wurzel packen und:

--die unaufgeteilte Original-DB-Datei mit der Access-Entwicklungs-Version (welche ist das ?) soweit prüfen, als dass in jedem(!) Modulkopf  "Option Explicit" zu stehen kommt. Anschließend ist der Code zu Debuggen/kompilieren und soweit zu korrigieren, bis keine(!) Kompilierungsfehler mehr auftauchen. Zu diesem Zeitpunkt könnte in jeder Prozedur ein Error-Handler (On Error Goto MyErr)  eingebaut werden, soweit es sinnvoll ist, und es ist wiederum solange zu kompilieren und Fehler auszumerzen, bis keine mehr auftreten.

--Sodann die DB mit dem Datenbankaufteilungs-Assistenten in FE (lokales Verzeichnis)  und BE (Netzwerk-Verzeichnis) aufteilen. Zu empfehlen ist die Verwendung von UNC-Pfaden anstelle von Laufwerk-Mappings, wobei die "Tiefe" der Pfad-Struktur so klein (kurz) wie möglich gehalten werden sollte.  Damit umgeht man unterschiedlich gemappte Netzwerk-Verzeichnisse und auch den einen oder anderen Access-Bug.
Jeder User muss volle Zugrifsrechte auf das Netzwerk-Verzeichnis haben bzw. erhalten.

-- An dieser Stelle wäre es möglich, das FE (accdb)  in eine kompilierte Datei zu überführen (accde) und diese Datei zu verteilen (siehe weiter unten).

-- Die zur Entwickler-Version (z. B. Office2016) passende Access-Runtime-Version herunterladen und auf  allen USER-PCs installieren, auf denen keine oder eine unterschiedliche Access-Version vorhanden ist. Die Übereinstimmung von Access-Version und Runtime-Version ist zwingend erforderlich!

-- Das FE auf alle USER-PCs in ein lokales Verzeichnis kopieren und dieses mit der Access-Runtime starten. Wenn UNC-Pfade für die Verknüpfung benutzt wurden (siehe oben), ist hier keine weitere Aktion erforderlich. Ansonsten muss sichergestellt werden, dass jeder User das gleiche LW-Mapping für das BE-Netzwerkverzeichnis eingestellt hat.









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

ebs17

Zitatdas Startformular macht nichts selbstständig
Das Laden von Datenherkünften für Formular, Kombinationsfelder, DomWert & Co. wäre etwas anderes als nichts.
Mit freundlichem Glück Auf!

Eberhard

dolpho

Hallo zusammen,
kurzer Zwischenbericht:

Auf Grund Eberhards Hinweis habe ich mal begonnen und habe im Startformular alle Prozeduren auskommentiert und es war ein erster Schritt zum Ziel. Das Startformular ließ sich öffnen und auch ein paar unbedeutende Formulare.

Mit den Hinweisen von Franz habe ich weitergemacht (hier habe ich übrigens 2013 am laufen) und bin aber über meine Version gestolpert, da ich hier die UNC nicht eintragen kann.
Zum Glück habe ich letztens meinen Chef überreden können, woanders die 365er zu installieren. Dort konnte ich dann die richtigen Pfade im Netzwerk eintragen und war einige Schritte weiter.
Es sieht also so aus, als könne ich über den Jahreswechsel die meisten Probleme lösen.

Eine Frage habe ich allerdings noch:
Gibt es eine Möglichkeit, auf den Runtimerechnern die sicheren Pfade einzutragen, damit diese Fehlermeldung nicht jedes Mal erscheint? Von den Rechnern mit Access aus ist es mir bisher nicht gelungen.

Damit bedanke ich mich schon einmal für die Hilfe und wünsche einen guten Rutsch und ein gesundes Jahr 2022

Gruss dolpho

DF6GL

Hallo,


Deine Frage versteh ich nicht..


Das BE wird mit den UNC-Pfadangaben in der originalen FE mit der aktuellen Access-Version verknüpft. Danach kann die DB wie vorher beschrieben verteilt und mit der passenden Runtime-Version, wo erforderlich ausgeführt werden.

Das Komplilieren in eine accde-Datei ist nicht unbedingt erforderlich.


Bei den User-Installationen kann und braucht in dieser Konstellation nichts geändert/eingestellt werden.
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

dolpho

Hallo Franz,

hier gehts um zwei verschiedene Sachen:

1. Von meinem Access13 Rechner habe ich die FE im Runtimerechner geöffnet und den Tabellenverbindungsmanager ausgeführt. In der 13er Version kann ich die Pfade aber nur bestätigen also z.B. C:\Arbeitsordner\DB\Datenbank.accdb.
im 365er Rechner gibt es dagegen einen Aktualisierungsbutton in dem ich das "C:\..." in \\192.168.4.32 ... abändern kann und seit dem funktioniert es.

2. Lege ich einen Ordner für DB´s neu an, dann muss ich im Trustcenter die Pfade eingeben, damit nicht jedes Mal beim Öffnen diese "Unsicherheitsmeldung bestätigt werden muss. Dies geschieht aber über eine Access Vollversion bei den Optionen.
Im Runtimerechner stehen mir die Optionen aber nicht zur Verfügung und vom Vollversionsrechner aus lässt es die Sicherheit von Windows nicht zu :-(

Gruss dolpho

DF6GL

#11
Hallo,


1) 
ZitatVon meinem Access13 Rechner habe ich die FE im Runtimerechner geöffnet
versteh ich auch nicht. Hast Du ein Remote-Tool benutzt?

ZitatIn der 13er Version kann ich die Pfade aber nur bestätigen also z.B. C:\Arbeitsordner\DB\Datenbank.accdb.

Müsste ich erst mal testen, ob und wie es bei A2013 funktioniert.

<append>
PS:

A2013 (Vollversion):
Erteile Freigabe für den BE-Ordner. 
Öffne den Tabellenverknüpfungsmanager und klappe "Netzwerk" auf. Wähle dort unter dem Rechnernamen das LW , sodann das BE-Verzeichnis aus und öffne die BE-Datei.  Starte den Verknüpfungsablauf.
</append>

2) Man kann die Sicherheitseinstellungen auch per VB-Script, bzw. in der Registry selber einstellen:

https://www.ms-office-forum.net/forum/showthread.php?t=302038
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