OVH Cloud OVH Cloud

passage d'un formulaire à 1 autre

9 réponses
Avatar
squeepy
Bonjour

je suis sur form3
Peut on mettre une condition sur evenement form_load qui dirait :
si je viens d'étre chargé grace a form2
alors DoCmd.GoToRecord , , acNewRec
end if
--
Merci de votre aide

9 réponses

Avatar
Hervé DUCARNE
Bonjour,

A mon avis tu résonnes "à l'envers".
Je dirais : depuis form2 quand j'ouvre form3 je le fait sur un nouvel
enregistrement :
DoCmd.OpenForm "form3", , , , acFormAdd

Si tu l'ouvres depuis form1, bah tu l'ouvres normalement.

@+

"squeepy" a écrit dans le message de
news:
Bonjour

je suis sur form3
Peut on mettre une condition sur evenement form_load qui dirait :
si je viens d'étre chargé grace a form2
alors DoCmd.GoToRecord , , acNewRec
end if
--
Merci de votre aide


Avatar
squeepy
Et bien non justement
je suis obligé de le faire dans le sens que j'ai demandé à cause de certains
controles que g mis en place
--
Merci de votre aide



Bonjour,

A mon avis tu résonnes "à l'envers".
Je dirais : depuis form2 quand j'ouvre form3 je le fait sur un nouvel
enregistrement :
DoCmd.OpenForm "form3", , , , acFormAdd

Si tu l'ouvres depuis form1, bah tu l'ouvres normalement.

@+

"squeepy" a écrit dans le message de
news:
Bonjour

je suis sur form3
Peut on mettre une condition sur evenement form_load qui dirait :
si je viens d'étre chargé grace a form2
alors DoCmd.GoToRecord , , acNewRec
end if
--
Merci de votre aide







Avatar
3stone
Salut,

"squeepy"
| je suis sur form3
| Peut on mettre une condition sur evenement form_load qui dirait :
| si je viens d'étre chargé grace a form2
| alors DoCmd.GoToRecord , , acNewRec
| end if



Dans le formulaire qui appelle, tu passe le nom dans l'argument "OpenArgs"
simplement par : Me.Name

A l'ouverture du form3, il te suffit de regarder la valeur de 'OpenArgs'
pour connaître le formulaire appelant !

L'utilisation de l'OpenArgs est expliqué ici :
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#OpenArgs


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
squeepy
Merci de ta réponse
Est ce que j'ai bien compris
sur le bouton de la form2, il faut que je fasse me.name = Me.openargs
et sur le form load de form3,
If Me.OpenArgs = True Then
...
end if

non?
--
Merci de votre aide



Salut,

"squeepy"
| je suis sur form3
| Peut on mettre une condition sur evenement form_load qui dirait :
| si je viens d'étre chargé grace a form2
| alors DoCmd.GoToRecord , , acNewRec
| end if



Dans le formulaire qui appelle, tu passe le nom dans l'argument "OpenArgs"
simplement par : Me.Name

A l'ouverture du form3, il te suffit de regarder la valeur de 'OpenArgs'
pour connaître le formulaire appelant !

L'utilisation de l'OpenArgs est expliqué ici :
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#OpenArgs


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Squeepy !!!

"squeepy"
| Est ce que j'ai bien compris
| sur le bouton de la form2, il faut que je fasse me.name = Me.openargs
| et sur le form load de form3,
| If Me.OpenArgs = True Then
| ...
| end if
|
| non?


Non, tu n'as pas compris... parce que tu n'as ni vérifié dans l'aide,
ni été regardé le lien que je t'ai indiqué !

;-)


Retourne voir le code sous ton bouton qui ouvre le form3...

Le DoCmd.Openform possède comme dernier paramètre celui que
l'on nomme l'argument "OpenArgs"
Il suffit d'y renseigner le nom du form appelant par Me.Name

De "l'autre coté" dans le form appelé, tu teste ce même argument:

if Not isnull(Me.OpenArgs) then
MsgBox " Nom du form appelant : " & Me.OpenArgs
end if



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
squeepy
je vais essayer de t'expliquer le probléme :
en fait j'ai 3 form principales qu'on nommera : Form1;form2;form3
la form1 avec un bouton, permet de se diriger vers la form2
la form1 permet aussi sur un double clique dans une zone de liste d'aller
vers la form3 sur un enregistrement sélectionné dans la zone de liste.
la form2 avec un bouton, permet de se diriger vers la form3

le souci : c'est que je voudrais faire en sorte, que quand je vais de form2
vers form3 il ouvre ce dernier sur un nouvel enregistrement (avec
DoCmd.OpenForm ("Form3") et Txt_Date = Date & Txt_Heure = Time() )
Par contre quand je double clique sur une ligne de la zone de liste de
form1, il ouvre form3 a l'enregistrement qui convient
et pour l'instant ca ne marche pas, je peux faire que soit l'un soit l'autre
et pas les 2
d'ou mon post. Je ne maitrise pas bien openargs, pourrait tu me donner un
exemple avec mes données stp

--
Merci de votre aide



Salut,

"squeepy"
| je suis sur form3
| Peut on mettre une condition sur evenement form_load qui dirait :
| si je viens d'étre chargé grace a form2
| alors DoCmd.GoToRecord , , acNewRec
| end if



Dans le formulaire qui appelle, tu passe le nom dans l'argument "OpenArgs"
simplement par : Me.Name

A l'ouverture du form3, il te suffit de regarder la valeur de 'OpenArgs'
pour connaître le formulaire appelant !

L'utilisation de l'OpenArgs est expliqué ici :
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#OpenArgs


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
squeepy
Non, tu n'as pas compris... parce que tu n'as ni vérifié dans l'aide,
ni été regardé le lien que je t'ai indiqué !

Que tu es médisant!!!
Si j'ai regardé dans tout les sens mais j'ai du mal regardé et j'avoue avoir
mal compris

--
Merci de votre aide



Squeepy !!!

"squeepy"
| Est ce que j'ai bien compris
| sur le bouton de la form2, il faut que je fasse me.name = Me.openargs
| et sur le form load de form3,
| If Me.OpenArgs = True Then
| ...
| end if
|
| non?


Non, tu n'as pas compris... parce que tu n'as ni vérifié dans l'aide,
ni été regardé le lien que je t'ai indiqué !

;-)


Retourne voir le code sous ton bouton qui ouvre le form3...

Le DoCmd.Openform possède comme dernier paramètre celui que
l'on nomme l'argument "OpenArgs"
Il suffit d'y renseigner le nom du form appelant par Me.Name

De "l'autre coté" dans le form appelé, tu teste ce même argument:

if Not isnull(Me.OpenArgs) then
MsgBox " Nom du form appelant : " & Me.OpenArgs
end if



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Yououuuu ;-)

"squeepy"
| Non, tu n'as pas compris...


Tu me demandais, je te répondais :o))


|
| Que tu es médisant!!!

meuh non...


| Si j'ai regardé dans tout les sens mais j'ai du mal regardé et j'avoue avoir
| mal compris


et encore maintenant, malgré que je te l'ai réexpliqué ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
3stone
re,

"squeepy"
| je vais essayer de t'expliquer le probléme :
| en fait j'ai 3 form principales qu'on nommera : Form1;form2;form3
| la form1 avec un bouton, permet de se diriger vers la form2
| la form1 permet aussi sur un double clique dans une zone de liste d'aller
| vers la form3 sur un enregistrement sélectionné dans la zone de liste.
| la form2 avec un bouton, permet de se diriger vers la form3
|
| le souci : c'est que je voudrais faire en sorte, que quand je vais de form2
| vers form3 il ouvre ce dernier sur un nouvel enregistrement (avec
| DoCmd.OpenForm ("Form3") et Txt_Date = Date & Txt_Heure = Time() )
| Par contre quand je double clique sur une ligne de la zone de liste de
| form1, il ouvre form3 a l'enregistrement qui convient
| et pour l'instant ca ne marche pas, je peux faire que soit l'un soit l'autre
| et pas les 2
| d'ou mon post. Je ne maitrise pas bien openargs, pourrait tu me donner un
| exemple avec mes données stp


Tu disais que tu voulais savoir de quel form tu venais...
c'est exactement ce que tu peux faire en "transmettant" le nom du formulaire appelant.

Regarde les paramètres de "OpenForm" et tu verras que le dernier est "OpenArgs"
(j'ai l'impression de parler dans le désert ;-)
- Donc tu transmet le nom du formulaire qui appelle
et dans le form3 tu regarde la valeur de OpenArgs et tu sauras d'où tu viens !



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/