Ich habe einen Bericht in MS Access mit 4 Bildsteuerelementen. Im Formatereignis des Detailbereichs habe ich Code, der die Bildereigenschaft basierend auf den Werten der Felder im DAO.recordset
festlegt. Hier ist ein Beispiel für meinen Code.
Für i = 0 bis 3
Wenn nicht rs.EOF Dann
Me.Controls("img" & i).Picture = blobGet(rs!phBlobId)
rs.MoveNext
Sonst
Me.Controls("img" & i).Picture = ""
End If
Nächstes i
Grundsätzlich handelt es sich bei dem Feld rs!phBlobId
um einen Dateinamen. Die Funktion blobGet
gibt den vollständigen Pfad zum Bild zurück, der dann die Bildereigenschaft des richtigen Steuerelements im Detailbereich meines Berichts festlegt.
Ich bin mir nicht sicher, was alle Ursachen sind, aber unter bestimmten Umständen werden die Bilder nicht in den Steuerelementen angezeigt. Ich habe ein ähnliches Setup auf einem Formular und habe dort überhaupt keine Probleme, ich habe nur das Problem, wenn es sich um einen Bericht handelt.
Eine mögliche Ursache könnte die Größe des Bildes sein. Wenn ich ein großes Bild einfüge (zum Beispiel über 5 MB), wird es manchmal nicht angezeigt. Mit verschiedenen Kombinationen von Bildern werden unterschiedliche angezeigt.
Ich bin offen für Lösungen für mein oben beschriebenes Problem oder für alternative Ideen, wie diese Bilder im Bericht angezeigt werden können. Eine absolute Anforderung ist, dass die Bilder mit VBA festgelegt werden, da sich die genaue Anordnung der Bilder je nach einer nicht verwandten Variablen ändert.
0 Stimmen
Ich finde es sehr, sehr seltsam, Dinge aus einem Datensatz in einem Detailereignis eines Berichts nachzuschlagen. Ich würde tendieren, die Daten einfach in die Recordsource meines Berichts zu legen. Wenn es sich um eine nicht verwandte Tabelle handelt, spielt es keine Rolle - fügen Sie sie ohne Verknüpfung in die Recordsource ein und fügen Sie die Felder, die Sie benötigen, in die Recordsource ein, und sie werden immer für Sie verfügbar sein.
0 Stimmen
Ich stimme zu, es ist sehr seltsam! Der Grund, warum ich das mache, ist das Layout der Bildsteuerelemente sehr spezifisch ist und sie überlappen sowohl vertikal als auch horizontal. Was ich versuche zu erreichen, ist ehrlich gesagt, Access fast schon in ein Desktop-Publishing-Programm zu verwandeln. Ich würde niemandem empfehlen, es zu versuchen, es macht keinen Spaß. ;)
0 Stimmen
Manchmal hilft es, den virtuellen Speicher von Windows zu erhöhen, wenn Access-Berichte keine Bilder anzeigen.