Foto in rapport

Status
Niet open voor verdere reacties.

Abyss

Gebruiker
Lid geworden
28 jul 2005
Berichten
353
Ik wil graag in mijn rapport bij elke record een foto's laten verschijnen.
Het lukt me alleen niet om deze in een tabel te krijgen. ik gebruik wel OLE object.

Met het afdrukken van het rapport geeft hij enkel de lokatie van de foto op mijn schijf.


Wat doe ik fout
 
Deel van de oplossing

Hoi,

Ik wil hetzelfde doen en heb hetzelfde probleem. Nu heb ik hier en daar gezocht en deze vb code gevonden op een engelse site. Ik heb het geprobeerd maar het lukt nog niet echt, maar dat komt omdat ik ook niet echt kan programeren in VB. Misschien heb jij er wel wat aan?

http://www.access-programmers.co.uk/forums/showthread.php?p=483112#post483112

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
On Error Resume Next

Dim DBpath As String
DBpath = [Forms]![Main]![Img_Path]

If Dir$(DBpath & [ID] & "_1t.bmp") = [ID] & "_1t.bmp" Then
Me.ImageCover1.Picture = DBpath & [ID] & "_1t.bmp"

Else: Me.ImageCover1.Picture = DBpath & No_Image_m.bmp

End If

Me![VideoImage].Picture = DBpath & "stars-" & Me![VideoFile] & ".bmp"
Me![AudioImage].Picture = DBpath & "stars-" & Me![AudioFile] & ".bmp"
Me![ExtrasImage].Picture = DBpath & "stars-" & Me![ExtrasFile] & ".bmp"
Me![MovieImage].Picture = DBpath & "stars-" & Me![MovieFile] & ".bmp"

End Sub
 
Ik denk dat ik hiermee 2 mensen blij ga maken! Zelf heb ik ook voor elkaar gekregen, en wel op de volgende manier:
De foto's op de PC in een bepaalde map opgeslagen (dit zou ik sowieso adviseren, de snelheid van je database neemt erg af wanneer er foto's in staan gelinkt).

De volgende VBA code staat dan gekoppeld aan het rapport:

Private Sub Details_Format(Cancel As Integer, FormatCount As Integer)
' Als foutmelding
On Error GoTo nofoto
' Maak fotonaam
bestand = [Report_rptRegistratieBloemkleur].[labnummer]
' Plak directory ervoor
bestand = "C:\MAPNAAM\" + bestand + ".jpg"
' Ken foto toe aan rapport
Report_RAPPORTNAAM.FOTO.Picture = bestand
GoTo eind
nofoto:
Report_RAPPORTNAAMKPFoto.Picture = "C:\MAPNAAM\nb.jpg"
On Error GoTo 0
eind:
End Sub


Private Sub Report_Activate()

End Sub

Private Sub Report_Open(Cancel As Integer)

End Sub


Een kleine toelichting: zelf heb ik een jpg-foto'tje gemaakt met hierin de tekst: Sorry, deze foto is nog niet beschikbaar. Deze staat in dezelfde map als de rest van de foto's. Als er dus nog geen foto is, krijg je deze tekst te zien. Je kan dit stukje VBA ook weglaten volgens mij.
Let er verder even goed op dat de teksten hierboven in Hoofdletters de juiste benamingen hebben in je eigen code.
Hopelijk gaat dit lukken zo!
groetjes,
Cindy
 
In iedergeval allebij alvast bedankt. ik ga het vandaag even uittesten.
Ik heb trouwens op de site van microsoft ook wel wat gevonden.

:thumb: :thumb: :thumb: :thumb:
 
en is het dan ook mogelijk om het onder een knop te hangen zodat je een foto of plaatje kunt zoeken? Nu staat er een vaste foto bij, maar ik wil eigenllijk een plaatje zoeken. Kan dit ook?
 
Cindy B. zei:
Ik denk dat ik hiermee 2 mensen blij ga maken! Zelf heb ik ook voor elkaar gekregen, en wel op de volgende manier:
De foto's op de PC in een bepaalde map opgeslagen (dit zou ik sowieso adviseren, de snelheid van je database neemt erg af wanneer er foto's in staan gelinkt).

De volgende VBA code staat dan gekoppeld aan het rapport:

Private Sub Details_Format(Cancel As Integer, FormatCount As Integer)
' Als foutmelding
On Error GoTo nofoto
' Maak fotonaam
bestand = [Report_rptRegistratieBloemkleur].[labnummer]
' Plak directory ervoor
bestand = "C:\MAPNAAM\" + bestand + ".jpg"
' Ken foto toe aan rapport
Report_RAPPORTNAAM.FOTO.Picture = bestand
GoTo eind
nofoto:
Report_RAPPORTNAAMKPFoto.Picture = "C:\MAPNAAM\nb.jpg"
On Error GoTo 0
eind:
End Sub


Private Sub Report_Activate()

End Sub

Private Sub Report_Open(Cancel As Integer)

End Sub


Een kleine toelichting: zelf heb ik een jpg-foto'tje gemaakt met hierin de tekst: Sorry, deze foto is nog niet beschikbaar. Deze staat in dezelfde map als de rest van de foto's. Als er dus nog geen foto is, krijg je deze tekst te zien. Je kan dit stukje VBA ook weglaten volgens mij.
Let er verder even goed op dat de teksten hierboven in Hoofdletters de juiste benamingen hebben in je eigen code.
Hopelijk gaat dit lukken zo!
groetjes,
Cindy
 
Ikke nie helemaal snappen?

[Hey die Cindy,

Ik ben met je VB code aan de slag. Ikke nog niet helemaal begrijpen?


Private Sub Details_Format(Cancel As Integer, FormatCount As Integer)
' Als foutmelding
On Error GoTo nofoto
' Maak fotonaam
bestand = [Report_rptRegistratieBloemkleur].[labnummer] (is Report_rptRegistratieBloemkleur. labnummer de naam van jouw Report?)'
Plak directory ervoor
bestand = "C:\MAPNAAM\" + bestand + ".jpg" (oke snap ik dit is de directory waar alle foto's instaan toch?)'
Ken foto toe aan rapport
Report_RAPPORTNAAM.FOTO.Picture = bestand (oke snap ik, dit hier vul ik de rapportnaam in van mijn rapport in dit geval Report_Werknmers.Picutre, toch?)
GoTo eind
nofoto:
Report_RAPPORTNAAMKPFoto.Picture = "C:\MAPNAAM\nb.jpg" (en dit is dan de lokatie van de nofoto picture, maar wat moet ik invullen bij Rapportnaamkpffoto? is dit de naam van het kader?)
On Error GoTo 0
eind:
End Sub


Private Sub Report_Activate()

End Sub

Private Sub Report_Open(Cancel As Integer)

End Sub


Sorry voor de vele vragen maar ik ben een beginnent VBer.
 
Laatst bewerkt:
Ik zal hieronder even per punt op reageren:

1: De tekst Report_ moet er altijd voorstaan. Inderdaad is hetgeen er bij mij achter staat de naam van mijn rapport. De tekst [labnummer] is de veldnaam waar hij op moet zoeken.

2. klopt, dit is gewoon je mapnaam waar alle foto's in staan

3. noteer hier voor het woord Picture nog de naam van je afbeeldingsvak. (dit doe je bij eigenschappen van het fotovak -> in de ontwerpweergave. Hetgeen je hier bij Naam hebt staan, moet je ook in je VBA hier neerzetten.
Het zou dus kunnen zijn:
Report_Werknemers.KPfoto.Picture = bestand

4. Inderdaad, hier noteer je de naam van je nofoto locatie. Bij de rapportnaam noteer je weer gewoon je naam van het rapport. (in jouw geval Werknemers)
KPfoto is wederom de naam van je afbeeldingsvak.

Hopelijk is het duidelijk zo, anders hoor ik het wel!
groetjes,
Cindy
 
Het wil maar niet lukken

Oke Cindy,

Het wil maar niet lukken, ik heb nu de volgende vb code:

Option Compare Database

Private Sub Details_Format(Cancel As Integer, FormatCount As Integer)
' Als foutmelding
On Error GoTo nofoto
' Maak fotonaam
bestand = [Report_Werknemers].[Foto] (mijn report heet Werknemers en Foto is de naam van het veld waarin de directorystructuur staat van de foto's)
' Plak directory ervoor
bestand = "C:\Documents and Settings\Aart\Mijn documenten\Mijn afbeeldingen\Algemeen\Personeel" + bestand + ".jpg" (dit is de directory waar de afbeeldingen ook daadwerkelijk staan)
' Ken foto toe aan rapport
Report_Werknemers.KaderFoto.Picture = bestand (volgens mij gaat het hier mis, ik creeer een kader (kader voor afhankelijk object?) in het rapport met de naam KaderFoto
GoTo eind
nofoto:
Report_Werknemers.Foto = "C:\Documents and Settings\Aart\Mijn documenten\Mijn afbeeldingen\Algemeen\Personeel\nofoto.jpg" (hier krijg ik ook een error dat ik geen waarde mag toekennen)
On Error GoTo 0
eind:
End Sub
 
Laatst bewerkt:
Code:
Private Sub Report_Activate()
Me.Image8.Picture = Me.Controls![Locatie].Value
End Sub

Waarbij :
Image8 de naam van het plaatjes object is
Locatie de naam van het veld is met de bestandslocatie

Het enige probleem is dat dit maar voor 1 image object werkt.
Zodra er meerdere plaatjes zijn wordt de 1e gebruikt ..

Dus de broncode zou dan worden:
Code:
Private Sub Details_Activate()
bestand = Me.Controls![Foto].value
bestand = "C:\Documents and Settings\Aart\Mijn documenten\Mijn afbeeldingen\Algemeen\Personeel" + bestand + ".jpg"
Me.Image8.Picture = bestand
end sub

:confused:
 
Laatst bewerkt:
Helaas

Martijn,

Helaas is dit voor mij niet de oplossing. Ik wil namelijk voor elke willekeurig personeelslid een ID Card (rapportje) afdrukken met een Foto van de persoon natuurlijk.

Toch super bedankt voor je input, ik ga hier wel mee experimenteren om te kijken of het probleem (alleen de eerste afbeelding) is op te lossen.
 
aartjongejans zei:
Martijn,

Helaas is dit voor mij niet de oplossing. Ik wil namelijk voor elke willekeurig personeelslid een ID Card (rapportje) afdrukken met een Foto van de persoon natuurlijk.

Toch super bedankt voor je input, ik ga hier wel mee experimenteren om te kijken of het probleem (alleen de eerste afbeelding) is op te lossen.



aartjongejans Wil je het laten om mij lastig te vallen met je prive berichten:evil:
 
Ik heb het voor elkaar, alleen

Cindy B. zei:
Ik zal hieronder even per punt op reageren:

1: De tekst Report_ moet er altijd voorstaan. Inderdaad is hetgeen er bij mij achter staat de naam van mijn rapport. De tekst [labnummer] is de veldnaam waar hij op moet zoeken.

2. klopt, dit is gewoon je mapnaam waar alle foto's in staan

3. noteer hier voor het woord Picture nog de naam van je afbeeldingsvak. (dit doe je bij eigenschappen van het fotovak -> in de ontwerpweergave. Hetgeen je hier bij Naam hebt staan, moet je ook in je VBA hier neerzetten.
Het zou dus kunnen zijn:
Report_Werknemers.KPfoto.Picture = bestand

4. Inderdaad, hier noteer je de naam van je nofoto locatie. Bij de rapportnaam noteer je weer gewoon je naam van het rapport. (in jouw geval Werknemers)
KPfoto is wederom de naam van je afbeeldingsvak.

Hopelijk is het duidelijk zo, anders hoor ik het wel!
groetjes,
Cindy

Eindelijk is het dan gelukt, alleen zoals martijn hierboven al schrijft ik krijg alleen de nofoto bij elke afbeelding in het rapport te zien?

Any thoughts on that?
 
Ik snap niet wat er gebeurt is

Abyss zei:
aartjongejans Wil je het laten om mij lastig te vallen met je prive berichten:evil:

Hoi,

Hierbij excuses, ik snap niet wat er gebeurt is, ik heb toch echt een mailtje naar jouw gestuurd, met een vraag over dit specifieke probleem. Maar kennelijk heb ik ergens op een verkeerde button gedrukt en heb jij de mail gekregen naar maarten. Ik snap er niets van?

Groet,
Aart
 
aartjongejans zei:
Hoi,

Hierbij excuses, ik snap niet wat er gebeurt is, ik heb toch echt een mailtje naar jouw gestuurd, met een vraag over dit specifieke probleem. {Dat is nou juist het probleem ik wil niet dat je naar mij maitjes gaat sturen over jou probleem} :evil: Maar kennelijk heb ik ergens op een verkeerde button gedrukt en heb jij de mail gekregen naar maarten. Ik snap er niets van?

Groet,
Aart
 
Sorry voor deze late reactie.
Maar volgens mij zit er nog 1 dingetje niet goed in je code, namelijk:

' Maak fotonaam
bestand = [Report_Werknemers].[Foto] (mijn report heet Werknemers en Foto is de naam van het veld waarin de directorystructuur staat van de foto's)

Mijn vakje heet hierbij geen [Foto], maar (in mijn geval): labnummer. Hierop is mijn query ook gebaseerd.
Dus: ik heb een query gemaakt waarin het betreffende labnummer gevraagd wordt. Het rapport is gebaseerd op deze query, waarna het juiste labnummer incl. foto getoond wordt. In jouw geval moet het dus hetzelfde werken. Jij vraagt alleen een medewerker op, incl. foto.

Ik hoor nog even of het nu gelukt is! Misschien voor jou een hoopvol puntje: ik heb er in het begin ook uuuuurren mee zitten rommelen, maar nu het werkt heb ik het al in meerdere databases toe kunen passen. Dus houd vol!

groetjes,
Cindy
 
Is het niet makkelijker om de namen van de foto's in een tabel te gooien en deze vervolgens te koppelen middels een relatie aan je werknemersindentificatienummer ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan