Référence à un Controle d'un sous-formulaire d'un formulaire
2 réponses
HervéR
Bonjour,
L'objet peut paraître barbare, mais il est en fait assez simple !
Je veux dans un sub faire quelque chose en fonction d'une valeur présente
- dans le controle "Num_Client", présent
- dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent
- dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code :
Private Sub Btn_Contact_Click()
Dim The_frm As String, The_sfrm As String, The_ctrl As String
The_frm = "Ligne_Contrat_Consultation"
The_sfrm = "Sfrm_Entete_Client_Fran_Machine"
The_ctrl = "Num_Client"
' La ligne suivante marche bien
MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre
MsgBox Forms(The_frm)(The_sfrm)(The_ctrl)
End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :(
Quelqu'un peut-l m'aider ?
Merci d'avance...
L'objet peut paraître barbare, mais il est en fait assez simple ! Je veux dans un sub faire quelque chose en fonction d'une valeur présente
- dans le controle "Num_Client", présent - dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent - dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code : Private Sub Btn_Contact_Click() Dim The_frm As String, The_sfrm As String, The_ctrl As String The_frm = "Ligne_Contrat_Consultation" The_sfrm = "Sfrm_Entete_Client_Fran_Machine" The_ctrl = "Num_Client"
' La ligne suivante marche bien MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre MsgBox Forms(The_frm)(The_sfrm)(The_ctrl) End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :( Quelqu'un peut-l m'aider ? Merci d'avance...
Bonjour HervéR
Je viens d'essayer avec ta formule : MsgBox Forms(The_frm)(The_sfrm) (The_ctrl) et ca marche Private Sub Commande12_Click() Dim the_form As String, the_sform As String, the_ctl As String the_form = "Formulaire32" ' form principal the_sform = "ListeClient" ' sous-formulaire the_ctl = "Societe_client" ' controle du sous-form MsgBox Forms(the_form)(the_sform)(the_ctl) ----> retourne bien le nom de la sté, idem si je prends le numclient End Sub
Y a peut-être quelque chose qui m'échappe. Le bouton est sur le formulaire ppal.
L'objet peut paraître barbare, mais il est en fait assez simple !
Je veux dans un sub faire quelque chose en fonction d'une valeur
présente
- dans le controle "Num_Client", présent
- dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent
- dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code :
Private Sub Btn_Contact_Click()
Dim The_frm As String, The_sfrm As String, The_ctrl As String
The_frm = "Ligne_Contrat_Consultation"
The_sfrm = "Sfrm_Entete_Client_Fran_Machine"
The_ctrl = "Num_Client"
' La ligne suivante marche bien
MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre
MsgBox Forms(The_frm)(The_sfrm)(The_ctrl)
End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :(
Quelqu'un peut-l m'aider ?
Merci d'avance...
Bonjour HervéR
Je viens d'essayer avec ta formule : MsgBox Forms(The_frm)(The_sfrm)
(The_ctrl) et ca marche
Private Sub Commande12_Click()
Dim the_form As String, the_sform As String, the_ctl As String
the_form = "Formulaire32" ' form principal
the_sform = "ListeClient" ' sous-formulaire
the_ctl = "Societe_client" ' controle du sous-form
MsgBox Forms(the_form)(the_sform)(the_ctl) ----> retourne bien le
nom de la sté, idem si je prends le numclient
End Sub
Y a peut-être quelque chose qui m'échappe. Le bouton est sur le
formulaire ppal.
L'objet peut paraître barbare, mais il est en fait assez simple ! Je veux dans un sub faire quelque chose en fonction d'une valeur présente
- dans le controle "Num_Client", présent - dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent - dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code : Private Sub Btn_Contact_Click() Dim The_frm As String, The_sfrm As String, The_ctrl As String The_frm = "Ligne_Contrat_Consultation" The_sfrm = "Sfrm_Entete_Client_Fran_Machine" The_ctrl = "Num_Client"
' La ligne suivante marche bien MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre MsgBox Forms(The_frm)(The_sfrm)(The_ctrl) End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :( Quelqu'un peut-l m'aider ? Merci d'avance...
Bonjour HervéR
Je viens d'essayer avec ta formule : MsgBox Forms(The_frm)(The_sfrm) (The_ctrl) et ca marche Private Sub Commande12_Click() Dim the_form As String, the_sform As String, the_ctl As String the_form = "Formulaire32" ' form principal the_sform = "ListeClient" ' sous-formulaire the_ctl = "Societe_client" ' controle du sous-form MsgBox Forms(the_form)(the_sform)(the_ctl) ----> retourne bien le nom de la sté, idem si je prends le numclient End Sub
Y a peut-être quelque chose qui m'échappe. Le bouton est sur le formulaire ppal.
A+ Eric
HervéR
Merci Eric d'avoir essayé ! J'ai renommé le sous-formulaire en lui donnant un nom plus court ("Sfrm-Entete") : le code a fonctionné ! J'ai renommé le sous-formulaire en lui re-donnant son nom présumé trop long ("Sfrm-Entete_Client-Fran_Machine") : le code a fonctionné !
Donc merci à toi d'avoir essayé un code qui à mon avis devait fonctionner mais qui ne fonctionnait pas et qui pourtant a fonctionné chez toi, m'enjoignant à le re-tester pour constater qu'il fonctionnait, même après avoir annulé la modification qui faisait qu'il avait fonctionné pour revenir à la situation où il ne fonctionnait pas :) :) :)
L'objet peut paraître barbare, mais il est en fait assez simple ! Je veux dans un sub faire quelque chose en fonction d'une valeur présente
- dans le controle "Num_Client", présent - dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent - dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code : Private Sub Btn_Contact_Click() Dim The_frm As String, The_sfrm As String, The_ctrl As String The_frm = "Ligne_Contrat_Consultation" The_sfrm = "Sfrm_Entete_Client_Fran_Machine" The_ctrl = "Num_Client"
' La ligne suivante marche bien MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre MsgBox Forms(The_frm)(The_sfrm)(The_ctrl) End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :( Quelqu'un peut-l m'aider ? Merci d'avance...
Bonjour HervéR
Je viens d'essayer avec ta formule : MsgBox Forms(The_frm)(The_sfrm) (The_ctrl) et ca marche Private Sub Commande12_Click() Dim the_form As String, the_sform As String, the_ctl As String the_form = "Formulaire32" ' form principal the_sform = "ListeClient" ' sous-formulaire the_ctl = "Societe_client" ' controle du sous-form MsgBox Forms(the_form)(the_sform)(the_ctl) ----> retourne bien le nom de la sté, idem si je prends le numclient End Sub
Y a peut-être quelque chose qui m'échappe. Le bouton est sur le formulaire ppal.
A+ Eric
Merci Eric d'avoir essayé !
J'ai renommé le sous-formulaire en lui donnant un nom plus court
("Sfrm-Entete") : le code a fonctionné !
J'ai renommé le sous-formulaire en lui re-donnant son nom présumé trop long
("Sfrm-Entete_Client-Fran_Machine") : le code a fonctionné !
Donc merci à toi d'avoir essayé un code qui à mon avis devait fonctionner
mais qui ne fonctionnait pas et qui pourtant a fonctionné chez toi,
m'enjoignant à le re-tester pour constater qu'il fonctionnait, même après
avoir annulé la modification qui faisait qu'il avait fonctionné pour revenir
à la situation où il ne fonctionnait pas :) :) :)
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF94E9819369B98fframZZhotmailcom@207.46.248.16...
L'objet peut paraître barbare, mais il est en fait assez simple !
Je veux dans un sub faire quelque chose en fonction d'une valeur
présente
- dans le controle "Num_Client", présent
- dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent
- dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code :
Private Sub Btn_Contact_Click()
Dim The_frm As String, The_sfrm As String, The_ctrl As String
The_frm = "Ligne_Contrat_Consultation"
The_sfrm = "Sfrm_Entete_Client_Fran_Machine"
The_ctrl = "Num_Client"
' La ligne suivante marche bien
MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre
MsgBox Forms(The_frm)(The_sfrm)(The_ctrl)
End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :(
Quelqu'un peut-l m'aider ?
Merci d'avance...
Bonjour HervéR
Je viens d'essayer avec ta formule : MsgBox Forms(The_frm)(The_sfrm)
(The_ctrl) et ca marche
Private Sub Commande12_Click()
Dim the_form As String, the_sform As String, the_ctl As String
the_form = "Formulaire32" ' form principal
the_sform = "ListeClient" ' sous-formulaire
the_ctl = "Societe_client" ' controle du sous-form
MsgBox Forms(the_form)(the_sform)(the_ctl) ----> retourne bien le
nom de la sté, idem si je prends le numclient
End Sub
Y a peut-être quelque chose qui m'échappe. Le bouton est sur le
formulaire ppal.
Merci Eric d'avoir essayé ! J'ai renommé le sous-formulaire en lui donnant un nom plus court ("Sfrm-Entete") : le code a fonctionné ! J'ai renommé le sous-formulaire en lui re-donnant son nom présumé trop long ("Sfrm-Entete_Client-Fran_Machine") : le code a fonctionné !
Donc merci à toi d'avoir essayé un code qui à mon avis devait fonctionner mais qui ne fonctionnait pas et qui pourtant a fonctionné chez toi, m'enjoignant à le re-tester pour constater qu'il fonctionnait, même après avoir annulé la modification qui faisait qu'il avait fonctionné pour revenir à la situation où il ne fonctionnait pas :) :) :)
L'objet peut paraître barbare, mais il est en fait assez simple ! Je veux dans un sub faire quelque chose en fonction d'une valeur présente
- dans le controle "Num_Client", présent - dans le sous-formulaire "Sfrm_Entete_Client_Fran_Machine", présent - dans le formulaire "Ligne_Contrat_Consultation"
Voici un exemple de ce que je veux faire dans le code : Private Sub Btn_Contact_Click() Dim The_frm As String, The_sfrm As String, The_ctrl As String The_frm = "Ligne_Contrat_Consultation" The_sfrm = "Sfrm_Entete_Client_Fran_Machine" The_ctrl = "Num_Client"
' La ligne suivante marche bien MsgBox Forms(The_frm).Sfrm_Entete_Client_Fran_Machine(The_ctrl)
' Mais je voudrais n'utiliser aucune valeur "en dur", du genre MsgBox Forms(The_frm)(The_sfrm)(The_ctrl) End Sub
mais je n'y arrive pas ! J'ai essayé plusieurs possiblités, en vain :( Quelqu'un peut-l m'aider ? Merci d'avance...
Bonjour HervéR
Je viens d'essayer avec ta formule : MsgBox Forms(The_frm)(The_sfrm) (The_ctrl) et ca marche Private Sub Commande12_Click() Dim the_form As String, the_sform As String, the_ctl As String the_form = "Formulaire32" ' form principal the_sform = "ListeClient" ' sous-formulaire the_ctl = "Societe_client" ' controle du sous-form MsgBox Forms(the_form)(the_sform)(the_ctl) ----> retourne bien le nom de la sté, idem si je prends le numclient End Sub
Y a peut-être quelque chose qui m'échappe. Le bouton est sur le formulaire ppal.