j'espère que j'arrive à la dernière étape.
dans ma base j'ai une Table et un Formulaire comprenant un contrôle Image.
le document .odb et le dossier "Reproductions" contenant les fichiers images sont dans un même dossier.
Le Catalogue des œuvres est en formation, il n'y a pas une image pour chaque œuvre, et chaque œuvre n'a pas encore un code,
Les images sont nommées par le code (contenu dans le champ du même nom) suivi de son extension.
La macro actuelle AfficherImage obtient le nom du fichier image correspondant à l'enregistrement vu dans le formulaire.
Je veux ensuite mettre l'image dans le contrôle image du formulaire en utilisant l'Url du fichier image mais sans enregistrer cette Url comme il est fait dans un post récent sur le sujet
https://forum.openoffice.org/fr/forum/v ... 66#p338877
et je voudrais que l'Url soit relative pour pouvoir déplacer l'ensemble du catalogue sur un autre ordinateur.
La macro est la suivante :
77
Sub AfficherImage()
78 Dim TemponCode as String, ImagePath as String, nomFichier as String
79 Dim monDoc as Object, unForm as Object, ctrlCode as Object
80 Dim DocCrl as Object, DrawPage as Object, nomDossier as String
81
82
83 monDoc = thisComponent
84 DocCrl = monDoc.getCurrentController()
85 unForm = monDoc.DrawPage.Forms.getByName("F_CatalogueOeuvres")
86 ctrlCode = unForm.getByName("Code")
87 TemponCode = ctrlCode.CurrentValue
88 nomFichier = TemponCode & "." & "jpg"
89 MsgBox (nomFichier)
90
91 nomDossier = "Reproductions"
92 'ImagePath = nomDossier\nomFichier
93 unForm.getByName("ControleImage").ImageURL= convertToUrl(nomDossier\nomFichier)
End Sub
Tout va bien jusqu'à la ligne 89, j'ai le nom du fichier de l'image dans la MsgBox.
La ligne 93 devrait être du n'importe quoi (Erreur 13 type de données incohérent)
j'ai essayé de m'inspirer du code du post cité plus haut mais il y a des choses que je ne comprends pas et je ne veux pas faire pareil, si possible.
Merci pour votre aide.