1 message in org.openoffice.fr.prog[prog] base: activation de formulaire
FromSent OnAttachments
Michel GardieAug 29, 2008 2:34 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] base: activation de formulaireActions...
From:Michel Gardie (mich@it-sudparis.eu)
Date:Aug 29, 2008 2:34:56 am
List:org.openoffice.fr.prog

Bonjour

Voici mon problème (volontairement très simplifié) concernant la programmation de formulaires sous Base.

Disons que je possède deux tables Table1 et Table2. Chaque table contient quelques champs. La table 1 contient un champ dénommé num1 et la table 2 contient un champ num2.

Je crée tout d'abord un formulaire pour accéder à la table 1. J'ai utilisé pour cela l'assistant de formulaire. Pour faire vite. Je dispose ainsi d'un document dans lequel se trouve un formulaire associé à la table 1 ; les données sont présentées sous la forme de champs. Je dispose donc d'un champ formaté correspondant au champ num1. J'ai rajouté dans ce document un formulaire correspondant à la table 2. Les données sont cette fois présentées sous la forme d'une table.

Je souhaite pouvoir cliquer sur une des lignes de cette table et extraire ainsi une valeur (celle de num2) qui sera injectée dans le champ num1.

J'arrive bien à extraire une valeur de la table, mais je bloque sur l'insertion de valeurs dans le champ num1.

Si j'écris:

oForm1 = ThisComponent.DrawPage.Forms.getByName("MainForm") oField = oForm1.getByName("fmtnum1") ' correspond au champ num1 oForm2 = ThisComponent.DrawPage.Forms.getByName("FormTable2") oTable = oForm2.getByName("TableControl") valeur = oTable(1).getCurrentValue() ' c'est la colonne 1 de la table qui m'intéresse. Elle correspond à num2 oField.text = valeur

je vois bien apparaître la valeur choisie dans le champ num1, mais le formulaire reste inactif ; il est impossible d'enregistrer un nouveau tuple dans la table 1. Le seul moyen d'activer le formulaire semble de saisir des données à la main dans les champs. Et ce n'est pas ce que je veux. J'avoue que je dois rater quelque chose.

Quelqu'un saurait-il me dépanner, m'expliquer pourquoi je suis stupide et ainsi me faire avancer d'un grand pas en avant ?

Merci.

TELECOM & Management SudParis 9, rue Charles Fourier 91011 Évry Cedex tél : +33 1 60 76 47 89 fax : +33 1 60 76 47 11