Neuigkeiten:

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

Mobiles Hauptmenü

Fehler "Datei nicht gefunden"

Begonnen von Bopi, April 04, 2020, 09:17:56

⏪ vorheriges - nächstes ⏩

Bopi

Beim starten der App bleibt die App manchmal auf der ersten Zeile des Form_Open Events hängen mit der Meldung "Datei nicht gefunden". Dies passiert nicht immer, sondern ab und zu. Der Fehler lässt sich auch über das Form_Error Event nicht abfangen.
Durch komprimieren und neu starten verschwindet er meistens.
Kann mir jemand sagen woran das liegen könnte?
Win 10, Office 365

markusxy

Das ist eine gute Frage.
Wenn zuvor nur ein Start Macro oder Code ausgeführt wird, könnte das auf ein fehlerhaftes Modul hinweisen.
Allerdings würde es mich dann wundern, wenn komprimieren funktioniert.

Verwendest du irgend welche Windows API's in der Anwendung?
Unsachgemäße Nutzung, oder falsche Deklarationen können zu solchen Problemen führen.
Aber das ist alles ein Stochern im Dunkeln.


Bopi

Ich verwende API's. Aber dieser Fehler tritt beim "Welcome" Formular auf, d.h. bevor irgendetwas anderes läuft. Und der Fehler tritt auch nicht immer auf, sondern nur ab und zu. (sehr seltsam).

DF6GL

#3
Hallo,

Zitatsondern nur ab und zu.

was auf eine instabile Netzwerkverbindung hindeutet...

Das sollte genau analysiert werden.


Weiterhin:
-- In allen Modulköpfen "Option Explicit" hinzufügen, falls es fehlt.
-- Im VBE Debuggen/Kompilieren durchführen. Evtl. auftretende Fehler sind zu eliminieren.

Falls keine Besserung:
Alle Objekte aus der/den DB-Datei/en in neue leere DB-Dateien importieren

Bopi

Du meinst FE und BE?
FE habe ich schon gemacht. Danach hat es für ein paar Tage funktioniert, jetzt ist der Fehler wieder da. Ich verwende noch kein Netzwerk, bin ja erst am Entwickeln. BE und FE liegen in unterschiedlichen Verzeichnissen aber auf der selben HD.
Das Welcome Formular ist dafür da um die Verbindung zu kontrollieren plus ein paar weitere Funktionen.

DF6GL

Hallo,

ok, hast Du die weiteren Punkte durchgeführt?
Ich meine FE und BE

Bopi

Okay, ich habe die FE und die 3 BE alle neu erstellt. Jetzt startet es wieder wie gewünscht. Mal sehen für wie lange!
Danke für die Tips

ebs17

Zitat"Datei nicht gefunden"
Welche wäre es denn?

Wenn es eines der Backends betrifft: Die Pfade zu diesen werden bei Verknüpfung fest in eine Systemtabelle des Frontends eingetragen. Falls nun das Backend im Dateisystem verschoben wird, wird es nachfolgend nicht gefunden.
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,
Zitatich habe die FE und die 3 BE alle neu erstellt.
Wieso 3 BE ?
Im Regelfall benutzen mehrere FE ein BE.
Gruß Klaus

Bopi

Welche Datei? Das ist eine interessante Frage, auf die mir Access aber keine Antwort gibt. Ich habe in der MSysObjects alle Einträge überprüft und keine fehlenden Dateien gefunden. Alles ist okay. Das Verschieben, Löschen, Umbenennen wird alles im Programm abgefangen. Dies steuert das Welcome Formular, wenn es denn läuft!
Nach dem Neu erstellen der FE und BEs läuft es wieder stabil, ich hoffe es bleibt so aber es würde mich trotzdem interessieren was die Ursache für diesen Fehler ist.

Mehrere BE weil es sich um ein grösseres Projekt handelt mit mehreren Modulen. Sprich: nicht jeder Anwender hat für alles eine Berechtigung/Lizenz aber alle Module können untereinander komunizieren. Für jedes Modul gibt es ein BE. Da es auch noch Mandantenfähig ist, gibt es beliebig viele BE pro Modul wobei immer nur eines pro Mandant zur Laufzeit aktiv ist. Nicht ganz trivial aber spannend. Mein bisher komplexestes Projekt.

ebs17

ZitatWelcome Formular, wenn es denn läuft!
Es sollte doch zu diesem Zeitpunkt übersichtlich sein, was alles mit Start dieses Formulars benutzt wird, einschließlich Verweise und per Late Binding benutzte Komponenten.

Daneben sollte so eine Datei mal dekompiliert werden, statt nur die Objekte (so wie sie sind) in eine neue Datei zu übernehmen. Daneben sollte man (übrigens gerne generell) fehlerfrei programmieren, also keine Fehler erzeugen und ignorieren, daneben Möglichkeiten des "Selbstabschießens" ermitteln und unterbinden.
Wenn man einen Fehler durch Reparieren/Komprimieren beseitigen kann, wird dieser kaum durch eine Spezifik der Installation von Betriebssystem und Access hervorgehen, sondern sehr viel wahrscheinlicher durch eigenes Tun.

ZitatNicht ganz trivial
Den eigenen Ansprüchen sollte man auch etwas gewachsen sein, schon mal in dem Bewusstsein zu wissen(?), was man tut. Andere ins Blaue raten zu lassen, passt da schlecht zusammen.
Mit freundlichem Glück Auf!

Eberhard

Bopi

Das sind allgemeingültige Aussagen, welche ich unterstütze.
Wenn aber dieses Startformular bereits in der ersten Zeile hängen bleibt und auch das Form_Error event nichts bringt, wird es schwierig. Selbstverständlich kompiliere ich regelmässig. Jedes Modul, jedes Formular wird nach Bearbeitung kompiliert.
Was das "Erzeugen" von Fehlern anbelangt, ich glaube nicht, dass jemand bewusst Fehler erzeugt aber sie passieren halt. Die Fehlersuche ist ein Bestandteil des Programmierens.
Ich verwende eine gut funktionierende Fehlerroutine mit eigenen Fehlercodes wo immer angebracht und führe eine Log-Datei.
Auch wenn ich kein Guru bin, denke ich, dass ich durchaus weiss was ich tue. Aber manchmal stösst man halt auf ein Problem, dass das eigene Wissen übersteigt. Genau dann kann ein Forum sehr hifreich sein.
Ich will auch niemanden ins Blaue raten lassen, sondern denke einfach, dass hier Spezialisten versammelt sind, die mir weiterhelfen können.

Wie schon gesagt ist das Problem zur Zeit gelöst aber trotzdem weiss ich nicht was es ausgelöst hat.

DF6GL

Hallo,


noch eine Frage am Rande:

Hat jeder User (d. h. jeder PC, auf dem die DB laufen soll)  sein eigenes lokal kopiertes FE, welches er dann startet?

IMHO:  Solche "Datei nicht gefunden" Meldungen entstehen oft auch dann , wenn die DB irgendwo "zerschossen" ist.  Da wird es dann schwierig, die Situation durch Fehlerhandler oder sonstigen Code zu bereinigen. Natürlich muss der Code programmtechnisch dahingehend untersucht und korrigiert werden, wenn er sich als Ursache für das "Zerschießen" herausstellt.

ebs17

ZitatSelbstverständlich kompiliere ich regelmässig.
Dekompilieren ist etwas anderes als ständig neu zu kompilieren, denn da werden alte Kompilate entfernt, die vielleicht nicht entfernt wurden.

ZitatWenn aber dieses Startformular bereits in der ersten Zeile hängen bleibt
Dann ist dieser Fehler reproduzierbar, wenn alleine das Formular in eine neue Datei verbracht wird und dabei bestmöglich (auf die erste Zeile) abgemagert wurde?

Diese neue Datei unter verschiedenen Versionskombinationen Windows/Access getestet?
Mit freundlichem Glück Auf!

Eberhard

markusxy

Zitat von: Bopi am April 04, 2020, 15:19:15
Das Welcome Formular ist dafür da um die Verbindung zu kontrollieren plus ein paar weitere Funktionen.

Wie gesagt, würde ich davon ausgehen, dass das Problem bei den CodeModulen liegt.
Die Fehlermeldung kenne ich nur in diesem Zusammenhang.

Eine wesentliche Frage wäre, wie du die Kompilier-Optionen des VBA Projektes eingestellt hast.