Afhankelijke foto in rapport

Status
Niet open voor verdere reacties.

Miss Miemie

Gebruiker
Lid geworden
11 mei 2007
Berichten
22
Ik wil graag een afhankelijke foto in een rapport plaatsen. Het pad van de foto staat in een tabel. Het wil maar niet lukken om die foto te laten verschijnen op een rapport. Wie kan me helpen???
 
Gebruik je bound forms dan vul je je source van je image control in het OnCurrent event van het rapport. Die maak je gelijk aan bijvoorbeeld het filename veld van je form.

Als je geen bound forms gebruikt maar bijvoorbeeld een recordset, dan doe je hetzelfde. Je vult de source van je image control met het pad naar het plaatje.

succes!
 
Gebruik je bound forms dan vul je je source van je image control in het OnCurrent event van het rapport. Die maak je gelijk aan bijvoorbeeld het filename veld van je form.

Als je geen bound forms gebruikt maar bijvoorbeeld een recordset, dan doe je hetzelfde. Je vult de source van je image control met het pad naar het plaatje.

succes!

Bedankt voor je reactie! Ik ben echter niet zo thuis in al die termen die je hier gebruikt. Ik wil het echter wel allemaal bijleren.

Ik wil echter wel nog eens benadrukken dat het de bedoeling is dat de foto variabel is. Het zijn persoonsgegevens met een foto die op een rapport (etiktjes) moeten komen. Dus iedere foto staat met het pad (verschilt dus van persoon naar persoon) beschreven in een tabel.

Het lukt me dus nog steeds niet...:(
 
Momenteel gebruik ik volgende VBA-code achter het rapport

Private Sub Report_Activate()
'Me.Afbeelding is een Afhankelijk OLE-object.
Me.Afbeelding.Class = "Microsoft Photo Editor"
Me.Afbeelding.OLETypeAllowed = acOLELinked
Me.Afbeelding.Action = acOLECreateLink
End Sub

Wanneer ik dit uitvoer, stopt hij bij de voorlaatste regel, het leggen van de link dus. Iemand enig idee???
 
Gebruik een image en geen OLE object.
In plaats van source moet je de Picture property vullen met het pad!

Succes!
 
Gebruik een image en geen OLE object.
In plaats van source moet je de Picture property vullen met het pad!

Succes!

Bedankt!! :thumb: We gaan er op vooruit! Ik zie inderdaad al afbeelding. Probleem, ik zie overal dezelfde afbeelding (dezelfde persoon dus). Ik gebruik volgende code.

Private Sub Report_Activate()
'Me.Afbeelding is een lege image
Me.Afbeelding.Picture = Me.Foto
End Sub

Foto is een veld dat ook op het rapport staat (het is niet zichtbaar). In dat veld staat het pad naar de afbeelding. Voor iedere foto is dat dus een ander pad, en dat staat ook zo in dat veld. Dus blijkbaar klopt er toch iets niet.

Toch reuze bedankt voor je hulp, ik krijg al fotootjes!!! Als je weet hoe ik er kan voor zorgen dat iedere foto verschillend wordt, laat het me maar weten!

Thanks!
 
Het beste is alleen de naam van de foto in de tabel (in ieder geval zo kort mogelijk pad) te plaatsen, de foto's zet je vervolgens in een directory op het niveau van je applicatie.

Code:
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    sFoto = CurrentProject.Path & "\Foto's\" & Foto_in_Tabel & ".jpg"
    
    If objFSO.FileExists(sFoto) = True Then
        Me.Foto.Picture = sFoto
    Else
        Me.Foto.Picture = Empty
    End If
 
Het beste is alleen de naam van de foto in de tabel (in ieder geval zo kort mogelijk pad) te plaatsen, de foto's zet je vervolgens in een directory op het niveau van je applicatie.

Code:
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    sFoto = CurrentProject.Path & "\Foto's\" & Foto_in_Tabel & ".jpg"
    
    If objFSO.FileExists(sFoto) = True Then
        Me.Foto.Picture = sFoto
    Else
        Me.Foto.Picture = Empty
    End If

Bij mij staat het volledige pad in de tabel, en dus niet alleen de fotonaam. De foto's staan wel in dezelfde map als de database.

Met deze code komt er geen enkele foto op het rapport.
 
Oplossing mét garantie.

even gekeken. is mij ook niet gelukt. je kan niet als bij een form gebruik maken van het OnCurrent event. want die is er niet.

voorstel: maak een continuous form, achtergrond wit met dezelfde controls. programmeer het OnCurrent event. ik geef je een garantie dat dat wel lukt.:D

Succes!
 
Als ik het dus goed begrijp wil dit eigenlijk zeggen dat je niet veel met een rapport kan doen. Ik ga nu alles in een formulier plaatsen en van daaruit dan afdrukken.

Bedankt voor jullie hulp! ;)
 
Ik kan geen gebruik maken van een formulier, aangezien ik wil afdrukken op etiketten. Het is mogelijk om een doorlopend formulier te maken, maar dan wordt er iedere keer maar 1 etiket van elke rij gebruikt. Het is niet mogelijk om op die manier 2500 etiketten te drukken. Het moet dus met een rapport zijn. Dus opnieuw het probleem, van iedere persoon de juiste foto op papier krijgen.
:(
 
amai!

Als je je db (of iets dergelijks) eens neerzet zal ik eens kijken. Wel ff compacten en zippen
 
Hallo Miss Miemie,

kijk hier eens

http://support.microsoft.com/kb/285820/nl

Komt erop neer dat je een afbeldingskader in de detailsectie van je rapport zet.
Vervolgens definieer je een Bij Opmaken gebeurtenis voor de detailsectie met deze code

Code:
Private Sub Details_Format(Cancel As Integer, FormatCount As Integer)

Dim strAfbeelding As String

strAfbeelding = Nz(Me.Padnaam, "")

If Len(strAfbeelding) > 0 Then
    Me.Afbeelding.Visible = True
    Me.Afbeelding.Picture = strAfbeelding
    Else
    Me.Afbeelding.Picture = ""
    Me.Afbeelding.Visible = False
End If

End Sub

Padnaam = de naam van je veld in je rapport met lokatie en naam van je afbeelding.
Afbeelding = de naam van je afbeeldingskader

Als je een afbeeldingskader in je rapport zet, moet je een afbeelding selecteren.
Haal deze later weer weg (tabblad Opmaak -> eigenschap Figuur op "Geen" zetten, eigenschap Figuurtype op "Gekoppeld" zetten).

Groet,

Tardis
 
Thanks

Van harte bedankt voor jullie hulp. De code van Tardis werkt perfect! :thumb:

Dank aan allen die meegeholpen hebben om mijn probleem op te lossen. Ik heb ondertussen ook heel wat bijgeleerd.

Groetjes
Miss Miemie;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan