[Résolu] [Base] Modification chemin d'accès image pour affichage dans rapport
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
[Résolu] [Base] Modification chemin d'accès image pour affichage dans rapport
Bonjour à tous,
Je crée une base pour une amie vec 2 tables, pour l'instant : 1 table Enfants et 1 table Bilan. '
L'objectif de cette base est d'enregistrer un bilan par enfant, avec plusieurs photos à l'intérieur via un formulaire, puis de générer un rapport de ce même bilan.
Pour faciliter la saisie, j'ai créé un champ "sélection de fichier" dans mon formulaire pour importer les images, avec une macro qui enregistre ce chemin d'accès (C://...) dans la table Bilan.
Jusqu'ici tout va bien.
Là où ça se corse, c'est pour afficher ces images dans le bilan. Après plus de recherches, je crois comprendre que le chemin d'accès des images doit commencer par "file:///" pour pouvoir s'afficher dans des contrôles images du rapport.
Il faudrait donc qu'à chaque nouvel enregistrement de bilan, une macro (ou autre?) puisse modifier automatiquement le chemin d'accès des images dans la table, pour qu'il passe de "C:/..." à "File:///C:/...".
J'ai essayé via une requête Replace mais ça n'a pas l'air de fonctionner.
Peut-être que je suis partie dans une mauvaise direction...
Est-ce que quelqu'un a une solution à me proposer svp ?
Je crée une base pour une amie vec 2 tables, pour l'instant : 1 table Enfants et 1 table Bilan. '
L'objectif de cette base est d'enregistrer un bilan par enfant, avec plusieurs photos à l'intérieur via un formulaire, puis de générer un rapport de ce même bilan.
Pour faciliter la saisie, j'ai créé un champ "sélection de fichier" dans mon formulaire pour importer les images, avec une macro qui enregistre ce chemin d'accès (C://...) dans la table Bilan.
Jusqu'ici tout va bien.
Là où ça se corse, c'est pour afficher ces images dans le bilan. Après plus de recherches, je crois comprendre que le chemin d'accès des images doit commencer par "file:///" pour pouvoir s'afficher dans des contrôles images du rapport.
Il faudrait donc qu'à chaque nouvel enregistrement de bilan, une macro (ou autre?) puisse modifier automatiquement le chemin d'accès des images dans la table, pour qu'il passe de "C:/..." à "File:///C:/...".
J'ai essayé via une requête Replace mais ça n'a pas l'air de fonctionner.
Peut-être que je suis partie dans une mauvaise direction...
Est-ce que quelqu'un a une solution à me proposer svp ?
Dernière modification par ln500cb le 19 févr. 2025 10:49, modifié 3 fois.
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- PassiOOnné
- Messages : 713
- Inscription : 20 déc. 2017 14:45
Re: Modification chemin d'accès image pour affichage dans rapport
Re,
Merci de joindre l'ODB parce que jusque là, il est impossible de répondre.
PS : et il faut aussi mettre [Base] dans votre titre (lire le bandeau rouge en haut)
Je vous l'ai déjà signalé.
Merci de joindre l'ODB parce que jusque là, il est impossible de répondre.
PS : et il faut aussi mettre [Base] dans votre titre (lire le bandeau rouge en haut)
OpenOffice 4.1.15 - Windows 10
-
- SuppOOrter
- Messages : 1480
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Modification chemin d'accès image pour affichage dans rapport
Bonsoir,
Il faut que dans une macro, tu utilise la fonction ConvertToURL ("ton chemin d'image").
Cordialement,
Il faut que dans une macro, tu utilise la fonction ConvertToURL ("ton chemin d'image").
Cordialement,
Jean-Michel
LibO 24.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 24.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: BASE Modification chemin d'accès image pour affichage dans rapport
Bonjour,
Merci pour le lien vers la macro ConvertToURL, malheureusement je ne comprends pas trop comment je dois procéder...
Je vous joins ma base, allégée au maximum.
Serait-il possible de faire cette conversion d'URL dans la même macro que celle utilisée pour mettre à jour le champ de la table (grâce au sélecteur de fichier) dans le formulaire BILAN ? je vous joins la macro en question.
De plus, j'ai environ 31 images à insérer dans chaque bilan, faudra-t-il que je fasse 31 macros (une pour chaque photo), où y aurait-il une astuce pour qu'une seule macro puisse s'appliquer à toutes les images ?
Merci pour le lien vers la macro ConvertToURL, malheureusement je ne comprends pas trop comment je dois procéder...
Je vous joins ma base, allégée au maximum.
Serait-il possible de faire cette conversion d'URL dans la même macro que celle utilisée pour mettre à jour le champ de la table (grâce au sélecteur de fichier) dans le formulaire BILAN ? je vous joins la macro en question.
De plus, j'ai environ 31 images à insérer dans chaque bilan, faudra-t-il que je fasse 31 macros (une pour chaque photo), où y aurait-il une astuce pour qu'une seule macro puisse s'appliquer à toutes les images ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- IdOOle de la suite
- Messages : 25970
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Salut,
Il est d'usage de citer l'auteur de la macro d'origine dont tu t'inspires.
L'instruction est mal positionnée. Il faut qu'elle soit placée sur la zone de texte :
Il est d'usage de citer l'auteur de la macro d'origine dont tu t'inspires.
L'instruction est mal positionnée. Il faut qu'elle soit placée sur la zone de texte :
Code : Tout sélectionner
sub AfficherImage
'Code original fourni par <auteur> : https://forum.openoffice.org/fr/<lien>
dim PysForm as object
PysForm = thiscomponent.drawPage.forms.getByName("MainForm")
PysForm.getByName("ImageControl").ImageURL = PysForm.getByName("url").Text
end sub
sub EnregistrerChemin(PysEvent)
dim PysForm as object
PysForm = thiscomponent.drawPage.forms.getByName("MainForm")
PysForm.getByName("url").Text = ConvertToUrl(PysEvent.Source.Text)
PysForm.getByName("url").commit
AfficherImage
end sub
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
J'ai fait tellement de tests et de recherches à gauche à droite que je ne me souviens plus où j'ai trouvé ce code...
Je suis désolée, je ne comprends pas ce que je dois faire
Quand je place la macro "enregistrer le lien" sur la zone de texte (quand "texte modifié"), rien ne s'affiche dans la zone..
En revanche, quand je place la macro sur le sélecteur de fichier (quand "texte modifié), le chemin de l'image se reporte bien dans la zone de texte reliée au champ de ma table.
Par contre, gros problème : ça ne met pas le chemin à jour dans ma table Bilan... Et donc, forcément, ça ne convertit pas non plus le chemin en url.
La macro Afficher image sur le controle picto, fonctionne parfaitement en revanche.
Je suis désolée, je ne comprends pas ce que je dois faire

Quand je place la macro "enregistrer le lien" sur la zone de texte (quand "texte modifié"), rien ne s'affiche dans la zone..
En revanche, quand je place la macro sur le sélecteur de fichier (quand "texte modifié), le chemin de l'image se reporte bien dans la zone de texte reliée au champ de ma table.
Par contre, gros problème : ça ne met pas le chemin à jour dans ma table Bilan... Et donc, forcément, ça ne convertit pas non plus le chemin en url.
La macro Afficher image sur le controle picto, fonctionne parfaitement en revanche.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- IdOOle de la suite
- Messages : 25970
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Le champ de donnée de ton contrôle ne correspond pas à la colonne de la table.
Parce qu'avec des noms de colonnes à rallonge, ça va être coton pour les requêtes.
Franchement quand je vois l'usine à gaz que tu prépares, je pense que tu devrais déjà simplifier ta table BILAN.Parce qu'avec des noms de colonnes à rallonge, ça va être coton pour les requêtes.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
En effet.... Quelle idiote.... A force d'avoir le nez dedans, je pense que je vois double...
Merci beaucoup, ça fonctionne désormais !
Par contre, impossible d'afficher l'image dans mon rapport..
J'ai inséré un contrôle d'image (Données : "Champ ou formule" / Champ de données : "HyperlienPhoto1").
Qu'est-ce que je fais de mal ?
Merci beaucoup, ça fonctionne désormais !

Par contre, impossible d'afficher l'image dans mon rapport..
J'ai inséré un contrôle d'image (Données : "Champ ou formule" / Champ de données : "HyperlienPhoto1").
Qu'est-ce que je fais de mal ?
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- IdOOle de la suite
- Messages : 25970
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Déjà, tu ne tiens pas compte de ce que je te dis quant à la complexité du nom de tes champs.

Parce que vraiment à chaque fois, il faut s'accrocher à te décrypter.
Tu lances une macro Main :
Code : Tout sélectionner
Sub Main(oEvt as Object)
oDoc = ThisDatabasedocument()
oForm = oEvt.Source.Model.Parent
nId = oForm.getByName("ID ENFANT").CurrentValue
sSQL = "SELECT ""Nom et prénom"" FROM ""TABLE ENFANTS"
oCnx = oDoc.CurrentController.ActiveConnection
oCnx.queries.getByName("Requête_TABLE BILAN").Command = sSQL
oRapport = oDoc.ReportDocuments.getByName("Rapport_BILAN").open()
End Sub
Comment veux-tu que ton rapport trouve les autres informations ?
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Je n'avais pas vu ton message sur la complexité des noms, désolée !
Je suis d'accord avec toi, c'est effectivement une usine à gaz mon histoire.... Au début, j'avais scindé la table bilan en plusieurs tables, mais je galérais un peu à tout rassembler donc j'ai décidé de tout réunir..
Maintenant que tout ma structure est créée, je t'avoue que je n'ai vraiment pas le courage de tout reprendre.
Pour la macro Main, elle est dans mes macros mais n'est appliquée à rien car je n'arrive pas à m'en servir.
Je l'ai juste gardée au cas où.
Mon problème actuel (et j'ose espérer le dernier car je commence à désespérer) est la conversion des url dans mon rapport.
S'il n'y a pas de solution, j'aurais tout fait ça pour rien

Je suis d'accord avec toi, c'est effectivement une usine à gaz mon histoire.... Au début, j'avais scindé la table bilan en plusieurs tables, mais je galérais un peu à tout rassembler donc j'ai décidé de tout réunir..
Maintenant que tout ma structure est créée, je t'avoue que je n'ai vraiment pas le courage de tout reprendre.
Pour la macro Main, elle est dans mes macros mais n'est appliquée à rien car je n'arrive pas à m'en servir.
Je l'ai juste gardée au cas où.
Mon problème actuel (et j'ose espérer le dernier car je commence à désespérer) est la conversion des url dans mon rapport.
S'il n'y a pas de solution, j'aurais tout fait ça pour rien
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- IdOOle de la suite
- Messages : 25970
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Si, elle est branchée à un bouton dans le formulaire "TABLE_ENFANTS".
Ici, c'est la section Macro dédiée aux problèmes macros.
Donc si tu veux que cela fonctionne, il faut reprendre l'intégralité de ta requête nommée "Requête_Table BILAN".
D'où ma remarque quant à la complexité des colonnes qui rend le SQL complétement délirant :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
En effet, j'avais modifié la base entre-temps et je ne l'avais pas renvoyée : la voici.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- IdOOle de la suite
- Messages : 25970
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Bon, je n'ai plus de temps à consacrer à ton problème.
J'ai donc repris ton dernier ODB et j'ai ajouté un rapport basé sur une requête et un formulaire.
Pour que cela marche, il faut qu'il y ait un chemin valide vers une image pour la colonne "HyperlienPhoto1" dans "TABLE BILAN"
Tu auras ainsi toutes les billes pour comprendre comment cela fonctionne.
J'ai donc repris ton dernier ODB et j'ai ajouté un rapport basé sur une requête et un formulaire.
Pour que cela marche, il faut qu'il y ait un chemin valide vers une image pour la colonne "HyperlienPhoto1" dans "TABLE BILAN"
Tu auras ainsi toutes les billes pour comprendre comment cela fonctionne.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Sincèrement désolée pour le dérangement, et merci pour la base, mais malheureusement les photos ne s'affichent toujours pas dans le rapport.
J'ai désinstallé ma version de LibreOffice pour installer la version antérieure plus stable, comme tu me l'avais conseillé, mais ça n'a rien changé au niveau de l'affichage.
Est-ce que tu peux me dire si, sur ton poste, les images s'affichent correctement dans le rapport stp ?
J'ai désinstallé ma version de LibreOffice pour installer la version antérieure plus stable, comme tu me l'avais conseillé, mais ça n'a rien changé au niveau de l'affichage.
Est-ce que tu peux me dire si, sur ton poste, les images s'affichent correctement dans le rapport stp ?
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- IdOOle de la suite
- Messages : 25970
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Hum, quand je fournis quelque chose, c'est que c'est testé et approuvé.
Merci de faire la même copie d'écran :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Bonjour Dude,
Je n'ai jamais voulu sous-entendre que ta base n'était pas opérationnelle... je te demandais juste si les photos s'affichaient bien dans le rapport sur ton poste. Je n'avais pas mentionné de problème avec la modification du chemin d'accès dans la table.
J'ai finalement trouvé par hasard d'où venait le problème qui était tout bête : l'option Afficher les images n'était pas activée par défaut dans Writer....
J'ai désormais un problème avec la macro ConvertToUrl que je ne parviens pas à faire fonctionner pour les autres images dans mon formulaire..
J'ai essayé de dupliquer la macro en lui rajoutant un numéro (EnregistrerChemin2), et en modifiant le nom de la zone de texte de la 2eme image en "url2", et en la connectant au bon champ dans ma table. Ça ne marche pas.
J'ai aussi essayé de recopier/coller directement dans la macro existante les deux dernières lignes en modifiant "url" par "url2" (nom attribué à la zone de texte de ma 2eme image). Ça ne fonctionne pas non plus.
Décidément, quand un problème se résoud, un autre survient...
Aurais-tu une solution à me proposer stp ?
Je n'ai jamais voulu sous-entendre que ta base n'était pas opérationnelle... je te demandais juste si les photos s'affichaient bien dans le rapport sur ton poste. Je n'avais pas mentionné de problème avec la modification du chemin d'accès dans la table.
J'ai finalement trouvé par hasard d'où venait le problème qui était tout bête : l'option Afficher les images n'était pas activée par défaut dans Writer....
J'ai désormais un problème avec la macro ConvertToUrl que je ne parviens pas à faire fonctionner pour les autres images dans mon formulaire..
J'ai essayé de dupliquer la macro en lui rajoutant un numéro (EnregistrerChemin2), et en modifiant le nom de la zone de texte de la 2eme image en "url2", et en la connectant au bon champ dans ma table. Ça ne marche pas.
J'ai aussi essayé de recopier/coller directement dans la macro existante les deux dernières lignes en modifiant "url" par "url2" (nom attribué à la zone de texte de ma 2eme image). Ça ne fonctionne pas non plus.
Décidément, quand un problème se résoud, un autre survient...
Aurais-tu une solution à me proposer stp ?
Dernière modification par ln500cb le 19 févr. 2025 09:35, modifié 1 fois.
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- RespOOnsable forum
- Messages : 12660
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Bonjour,
Ceci afin que nous ayons une base de connaissances optimum pour tous ceux effectuant des recherches dans ce forum.
Je vous invite à (re)lire nos règles et à baliser ce fil comme [Résolu]
Autre problème = nouveau sujet avec un titre en rapport
Ceci afin que nous ayons une base de connaissances optimum pour tous ceux effectuant des recherches dans ce forum.
Je vous invite à (re)lire nos règles et à baliser ce fil comme [Résolu]
-
- Membre lOOyal
- Messages : 36
- Inscription : 05 janv. 2024 11:30
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Bonjour,
Je ne comprends pas car il s'agit bien toujours du même problème de gestion des url pour affichage d'images dans un rapport.
Je pense qu'il est plus clair que je la pose dans la continuité ici, car il y a l'historique des manipulations déjà effectuées sur ma base (ainsi que tous les fichiers liés), non ?
Je ne comprends pas car il s'agit bien toujours du même problème de gestion des url pour affichage d'images dans un rapport.
Je pense qu'il est plus clair que je la pose dans la continuité ici, car il y a l'historique des manipulations déjà effectuées sur ma base (ainsi que tous les fichiers liés), non ?
Libre Office 24.8.4.2
Windows 11 pro
Windows 11 pro
-
- RespOOnsable forum
- Messages : 12660
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: [Base] Modification chemin d'accès image pour affichage dans rapport
Non puisque selon vos dires, avec une image, tout fonctionne.
Maintenant ce serait plutôt l'usage de ConvertToUrl pour stocker plusieurs chemins d'accès.
D'ailleurs si je ne m'abuse, c'est ce que vous avez fait sur le forum Ask.LibreOffice non ?