[Résolu] Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

[Résolu] Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT

Message par cegtio »

Bonjour la Communauté,

J'aimerais ouvrir mon formulaire dans un fichier ODT plutôt que de passer ma base de données (fichier OBDODB).

Dans ce formulaire j'ai un bouton sur lequel j'appelle (via une macro) un autre formulaire de cette même base de données. Voici le contenu de la macro :

Code : Tout sélectionner

Sub OpenForm_PRESTATIONS
const sNewDocumentName="PRESTATIONS"
oNewFormDocument=ThisDatabaseDocument.FormDocuments.getbyname(sNewDocumentName).open
End Sub
Hélas, cela n'ouvre pas le second formulaire et j'ai le message d'erreur suivant :

Code : Tout sélectionner

Une erreur de structure de script s'est produite lors de l'exécution du script vnd.sun.star.script:Standard.OpenForm.OpenForm_PRESTATIONS?language=Basic&location=document en Basic.

Message : The following Basic script could not be found:
library: 'Standard'
module: 'OpenForm'
method: 'OpenForm_PRESTATIONS'
location: 'document'
Je comprends qu'il ne pavient pas à trouver le script de la macro. Mais je ne sais pas comment l'aider à le trouver.

Accepteriez-vous de m'aider ?

Merci bien et bonne fin de journée.
Dernière modification par cegtio le 16 avr. 2023 20:06, modifié 2 fois.
LibreOffice 7.5 sous MacOS 10.15.7
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par godefroy »

Bonsoir cegtio,

Je voulais juste vous dire que la modération, en principe, destine l'argument MACRO à un autre département. (C'est une remarque que j'ai reçu récemment).

Ayez l'amabilité de préciser si Report Builder est installé dans le logiciel et, de même, poster un fichier Odb (et non pas Obd).

Dans cette attente, veuillez agréer mes salutations les meilleures.

Godefroy
Dernière modification par godefroy le 14 avr. 2023 16:49, modifié 1 fois.
Libre Office 6.0.7 Ubuntu 18.04
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par jeanmi2403 »

Bonsoir,
C'est normal, dans le formulaire ton bouton appelle une procédure de la base ouverte. Or, lorsque tu appelle depuis ton ODT, il cherche la procédure dans le document ouvert ... (location=document) qui est cette fois l'ODT.
Il te faudra donc écrire une macro dans le document odt, et à partir de cette macro :
  • ouvrir la base
  • identifier le formulaire
  • ouvrir le formulaire.
Ceci dit, je ne vois pas bien l'intérêt d'avoir des formulaire à l'extérieur de la base en s'obligeant à une gymnastique pour utiliser les données.
A plus,
P.S. : ton titre est incorrect, il n'y a pas d'erreur à l'export du formulaire.
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par godefroy »

Salut cegtio,

Au fait, Sonia avait demandé si on pouvait utiliser un bouton pour créer un lien entre deux formulaires, voir viewtopic.php?t=66743.

Je n'ai pas encore bien compris ce que tu aimerais obtenir, mais sur ce dernier fil il y a un script qui fonctionne....

Bien à toi

Godefroy
Libre Office 6.0.7 Ubuntu 18.04
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par jeanmi2403 »

Bonsoir,
godefroy a écrit : 14 avr. 2023 18:14 Je n'ai pas encore bien compris ce que tu aimerais obtenir,
Dans ce cas, peut-être vaut-il mieux s'abstenir ?
A plus
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par godefroy »

jeanmi2403 a écrit : 14 avr. 2023 21:24 Bonsoir,
godefroy a écrit : 14 avr. 2023 18:14 Je n'ai pas encore bien compris ce que tu aimerais obtenir,
Dans ce cas, peut-être vaut-il mieux s'abstenir ?
A plus
Oui Jean-Michel, mais ma maman me disait qu'il ne faut pas se prendre trop au sérieux....

:)
Libre Office 6.0.7 Ubuntu 18.04
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par cegtio »

jeanmi2403 a écrit : 14 avr. 2023 16:22 Il te faudra donc écrire une macro dans le document odt, et à partir de cette macro :
  • ouvrir la base
  • identifier le formulaire
  • ouvrir le formulaire.
Ceci dit, je ne vois pas bien l'intérêt d'avoir des formulaire à l'extérieur de la base en s'obligeant à une gymnastique pour utiliser les données.
Merci pour ta réponse ! Je souhaite ouvrir le formulaire dans un fichier indépendant de la base de donnée pour être sûr de ne pas effacer par mégarde mes tables. Je trouve cela plus "secure".
Dommage que la sauvegarde dans un fichier ODT n'exporte pas les macros...
PS: J'ai corrigé le titre.
LibreOffice 7.5 sous MacOS 10.15.7
godefroy
Membre prOOscrit
Messages : 106
Inscription : 18 févr. 2023 18:54

Re: Erreur de lors de l'export de mon formulaire OBD vers un fichier ODT

Message par godefroy »

cegtio a écrit : 15 avr. 2023 05:48
jeanmi2403 a écrit : 14 avr. 2023 16:22 Il te faudra donc écrire une macro dans le document odt, et à partir de cette macro :
  • ouvrir la base
  • identifier le formulaire
  • ouvrir le formulaire.
Ceci dit, je ne vois pas bien l'intérêt d'avoir des formulaire à l'extérieur de la base en s'obligeant à une gymnastique pour utiliser les données.
Merci pour ta réponse ! Je souhaite ouvrir le formulaire dans un fichier indépendant de la base de donnée pour être sûr de ne pas effacer par mégarde mes tables. Je trouve cela plus "secure".
Dommage que la sauvegarde dans un fichier ODT n'exporte pas les macros...
PS: J'ai corrigé le titre.
Oui mais, à quoi bon? (pourquoi dans ce cas ne pas sauvegarder copie du fichier ODB
Libre Office 6.0.7 Ubuntu 18.04
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10105
Inscription : 28 août 2010 08:45

Re: Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT

Message par micmac »

Dans le titre de votre sujet il y a écrit :Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT
Dans le bandeau rouge en haut de la page il y a écrit :Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Merci de ne pas poursuivre dans cette section, de corriger le titre, de clôturer le présent sujet et d'ouvrir un nouveau sujet dans la section Macros et API.
Dans chaque fil, vous ferez apparaitre un lien vers l’autre conversation.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1485
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT

Message par jeanmi2403 »

Salut,
Tu fais ce que demande le modérateur, et on te proposera une macro qui fait ce que tu souhaite.
Il faudra joindre une base anonymisée avec les mêmes caractéristiques que la tienne et la description précise des actions a realiser.
A plus,
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
cegtio
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 09 avr. 2023 18:50

Re: Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT

Message par cegtio »

Je fais ça de suite , merci.
LibreOffice 7.5 sous MacOS 10.15.7
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12851
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: [Résolu] Macro non utilisable si le formulaire ODB est sauvé dans un fichier ODT

Message par Bidouille »

Et comment ceux qui tomberont sur ce fil vont faire pour trouver la réponse en section Macros ?
Merci de penser à la qualité de la recherche dans ce forum.

Suite ici : viewtopic.php?t=67145