Recuperer le nom d'une form ou d'une subform

Le
FreThi
Bonjour, bonsoir

Je pensais naivement arriver à mes fins avec ce bout de code:

Dim MyFormName As String
MyFormName = Me.Form.Caption
Me!MyTxtFormName = MyFormName

afin de récupérer le nom de la Subform dans laquelle je me trouve (celle
d'access, pas ma forme à moi.. Je pouffe)
et bien zut et fourt
ça ne fonctionne pas
donc je me trompe qq part

Le but ultime est de récupérer soit le nom de la Form ou d'une SubForm pour
donner un nom à un fichier (mais ça, c'est une autre histoire..)

Merci à vous,

Frédéric
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6282881
Bonjour.

dans le formulaire principal:
Dim MyFormName As String
MyFormName = Me.Name
'récupère le nom du formulaire principal

dans le sous-formulaire:
Dim MyFormName As String
MyFormName = Me.Name
'récupère le nom du sous-formulaire dans lequel on se trouve

hé oui, procédure identique.

Dim MyFormName As String
MyFormName = Me.Parent.Name
'récupère le nom du formulaire principal dans lequel se trouve le
sous-formulaire dans lequel on se trouve.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"FreThi"
| Bonjour, bonsoir
|
| Je pensais naivement arriver à mes fins avec ce bout de code:
|
| Dim MyFormName As String
| MyFormName = Me.Form.Caption
| Me!MyTxtFormName = MyFormName
|
| afin de récupérer le nom de la Subform dans laquelle je me trouve (celle
| d'access, pas ma forme à moi.. Je pouffe)
| et bien zut et fourt
| ça ne fonctionne pas
| donc je me trompe qq part...
|
| Le but ultime est de récupérer soit le nom de la Form ou d'une SubForm
pour
| donner un nom à un fichier (mais ça, c'est une autre histoire..)
|
| Merci à vous,
|
| Frédéric
|
FreThi
Le #6282201
Bonsoir Raymond,

Toujours la bonne idée.
Merci

En fait, voila ce que je cherche à faire:
remplacer la ligne suivante

Set rec = Forms!MaForm!MaSubForm.Form.Recordset
par
Set rec = Forms!VariableMaForme!VariableMaSubForm.Form.Recordset

Est-ce faisable?

d'avance merci.

Frédéric

"Raymond [mvp]" news:e7e$
Bonjour.

dans le formulaire principal:
Dim MyFormName As String
MyFormName = Me.Name
'récupère le nom du formulaire principal

dans le sous-formulaire:
Dim MyFormName As String
MyFormName = Me.Name
'récupère le nom du sous-formulaire dans lequel on se trouve

hé oui, procédure identique.

Dim MyFormName As String
MyFormName = Me.Parent.Name
'récupère le nom du formulaire principal dans lequel se trouve le
sous-formulaire dans lequel on se trouve.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"FreThi"
| Bonjour, bonsoir
|
| Je pensais naivement arriver à mes fins avec ce bout de code:
|
| Dim MyFormName As String
| MyFormName = Me.Form.Caption
| Me!MyTxtFormName = MyFormName
|
| afin de récupérer le nom de la Subform dans laquelle je me trouve (celle
| d'access, pas ma forme à moi.. Je pouffe)
| et bien zut et fourt
| ça ne fonctionne pas
| donc je me trompe qq part...
|
| Le but ultime est de récupérer soit le nom de la Form ou d'une SubForm
pour
| donner un nom à un fichier (mais ça, c'est une autre histoire..)
|
| Merci à vous,
|
| Frédéric
|




Raymond [mvp]
Le #6282151
Bonjour.

il sera plus rapide et plus simple de faire:

Dim Rs As DAO.Recordset
Set Rs = Me.Recordset

Dim Rs1 As DAO.Recordset
Set Rs1 = Me.Parent.Recordset

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"FreThi"
| Bonsoir Raymond,
|
| Toujours la bonne idée.
| Merci
|
| En fait, voila ce que je cherche à faire:
| remplacer la ligne suivante
|
| Set rec = Forms!MaForm!MaSubForm.Form.Recordset
| par
| Set rec = Forms!VariableMaForme!VariableMaSubForm.Form.Recordset
|
| Est-ce faisable?
|
| d'avance merci.
|
| Frédéric
|
FreThi
Le #6281791
Bon sang, mais c'est bien sur ! ...
Sauf que..:

La procédure complete est un code qui manipule les datas et les transferent
vers Excel (code trouvé chez un participant au forum)
Je veux mettre ma procédure dans un module et en Public de manière à pouvoir
l'atteindre de n'importe ou dans le prog.
Hors, le ".me" ne passe pas dans une public procedure ...

..Je m'attend encore à te lire avec une solution simple et efficace..et que
je ne trouve pas...

Merci à toi,

Frédéric


"Raymond [mvp]" news:%
Bonjour.

il sera plus rapide et plus simple de faire:

Dim Rs As DAO.Recordset
Set Rs = Me.Recordset

Dim Rs1 As DAO.Recordset
Set Rs1 = Me.Parent.Recordset

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"FreThi"
| Bonsoir Raymond,
|
| Toujours la bonne idée.
| Merci
|
| En fait, voila ce que je cherche à faire:
| remplacer la ligne suivante
|
| Set rec = Forms!MaForm!MaSubForm.Form.Recordset
| par
| Set rec = Forms!VariableMaForme!VariableMaSubForm.Form.Recordset
|
| Est-ce faisable?
|
| d'avance merci.
|
| Frédéric
|




Raymond [mvp]
Le #6281611
bien sûr qu'on peut travailler dans une fonction avec le formulaire actif
Me.

place une fonction public dans un module standard, telle que:

Public Function Leform(ObjetForm As Form) As Boolean
MsgBox ObjetForm.Name
MsgBox ObjetForm!Texte1
End Function

dans ton formulaire sur le click d'un bouton par exemple tu mets:

Public Sub Commande0_Click()
Leform Me
End Sub

tu verras ce que ça donne et tu n'auras pas besoin d'explications
complémentaires.
dans ta fonction Leform qui reçoit l'objet Me en paramètre (ton formulaire
actif) sous le nom de ObjetForm, tu peux travailler comme si tu étais dans
ton formulaire et au lieu d'indiquer Me, tu indiques ObjetForm .
donc dans ta fonction tu peux recevoir n'importe quel objet form de ton
application et atteindre n'importe quel contrôle de ce même objet form.

ouala.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"FreThi"
| Bon sang, mais c'est bien sur ! ...
| Sauf que..:
|
| La procédure complete est un code qui manipule les datas et les
transferent
| vers Excel (code trouvé chez un participant au forum)
| Je veux mettre ma procédure dans un module et en Public de manière à
pouvoir
| l'atteindre de n'importe ou dans le prog.
| Hors, le ".me" ne passe pas dans une public procedure ...
|
| ..Je m'attend encore à te lire avec une solution simple et efficace..et
que
| je ne trouve pas...
|
| Merci à toi,
|
| Frédéric
Publicité
Poster une réponse
Anonyme