Zitat von: Gockel67 am Heute um 10:36:49Auf einer Form erstelle ich ein Bild - Bildtyp eingebettet - BildA
Ich erstelle ein leeres Bild - BildB
Im Form_Load-Ereignis schreibe ich BildB.Picture = BildA.Picture.
Das funktioniert.
Wenn ich jetzt Access schliesse und erneut aufrufe bekomme ich die Fehlermeldung
Fehler 2220 Microsoft Access kann die Datei 'BildA.png" nicht öffnen.
Wenn du das BildA-Steuerelement erstellst und dabei ein Bild auswählst, wird der Standard-Dateisystempfad auf das Verzeichnis gesetzt, in dem sich das Bild befindet.
Da du das Bild einbettest, wird in der
Picture-Eigenschaft des Steuerelements nur der reine Dateiname ohne Pfad gespeichert. Für BildA ist das OK, weil das Bild eingebettet ist und die ursprüngliche Datei daher irrelevant ist.
Die
Picture-Eigenschaft eines Bild-Steuerelements enthält entweder den kompletten Pfad (Verknüpft) oder nur den reinen Dateinamen (Eingebettet) zur Bilddatei.
Wenn du jetzt
BildB.Picture = BildA.Picture schreibst, versucht Access das BildA.png zu finden und zu öffnen. Wenn der Standard-Dateisystempfad noch der Pfad des Bildes ist (weil du es gerade von dort ausgewählt hattest), funktioniert das auch. Nachdem du Access neu startest, ist der Standard-Dateisystempfad anders und das Bild wird nicht mehr gefunden.
Lange Rede, kurzer Sinn:
Vermutlich ist es für deine Zwecke sinnvoller, wenn du nicht den Pfad (
Picture), sondern die eigentlichen Binärdaten des Bildes (PictureData) zuweist.
BildB.PictureData = BildA.PictureData