[Résolu][Base] Transfert de valeur du champ d'un formulaire dans celui d'un autre formulaire

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: 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 !
nat925
NOOuvel adepte
NOOuvel adepte
Messages : 12
Inscription : 14 juil. 2023 18:14

[Résolu][Base] Transfert de valeur du champ d'un formulaire dans celui d'un autre formulaire

Message par nat925 »

Bonjour à tous,
Je me permets d'écrire ici car je n'ai pas trouvé la solution à mon problème sur le forum dédié à OO Base. Peut-être que je suis obligé de passer par une macro pour faire ce que je veux...

Le lien vers mon sujet à ce propos, et notamment le message expliquant où j'en suis actuellement : viewtopic.php?p=374932#p374932

Comme expliqué dans ce message, j'ai essayé avec la macro d'un autre sujet dont la problématique était proche de la mienne (viewtopic.php?p=311509) mais sans succès, probablement parce que je suis une quiche en basic... Il y a une semaine j'ignorais l'existence de ce langage !

J'ai modifié le code pour l'appliquer à mon formulaire :

Code : Tout sélectionner

Sub copierColler(oEv as Object)
Dim oForm as Object, oForm1 as Object
   oForm = oEv.Source.Model.Parent
   oForm1 = thisComponent.DrawPage.Forms.getByName("Heures")
   oForm.getByName("fmtID").Text = oForm1.getByName("Date").Text
   oForm.getByName("fmtID").Commit
End sub
Je l'ai enregistré dans mes macros, appliqué sur le champ ID du formulaire 1 (événement : réception du focus) dans but de coller la valeur dans le champ Date du formulaire 3. J'ai baissé le niveau de sécurité par rapport aux macros.
Mais ça ne fait rien...
Je me suis aussi demandé si le .Text après le nom des champs était par rapport au type de champ (les miens sont Integer), j'ai essayé de trouver quelque chose là dessus sur internet, j'ai bidouillé, ça n'a pas été mieux.

Donc mes questions sont les suivantes :
1/ Est-ce que une macro peut m'aider sur mon problème (viewtopic.php?p=374932#p374932) ?
2/ Si j'utilise cette macro, est ce que ça va juste me modifier la donnée du champ Date du troisième formulaire, ou bien ça pourra "m'actualiser" ce formulaire 3 de telle manière à soit m'afficher l'entrée correspondant à cet ID de date, ou me proposer d'en créer une nouvelle si l'ID n'est pas encore connu ?
3/ Dans le cas où je devrais bien utiliser cette macro : pourquoi cette macro ne fonctionne t'elle pas dans mon cas ?

Je vous remercie d'avance,
Nat
Dernière modification par nat925 le 24 juil. 2023 20:09, modifié 1 fois.
Open office 4.1.14
Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Transférer la valeur d'un champ d'un formulaire dans un autre champ d'un autre formulaire

Message par Dude »

Salut,
nat925 a écrit : 23 juil. 2023 11:25Est-ce que une macro peut m'aider sur mon problème
Une macro ne fait qu'exécuter automatiquement une suite d'instructions qui pourrait être faite par toi-même.

Un champ de formulaire étant forcément relié à une colonne de table, ta question n'a pas de sens.
Pour moi, c'est un problème XY.
nat925
NOOuvel adepte
NOOuvel adepte
Messages : 12
Inscription : 14 juil. 2023 18:14

Re: [Base] Transférer la valeur d'un champ d'un formulaire dans un autre champ d'un autre formulaire

Message par nat925 »

Bonsoir,
je vais fermer ce sujet car manifestement ce n'est pas non plus avec une macro que j'aurais pu faire ce que je voulais.
En revance, pour ce qui est du problème XY (dont je ne connaissais pas le concept, mais intéressant) je conteste :
Que faire ?
1. Toujours inclure des informations sur un spectre plus large avant de décrire toute tentative de solution.
2. Si quelqu'un demande plus d'informations, fournissez des détails (copie écran, document, portion de code, etc).
3. S'il y a d'autres solutions que vous avez déjà exclues, donnez les raisons pour lesquelles vous les avez écartées. Cela donne plus d'informations sur vos besoins.
1. Ca n'a pas été fait sur ce sujet, mais sur l'autre que j'ai cependant mis en lien, je suis parti d'un spectre large (mon projet, objectifs) avant d'en arriver au problème
2. J'ai fourni des captures d'écran et ai toujours répondu aux questions
3. J'ai effectivement exclu des solutions, et j'ai également donné les raisons pour lesquelles je les ai exclues (exemples : au sujet des mainform/subform, pour l'idée d'ajout d'un champ date_temporaire, etc)

Ce sujet sur les macros, je l'ai ouvert car c'est la dernière piste que je voyais à explorer.

Fin d'exploration.
Open office 4.1.14
Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] Transférer la valeur d'un champ d'un formulaire dans un autre champ d'un autre formulaire

Message par Dude »

nat925 a écrit : 24 juil. 2023 20:09Ca n'a pas été fait sur ce sujet, mais sur l'autre
Le lien donné pointe vers un projet complexe.
Pour démarrer avec les macros, il faut simplifier le problème initial.
Tu l'aurais fait, tu aurais sans doute pu trouver par toi-même la solution.

Comme dans la plupart des langages, Basic permet de mémoriser des variables par le biais de la portée :
https://wiki.openoffice.org/wiki/FR/Doc ... _Variables