[gelöst] EXISTS liefert nur FALSE

3. Juni 2016 09:40

Hallo zusammen.

Ich versuche in einem Report eine Textdatei zu öffnen. Öffnen tue ich die Datei über die Funktion OpenFileDialog (Codeunit File Management). Allerdings liefert die OPEN-Anweisung (meineDatei.OPEN('pfad\datei')) immer nur FALSE zurück.

Ich habe dann die Existenz der Datei einmal mittels EXISTS geprüft - wer hätte es erwartet - liefert auch FALSE. Selbst, wenn ich Pfad und Datei als direktes String-Argument übergebe (EXISTS('Pfad\Dateiname'), kommt da dasselbe bei rum. Um Tippfehler ausschließen zu können, habe sowohl Pfad als auch Datei via Copy/Paste in den Code eingefügt. Außerdem habe ich das mit Dateien getestet, die auf der lokalen Platte liegen.

Weiß einer von euch, was ich da verkehrt mache?

Gruß
Kai
Zuletzt geändert von Bongo am 3. Juni 2016 17:06, insgesamt 1-mal geändert.

Re: EXISTS liefert nur FALSE

3. Juni 2016 09:55

OpenFileDialog ist dazu gedacht, den Benutzer eine Datei von seinem Rechner aus auswählen zu lassen - die Datei steht also bei Aufruf noch nicht fest.
Wenn du eine festgelegte Datei direkt ohne Benutzerinteraktion öffnen möchtest, dann arbeite direkt mit File.OPEN. Die Datei muss dann entweder auf dem Server liegen, oder auf einem anderen, per UNC-Pfad spezifizierten Ort, z.B. \\einServer\einOrdner\eineDatei.txt.

Übrigens, EXISTS funktioniert nur auf dem Server. Gibst du hier einen Clientpfad (also eine andere Maschine) an, KANN EXIST niemals TRUE zurückliefern, wenn nicht rein zufällig auf dem Server die exakt gleiche Ordnerstruktur vorliegt und auch die Datei am exakt gleichen Ort liegt. Es ist aber dann trotzdem nicht die Datei auf dem Client ...

Re: EXISTS liefert nur FALSE

3. Juni 2016 17:05

Danke dir. Genau das war der Fehler.

Gruß
Kai