OVH Cloud OVH Cloud

Paramètre sur 2 formulaires

1 réponse
Avatar
GGM
Bonjour,
Je suis en vb2005.

Sur un form1 j'ai un datagrid qui se remplit =E0 l'aide d'un dataset
(mon fichier client).
Ce que j'aimerai faire, c'est s=E9lectionner un client dans le datagrid
et ensuite =E0 l'aide d'un bouton, ouvrir un formulaire 2 qui aurait
aussi un datagrid et qui contiendrai les factures li=E9es =E0 ce client
(mon fichier client).

J'arrive =E0 instancier le form2 depuis le form1, mais je sais pas
comment passer le param=E8tre "noclient" qui identifie les factures pour
ce client uniquement.

Quand j'ouvre mon form2, j'ai toutes les factures qui apparaissent.
J'ai besoin uniquement des factures du client s=E9lectionn=E9 dans mon
form1.

Dans la table client, j'ai le champ "noclient" qui identifie mon client
et dans la table facture, j'ai le champ "noclient" qui y fait
r=E9f=E9rence.

merci.

1 réponse

Avatar
Christian Hugoud
Pour faire cela, je crée une fonction public use dans le formulaire cible.

Dans celle-ci je passe des paramètres que je peux utiliser alors dans le
formulaire lui-même.

A la fin, cette fonction use peut retourner une valeur (ou encore modifier
les paramètres si ceux-ci sont passés byref).

C'est cette fonction qui affiche (ou non) le form.

Exemple :

Dans le bouton formulaire source :

dim monform as new stdform 'stdform est le "prototype" du form

backvalue = monform.use ("param", " pas de param") 'ici le code s'arrête
(voir suite)
set monform = nothing


dans stdform :

un truc comme...

public function use (byval param1$, byval param2$) as long

if param1 = "coucou" then
...
end if

'idem param2

me.show vbModal 'modal pour stopper le code appelant

'le code reprend ici lorsque quelque part dans le code de ce formulaire tu
fais : me.hide
use = 3 'valeur de retour de la fonction use

'et là on reprend le code appelant

hope this helps

Christian


"GGM" a écrit dans le message de news:

Bonjour,
Je suis en vb2005.

Sur un form1 j'ai un datagrid qui se remplit à l'aide d'un dataset
(mon fichier client).
Ce que j'aimerai faire, c'est sélectionner un client dans le datagrid
et ensuite à l'aide d'un bouton, ouvrir un formulaire 2 qui aurait
aussi un datagrid et qui contiendrai les factures liées à ce client
(mon fichier client).

J'arrive à instancier le form2 depuis le form1, mais je sais pas
comment passer le paramètre "noclient" qui identifie les factures pour
ce client uniquement.

Quand j'ouvre mon form2, j'ai toutes les factures qui apparaissent.
J'ai besoin uniquement des factures du client sélectionné dans mon
form1.

Dans la table client, j'ai le champ "noclient" qui identifie mon client
et dans la table facture, j'ai le champ "noclient" qui y fait
référence.

merci.