Een afbeelding in formulier leeg maken

Status
Niet open voor verdere reacties.

Theo65

Gebruiker
Lid geworden
20 mrt 2023
Berichten
55
Ik heb weer een vraag.
Ik heb in een afbeelding toegevoegd in een fomrulier "PersoonsDocumentenForm".
Met de code hieronder laad ik de afbeelding, wat prima werkt.
Echter als er geen afbeelding is, dan blijft de afbeelding die het laatst is geladen staan.
Weet een van jullie hoe je zo'n afbeelding weer (via VBA) wist?

Code:
Private Sub DocNr_Click()
On Error GoTo Err_DocNr_Click
Dim myValue
Dim ZoekID


myValue = Forms!PersoonsDocumentenForm.Form!DocumentenSF.Form!AfbeeldingPad
ZoekID = myValue & ".jpg"
Me.Parent.ImageDoc.Picture = ZoekID


Exit_DocNr_Click:
    Exit Sub


Err_DocNr_Click:
    MsgBox Err.Description
End Sub
 
Beetje slordige code (variabelen niet echt declareren, wat is daar het nut van?), die er opgeschoond dan zo uit ziet:


Code:
Private Sub DocNr_Click()
Dim myValue As String
    myValue = Forms!PersoonsDocumentenForm.Form!DocumentenSF.Form!AfbeeldingPad
    If myValue = "" Then
      Me.Parent.ImageDoc.Picture = ""
    Else
        Me.Parent.ImageDoc.Picture = myValue & ".jpg"
    End If
End Sub

Of, wat ik meestal doe bij plaatjes zodat ze automatisch geladen worden:
Code:
Private Sub Form_Current()
Dim myValue As String
    myValue = Forms!PersoonsDocumentenForm.Form!DocumentenSF.Form!AfbeeldingPad
    If myValue = "" Then
      Me.Parent.ImageDoc.Picture = ""
    Else
        Me.Parent.ImageDoc.Picture = myValue & ".jpg"
    End If
End Sub



Alternatief is nog om een apart plaatje te gebruiken voor lege velden, die je dan laadt als er geen plaatje is.
 
Het automatisch wijzigen als nieuwe record geladen wordt, spreekt me wel aan.

De code van jou gaf een fout, dus probeerde dit op te lossen met
Code:
Private Sub Form_Load()
 myValue = Forms!PersoonsDocumentenForm!Info
 ZoekID = myValue & "0.jpg"
 
Me.ImageDoc.Picture = ZoekID
 
End Sub

Dit werkt wel, maar als ik met (standaard) navigatieknoppen naar volgende record wil, dan werkt het niet.
Dit probeerde ik te ondervangen met dezelfde code maar dan bij wijziging van de het veld ID

Code:
Private Sub ID_Change()
 myValue = Forms!PersoonsDocumentenForm!Info
 ZoekID = myValue & "0.jpg"
 
Me.ImageDoc.Picture = ZoekID
End Sub

Maar dit werkte ook niet
 
Ik heb jouw db niet, dus ik weet niet waarom het bij jou niet werkt. De 'truc' om met meerdere variabelen te werken lijkt mij nog steeds onzinnig: (net als niet-declareren overigens).
Code:
myValue = Forms!PersoonsDocumentenForm!Info & "0.jpg"
lijkt mij nog steeds simpeler. Maar wellicht snap ik het nog niet helemaal :).

Wil je échte hulp, dan is het meesturen van de db de eerste (meester)zet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan