Foto's plaatsen in een rapport (catalogus)

Status
Niet open voor verdere reacties.
Is er voor dit probleem geen oplossing, of is er meer info noodzakelijk?
 
Er is een oplossing, en ik heb 'm voor je ingebouwd :). Maar makkelijk was het niet. Ik heb, voor de meelezers, een extra plaatje gemaakt van 1 pixel dat gebruikt wordt om in het rapport te zetten als er geen afbeelding is gevonden. Er is dus altijd een plaatje in het rapport. Ik weet overigens niet of de gemaakte oplossing qua VBA code ook werkt zonder plaatje, maar dat mag je zelf uitzoeken :). De oplossing bestaat uit twee elementen. Het eerste is: zet de actuele hoogte van de Details sectie in een variabele bij het openen van het rapport. Dit is de hoogte zonder plaatjes.
Code:
Private Sub Report_Open(Cancel As Integer)
    detailHeight = Section(acDetail).Height
End Sub
Vervolgens kijk je in de bestaande Details_Format naar de inhoud van het bestandsveld, en op basis daarvan gebruik je ofwel het plaatje, ofwel de dummy pixel. In beide gevallen pas je ook de hoogte van de Detailssectie aan, om de hoogte ervan te synchroniseren met de afbeelding.
Code:
Private Sub Details_Format(Cancel As Integer, FormatCount As Integer)
Dim strFotos As String
    strFotos = Application.CurrentProject.Path & "\"
    If Me.chkFotoaanwezig = True Then
        With Me.imgFoto
            .Visible = True
            .Picture = strFotos & Me.txtFoto
            .Width = 2000
            .Height = 2000
        End With
        Section(acDetail).Height = 2020
    Else
        With Me.imgFoto
            .Picture = strFotos & "dummy.jpg"
            .Visible = False
            .Width = 20
            .Height = 20
        End With
        Section(acDetail).Height = detailHeight
    End If
End Sub
En dat blijkt te werken. De crux zit 'm in het juist aflezen van de hoogte van de Details sectie (Section(acDetail).Height).
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan