Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passer une valeur d'un formulaire appelé au formulaire appelant

4 réponses
Avatar
Trewan
Bonsoir,

J'ai, en mode continu, un formulaire principal avec un bouton qui
appelle un formulaire. Dans ce formulaire appelé, j'ai la possibilité de
créér un nouvel enregistrement.
Je voudrais que la valeur de la clé primaire du nouvel enregistrement
soit passée au formulaire principal à la fermeture du formulaire appelé

L'appel de formulaire fonctionne, j'arrive à revenir à l'enregistrement
initial dans le formulaire appelant (vive les archives!)

Mais je m'embrouille pour déclarer la variable qui va stocker cette
valeur de clé primaire dans le formulaire appelé.

A priori je dois déclarer cette variable en global dans un module ?

Merci pour votre aide

Eric

4 réponses

Avatar
Luiz Cláudio C. V. Rocha
Vous pouvez déclarer votre variable comme ceci:

Public MyKey As Long


Une meilleure solution, quoi qu'il en soit, est créer une propriété:

Private mlngMyKey As Long

Public Property Let MyKey(lngMyKey As Long)
mlngMyKey = lngMyKey
End Property

Public Property Get MyKey()
MyKey = mlngMyKey
End Property

--
Luiz Cláudio C. V. Rocha
Coordenador de Projetos FórumAccess
São Paulo - Brasil
MVP Office
http://www.msmvps.com/officedev


"Trewan" wrote:

Bonsoir,

J'ai, en mode continu, un formulaire principal avec un bouton qui
appelle un formulaire. Dans ce formulaire appelé, j'ai la possibilité de
créér un nouvel enregistrement.
Je voudrais que la valeur de la clé primaire du nouvel enregistrement
soit passée au formulaire principal à la fermeture du formulaire appelé

L'appel de formulaire fonctionne, j'arrive à revenir à l'enregistrement
initial dans le formulaire appelant (vive les archives!)

Mais je m'embrouille pour déclarer la variable qui va stocker cette
valeur de clé primaire dans le formulaire appelé.

A priori je dois déclarer cette variable en global dans un module ?

Merci pour votre aide

Eric



Avatar
Luiz Cláudio C. V. Rocha
Pardon...

Private mlngMyKey As Long

Public Property Let MyKey(lngMyKey)
mlngMyKey = lngMyKey
End Property

Public Property Get MyKey()
MyKey = mlngMyKey
End Property


--
Luiz Cláudio C. V. Rocha
Coordenador de Projetos FórumAccess
São Paulo - Brasil
MVP Office
http://www.msmvps.com/officedev


"Luiz Cláudio C. V. Rocha" wrote:

Vous pouvez déclarer votre variable comme ceci:

Public MyKey As Long


Une meilleure solution, quoi qu'il en soit, est créer une propriété:

Private mlngMyKey As Long

Public Property Let MyKey(lngMyKey As Long)
mlngMyKey = lngMyKey
End Property

Public Property Get MyKey()
MyKey = mlngMyKey
End Property

--
Luiz Cláudio C. V. Rocha
Coordenador de Projetos FórumAccess
São Paulo - Brasil
MVP Office
http://www.msmvps.com/officedev


"Trewan" wrote:

Bonsoir,

J'ai, en mode continu, un formulaire principal avec un bouton qui
appelle un formulaire. Dans ce formulaire appelé, j'ai la possibilité de
créér un nouvel enregistrement.
Je voudrais que la valeur de la clé primaire du nouvel enregistrement
soit passée au formulaire principal à la fermeture du formulaire appelé

L'appel de formulaire fonctionne, j'arrive à revenir à l'enregistrement
initial dans le formulaire appelant (vive les archives!)

Mais je m'embrouille pour déclarer la variable qui va stocker cette
valeur de clé primaire dans le formulaire appelé.

A priori je dois déclarer cette variable en global dans un module ?

Merci pour votre aide

Eric





Avatar
trewan
Merci pour cette réponse. Pour ma culture personelle, pourrais tu
m'expliquer pourquoi il est mieux de passer par une propriété?

Merci

Luiz Cláudio C. V. Rocha wrote:
Pardon...

Private mlngMyKey As Long

Public Property Let MyKey(lngMyKey)
mlngMyKey = lngMyKey
End Property

Public Property Get MyKey()
MyKey = mlngMyKey
End Property




Avatar
Luiz Cláudio C. V. Rocha
Salut,

les deux approches fonctionnent très bien.

La différence est que le Property Procedure te permet de savoir QUAND la
valeur de propriété change, ainsi tu peux prendre n'importe quelle mesure que
tu veux dans la Property Let.

En outre, tu peux choisir si tu veux qu'il soit une propriété Read/Write ou
Read-Only.

--
Luiz Cláudio C. V. Rocha
Coordenador de Projetos FórumAccess
São Paulo - Brasil
MVP Office
http://www.msmvps.com/officedev


"trewan" wrote:

Merci pour cette réponse. Pour ma culture personelle, pourrais tu
m'expliquer pourquoi il est mieux de passer par une propriété?

Merci

Luiz Cláudio C. V. Rocha wrote:
Pardon...

Private mlngMyKey As Long

Public Property Let MyKey(lngMyKey)
mlngMyKey = lngMyKey
End Property

Public Property Get MyKey()
MyKey = mlngMyKey
End Property