Généralement, il n'est pas recommandé d'emmagasiner les images dans une
table Access pour les raisons mentionnées dans l'article "Handle/Display images in
forms/databases". Une façon de contourner le problème est d'emmagasiner le
chemin du fichier contenant l'image plutôt que l'image et de l'assigner, un
peu comme ci-après, à la propriété Picture d'une Image en cours
d'exécution: (ImagePath est ici le nom du contrôle associé au champ
contenant le chemin des images à afficher)
Private Sub Form_Current()
With Me
.imgImageDisplay.Picture = .ImagePath
End With
End Sub
Cependant, si les images sont à moindrement grandes et si l'utilisateur
navigue rapidement entre les enregistrements en utilisant les boutons de
navigation intégrés et ce, avant que le dialogue synchrone "Loading
Image" ne disparaisse, le résultat peut alors être un General
Protection Fault sous Access, ou encore le message "Out Of Stack
Space" avant qu'Access ne termine.
On peut contourner ce problème en désactivant les boutons de navigation
intégrés avant de faire l'assignation de la propriété Picture du contrôle
Image. Si vous utilisez quelques contrôles de navigation personnalisée, vous
devez les désactiver également.
Private Sub Form_Current()
With Me
.NavigationButtons = False
.imgImageDisplay.Picture = .ImagePath
.NavigationButtons = True
End With
End Sub