foto op fiche

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.682
Hallo,

Via de identiteitskaart scan ik gegevens in... dus ook, de foto
Als ik nu van de ene fiche naar de andere ga, dan wil ik dat de foto mee aangepast wordt aan de nieuwe fiche.
Maar, als er GEEN foto voorhanden is wil ik ook een leef "fotoveld"
Dat laatste lukt me niet
Kan iemand helpen aub?
Bedankt

Code onder de "Volgende"-knop:
HTML:
Private Sub Volgende_Click()
 On Error GoTo Volgende
 DoCmd.GoToRecord acDataForm, "weergave patiënt", acNext
 On Error GoTo verder
    Forms![weergave patiënt].pasfoto.Picture = CurrentProject.Path & "\Fotos\" & Forms![weergave patiënt].RRN.Value & ".jpg"
 GoTo overslaan
Volgende:
 DoCmd.GoToRecord acDataForm, "weergave patiënt", acFirst
 On Error GoTo verder
    Forms![weergave patiënt].pasfoto.Picture = CurrentProject.Path & "\Fotos\" & Forms![weergave patiënt].RRN.Value & ".jpg"
verder:
overslaan:

Dim f As Form
Set f = Forms![weergave patiënt]

f.TimerInterval = 1
End Sub
 
Ik vind het een beetje vreemde code; deze variant lijkt mij logischer. En zou je probleem moeten verhelpen.

Code:
Private Sub Volgende_Click()
Dim f As Form
    
    Set f = Forms![weergave patiënt]
    'Mooier:
    ''Set f = Me
    On Error GoTo Volgende
    
With f
    .TimerInterval = 1
    DoCmd.GoToRecord , , acNext
    On Error GoTo Volgende
    If .RRN.Value = vbNullString Then
        'of de foto leegmaken, of een dummy plaatje gebruiken
        .pasfoto.Picture = ""
        ''.pasfoto.Picture = CurrentProject.Path & "\dummy.jpg"
    Else
        .pasfoto.Picture = CurrentProject.Path & "\Fotos\" & .RRN.Value & ".jpg"
    End If
    GoTo Overslaan

Volgende:
    DoCmd.GoToRecord , , acFirst
    
    On Error GoTo Overslaan
    If .RRN.Value = vbNullString Then
        .pasfoto.Picture = ""
        ''.pasfoto.Picture = CurrentProject.Path & "\dummy.jpg"
    Else
        .pasfoto.Picture = CurrentProject.Path & "\Fotos\" & .RRN.Value & ".jpg"
    End If
End With

Overslaan:
End Sub
 
Michel,
Ik vrees dat de code, in mijn geval, niet werkt
je schrijft:

If .RRN.Value = vbNullString Then

meestal is RRN (rijksregisternummer) niet leeg (soms wel maar heel zelden)...
de foto's die ik inscan worden via het Rijksregisternummer opgeslagen
Ik heb heel wat fiches met een rijksregisternummer maar waar er nog geen foto voor bestaat
Dus .RRN.Value is zelden leeg maar de waarde heeft heel dikwijls nog geen corresponderende foto in het bestand zitten.

Groeten
JP
 
Ik werk regelmatig met afbeeldingen waarvan ik de naam opsla in een tabel. En die dan weer teruglees als ik het record open. Een beetje dus zoals jij het ook probeert. Alleen heb ik een één-op-één relatie tussen afbeelding en fotonaam; geen foto = geen fotonaam en geen fotonaam = geen foto. Vind ik persoonlijk wel logisch. Ook als je de afbeelding later verandert, en/of de naam, dan blijft het gewoon werken. Jouw methodiek is dus een stuk minder betrouwbaar.
Je zult denk ik dan eerst met een DIR commando moeten controleren of de foto bestaat. Zo ja: laten zien, zo nee, foto leeg.
 
de reden hiervoor is dat dit "rijksregister-gedoe" pas nu van belang is (officieel bedoel ik dan)
het foto-luik is leuk meegenomen als ik dan toch een identiteitskaart uitlees..
Dus een paar duizend fiches hebben misschien wel een RR-nummer maar geen foto, of zelfs geen RR-nummer.
Hoe je dan met dat DIR commando aan de slag moet is me ook niet echt duidelijk

JP
 
Hier een functie waarmee je kunt testen of een bestand bestaat.

Code:
Public Function CheckFile(sFile As String) As Boolean
On Error GoTo ErrorHandler
Dim sF As String
    
    If Not Dir(sFile) = "" Then CheckFile = True
    Exit Function
    
ErrorHandler:
End Function

Code:
Sub testje()
    MsgBox CheckFile(CurrentProject.Path & "\" & "bestel.jpg")
End Sub

De syntax in het subje gebruik je natuurlijk om jouw bestandsnaam te genereren. Iets als:
Code:
    If CheckFile(CurrentProject.Path & "\Fotos\" & .RRN.Value & ".jpg") = True Then
Etc.
 
Maak je gebruik van de EIDWrapper om een ID te scannen naar Access of heb je een andere manier gevonden?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan