Problem mit externer Bilddatei für die Picture-Eigenschaft

08/04/2010 - 16:32 von Johannes C. Laxander | Report spam
Ich möchte den Pfad zu einer Bilddatei relativ zum Speicherort der
.mdb-Datenbankdatei dynamisch zuordnen, und habe dafür für das Form-Ereignis
"Beim Anzeigen" diese Prozedur:

Private Sub Form_Load()
Me!Logo.Picture = CurrentProject.Path & "\logo.bmp"
End Sub

Das funktioniert zunàchst auch. In der Eigenschaft "Bild" steht dann nach
dem ersten Anzeigen des Formulars auch der richtige Dateipfad, z.B.
D:\Projekt1\logo.bmp. Die Bildtyp ist auf "Verknüpft" eingestellt.

Wenn ich danach dann die .mdb-Datei auf einen anderen Rechner übertrage,
z.B. in das Verzeichnis E:\Projekte\Projekt1\logo.bmp, und das Programm dort
ausführe, bekomme ich die Fehlermeldung, dass die Grafikdatei
D:\Projekt1\logo.bmp nicht geöffnet werden kann, also der "alte" Dateipfad
von der ersten Ausführung. Im Formular wird das Logo aber trotzdem angezeigt.

Ich habe es auch schon mit den Form-Ereignissen "Beim Laden" und "Beim
Öffnen" versucht. Auch da bekomme ich den o.g. Fehler.

Wo ist mein Denkfehler, was mache ich falsch????

Gruß, Johannes.
 

Lesen sie die antworten

#1 Stefan Dase
08/04/2010 - 16:44 | Warnen spam
Hallo Johannes!

Private Sub Form_Load()
Me!Logo.Picture = CurrentProject.Path& "\logo.bmp"
End Sub

Das funktioniert zunàchst auch. In der Eigenschaft "Bild" steht dann nach
dem ersten Anzeigen des Formulars auch der richtige Dateipfad, z.B.
D:\Projekt1\logo.bmp. Die Bildtyp ist auf "Verknüpft" eingestellt.

Wenn ich danach dann die .mdb-Datei auf einen anderen Rechner übertrage,
z.B. in das Verzeichnis E:\Projekte\Projekt1\logo.bmp, und das Programm dort
ausführe, bekomme ich die Fehlermeldung, dass die Grafikdatei
D:\Projekt1\logo.bmp nicht geöffnet werden kann, also der "alte" Dateipfad
von der ersten Ausführung. Im Formular wird das Logo aber trotzdem angezeigt.



Versuche mal, die Bild-Eigenschaft des Steuerelements im Formularentwurf
zu löschen. Ich vermute, dass Access zunàchst das Bild sucht und dann
erst das Form_Load-Ereignis ausgeführt wird. Da du es dynamisch
einbindest, sieht der Anwender nichts davon.

Viele Grüße aus Bremen,
Stefan

Ähnliche fragen