Foto's in Access formulier

Status
Niet open voor verdere reacties.

robpunt

Gebruiker
Lid geworden
13 mei 2006
Berichten
23
Ik heb de volgende vraag en ik heb het vermoeden dat hij al vele malen is gesteld maar ik probeer het toch nog maar een keer

Ik heb een tabel met leerlinggegevens en deze gegevens worden getoond in een formulier. Maar zoals de bijlage laat zien wil ik ook graag een foto plaatsen van de getoonde leerling.
Moet ik nu alle pasfoto's apart inlezen (bijlagen beheren) of bestaat er een andere mogelijkheid om dit binnen Access op te lossen.

De namen van de foto's zijn hetzelfde als de leerlingnummers + (.jpg) en ze staan in een submap van de map waar de database staat.

Alvast heel erg bedankt,
Vriendelijke groet,
Rob
 

Bijlagen

  • voorbeeld.jpg
    voorbeeld.jpg
    7,6 KB · Weergaven: 189
Ik denk dat dat wel te realiseren is.
Bij de eigenschap form_Current kan je bijvoorbeeld definieren wat er geladen moet worden bij de foto

Iets als :

Code:
Private Sub Form_Current()
    If Me![LeerlingID] <> 0 Then
        Me!JouFotoVeld.Picture = "C:\Fotos\Leerlingen\" & Me![leerlingID] & ".jpg"
end if

Is dit wat je bedoelt ?
 
Hallo Jeroen,

Dank voor je reactie maar sorry voor het feit dat ik het niet helemaal begrijp en ik hoop dat je het me wilt uitleggen..

Private Sub Form_Current()
If Me![LeerlingID] <> 0 Then
Me!JouFotoVeld.Picture = "C:\Fotos\Leerlingen\" & Me![leerlingID] & ".jpg"
end if
end sub


ik begrijp niet helemaal wat je bedoelt met Me!JouFotoVeld.Picture en de code in z'n geheel moet ik die toepassen
op een tekstveld of maak ik in de ontwerpfase een afbeelding aan waarin ik een standaard foto zet.

Alvast bedankt voor je uitleg,
Vriendelijke groet,
Rob
 
Inlezen van een afbeelding op een formulier doe je door het plaatje (middels de code van Jeroen bijvoorbeeld) uit te laten voeren op het moment dat je een record opent. Op het formulier gebeurt dat bij de gebeurtenis <Bij Aanwijzen>. Dus elke keer als je naar een ander record gaat, wordt de code opnieuw uitgevoerd, en dus de foto ingelezen op het formulier. Dat gebeurt op basis van de LeerlingID. Je hebt vast een Image object op je formulier gemaakt waar de foto in moet komen. Omdat je geen voorbeeldje hebt meegepost, weten we niet hoe dat object heet. Jeroen noemt hem dus <JouwFotoVeld> (maar dan met taalfout ;) ) Uiteraard moet je die naam aanpassen aan je eigen situatie. Als je niet ME! typt, maar ME. (een punt dus i.p.v. een uitroepteken) krijg je een lijst met de objecten op je formulier; uit die lijst kun je (door de beginletters te typen) het juiste object aanwijzen, en daarmee voorkom je typfouten.
 
Dank je wel Michel voor je uitleg.

Ik heb het inmiddels draaiende en het werkt perfect ( wow wat is dit gaaf zeg).

Heb alleen nog een volgende vraag als een pasfoto niet wordt gevonden dan heb
ik één zelfgemaakt jpg file genaamd "leeg.jpg". Hoe kan ik dit probleem nu oplossen
dat als hij de gezochte foto niet vind dat hij dan standaard "leeg.jpg" inlaad.

Wederom vriendelijke groet en dank aan u beide,
Rob
 
Laatst bewerkt:
Mt een extra check op het bestaan van de foto, denk ik. Die kun je met het DIR commando doen:

Code:
If Dir("C:\Fotos\Leerlingen\" & Me![leerlingID] & ".jpg") = "" Then
    Me!JouFotoVeld.Picture = "C:\Fotos\Leerlingen\Leeg.jpg"
Else
    Me!JouFotoVeld.Picture = "C:\Fotos\Leerlingen\Leeg.jpg"
End If
 
Het lukt me helaas niet de code (DIR comando) die je opgeeft toe te passen.

ik krijg de foutmelding (zie bijlage) of het fotoveld blijft helemaal leeg.

vriendelijke groet,
Rob
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    13,6 KB · Weergaven: 144
Ik heb meer belangstelling voor de code die je gebruikt; foutmeldingen geloof ik ook wel zonder plaatje ;)
 
De code werkt perfect totdat er een leerlingnummer voorbij komt die geen foto heeft laten maken bij de schoolfotograaf.
Dan krijg ik eerder genoemde foutmelding.

(werkende code)
Private Sub Form_Current()
If Me![leerlingnummer] <> 0 Then
Me!Afbeelding35.Picture = "C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal\" & Me![leerlingnummer] & ".jpg"
End If
End Sub

De code die jij mij gegeven hebt hebt ik als volgt toegepast:

Private Sub Form_Current()

If Dir("C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal" & Me![leerlingnummer] & ".jpg") = "" Then
Me!Afbeelding35.Picture = "C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal\Leeg.jpg"
Else
Me!Afbeelding35.Picture = "C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal\Leeg.jpg"
End If

End Sub

dan krijg ik geen foto zichtbaar maar alleen de file leeg.jpg

ik hoop dat het zo duidelijk is.

Vriendelijke groet,
Rob
 
Ik moest de code ook ongeveer uit mijn hoofd maken op het moment; meestal gebruik ik 'm zoals de Helpfunctie 'm hanteert:

Code:
Private Sub Form_Current()
Dim sCheck As String

sCheck = Dir("C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal" & Me![leerlingnummer] & ".jpg")
If sCheck = "" Then
    Me.Afbeelding35.Picture = "C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal\Leeg.jpg"
Else
    Me.Afbeelding35.Picture = "C:\Users\Rob\Desktop\Jan Arentsz\FotoTotaal" & Me.[leerlingnummer] & ".jpg"
End If

End Sub

Overigens snap ik best dat je geen plaatje krijgt, want in beide poten van de IF doe je hetzelfde. Dus ik vermoed dat mijn voorbeeldje ook nog wel werkt :)
 
Sorry dat ik niet meer reageerde op de vraag, maar zit midden in een vehuizing ;)
Gelukkig heeft Michel je verder op weg geholpen, doet ie bij mij ook altijd perfect !
Tja en Michel, taalfoutje kan gebeuren he hahaha.
 
Sorry maar het lukt me helaas niet .

Ik heb een voorbeeldje van de database gemaakt.
Hierin heb ik 4 jpg bestandjes bijgevoegd die de cijfers
van 1 t/m 4 voorstellen. Nr 5 heeft geen foto laten maken
dus zou de database hier het bestand leeg.jpg moeten kiezen.

Ik hoop dat jullie het me nog een keer wilen uitleggen wat ik aan
de code moet toevoegen/wijzigen om het gewenste resultaat te
krijgen.

Alvast heel erg bedankt.
Vriendelijke groet,
Rob.
 

Bijlagen

  • Testmap.rar
    35,1 KB · Weergaven: 99
Als je de db kunt exporteren naar Access 2003, dan kijk ik er straks even naar; anders wordt het vanavond.
 
Bij deze in 2003

Alvast bedankt,
Rob
 

Bijlagen

  • Testmap.rar
    31,4 KB · Weergaven: 33
Ik zag dat je nog geen poging hebt gedaan om het DIR commando toe te passen :) Hierin zit een werkend voorbeeld.
 

Bijlagen

  • Testmap.zip
    34,3 KB · Weergaven: 166
Enorm bedankt. Deze oplossing werkt feilloos.

Vriendelijke groet,
Rob

Ps. volgens mij ben je 24 uur p/d met Access bezig, want of ik nu 's avonds een vraag stel of 's morgens je bent er altijd (respect hoor).
Hoogste tijd om je handleiding maar uit te proberen. Ik denk dat ik er nog veel van kan leren.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan