VBA : Passage de variable dans Forms![...]

Stoomm - 19 juil. 2001 à 16:54
 Stoomm - 23 juil. 2001 à 09:29
Bonjour,

Je cherche à passer une variable dans l'instruction :
Forms![NomTable].Property

Ex :

MaVar = "Frm_formulaire"
Forms!MaVar.Property 'ca ne marche pas biensur

Mon but étant d'avoir un résultat égal à :
Forms![Frm_formulaire].Property

Si quelqu'un peut m'aider. Merci beaucoup.

A+. Stoomm

5 réponses

as tu déclaré ![Frm_formulaire comme étant un formulaire ????
tu crée une variable formulaire dans laquelle tu fais passer ce form, et à cette variable, tu peux appliquer tout ce que tu veux
à peut prés.....................;
0
Mon formulaire frm_formulaire est un formulaire.
Ensuite, je déclare MaVar comme etant un formulaire, mais au passage de variable, j'y arive pas.
Un petit bout de code serait le bienvenue.

Merci. A+. Stoomm.
0
çà c'es-t un exemple de l'aide pour des controles, si tu fais la même chose avec les formulaires, çà devrait marcher.
Ne cherche pas à déclarer le frm.name=monform.name, t'as pas le droit, par contre tu peux faire frm=monform
comme c'est fait ci dessous pour les controles...................mais attention, il y a certaines propriétés que tu ne peux pas toucher ex name

si çà ne marche pas c'est qu'il faut passer le formulaire comme étant un objet, et le spécialiser comme étant un formulaire

sinon, tu peux encore faire appelle à
Dim cat As TableDef
Set cat = DBEngine(0)(0).TableDefs("nomdemonformulaire")
puis executer sur cat ce que tu dois faire sur ton form......................................

attention, je te parles de VB access........

Sub NouveauxContrôles()
Dim frm As Form
Dim ctlÉtiquette As Control, ctlTexte As Control
Dim entDonnéeX As Integer, entDonnéeY As Integer
Dim entÉtiquetteX As Integer, entÉtiquetteY As Integer

' Crée un nouveau formulaire avec comme source des enregistrements la table Commandes.
Set frm = CreateForm
frm.RecordSource = "Commandes"
' Définit les valeurs de position pour les nouveaux contrôles.
entÉtiquetteX = 100
entÉtiquetteY = 100
entDonnéeX = 1000
entDonnéeY = 100
' Crée une zone de texte indépendante avec une taille par défaut dans la section Détail.
Set ctlTexte = CreateControl(frm.Name, acTextBox, , "", "", _
entDonnéeX, entDonnéeY)
' Crée un contrôle étiquette fils pour la zone de texte.
Set ctlÉtiquette = CreateControl(frm.Name, acLabel, , _
ctlTexte.Name, "Nouvelle étiquette", entÉtiquetteX, entÉtiquetteY)
' Restaure le formulaire.
DoCmd.Restore
End Sub

si t'as toujours pas réussi avec tout çà, dis le nath
0
-------------------------------
Réponse au message :
-------------------------------

çà c'es-t un exemple de l'aide pour des controles, si tu fais la même chose avec les formulaires, çà devrait marcher.
Ne cherche pas à déclarer le frm.name=monform.name, t'as pas le droit, par contre tu peux faire frm=monform
comme c'est fait ci dessous pour les controles...................mais attention, il y a certaines propriétés que tu ne peux pas toucher ex name

si çà ne marche pas c'est qu'il faut passer le formulaire comme étant un objet, et le spécialiser comme étant un formulaire

sinon, tu peux encore faire appelle à
Dim cat As TableDef
Set cat = DBEngine(0)(0).TableDefs("nomdemonformulaire")
puis executer sur cat ce que tu dois faire sur ton form......................................

attention, je te parles de VB access........

Sub NouveauxContrôles()
Dim frm As Form
Dim ctlÉtiquette As Control, ctlTexte As Control
Dim entDonnéeX As Integer, entDonnéeY As Integer
Dim entÉtiquetteX As Integer, entÉtiquetteY As Integer

' Crée un nouveau formulaire avec comme source des enregistrements la table Commandes.
Set frm = CreateForm
frm.RecordSource = "Commandes"
' Définit les valeurs de position pour les nouveaux contrôles.
entÉtiquetteX = 100
entÉtiquetteY = 100
entDonnéeX = 1000
entDonnéeY = 100
' Crée une zone de texte indépendante avec une taille par défaut dans la section Détail.
Set ctlTexte = CreateControl(frm.Name, acTextBox, , "", "", _
entDonnéeX, entDonnéeY)
' Crée un contrôle étiquette fils pour la zone de texte.
Set ctlÉtiquette = CreateControl(frm.Name, acLabel, , _
ctlTexte.Name, "Nouvelle étiquette", entÉtiquetteX, entÉtiquetteY)
' Restaure le formulaire.
DoCmd.Restore
End Sub

si t'as toujours pas réussi avec tout çà, dis le nath

-------------------------------
Réponse au message :
-------------------------------

Mon formulaire frm_formulaire est un formulaire.
Ensuite, je déclare MaVar comme etant un formulaire, mais au passage de variable, j'y arive pas.
Un petit bout de code serait le bienvenue.

Merci. A+. Stoomm.

-------------------------------
Réponse au message :
-------------------------------

as tu déclaré ![Frm_formulaire comme étant un formulaire ????
tu crée une variable formulaire dans laquelle tu fais passer ce form, et à cette variable, tu peux appliquer tout ce que tu veux
à peut prés.....................;

-------------------------------
Réponse au message :
-------------------------------

Bonjour,

Je cherche à passer une variable dans l'instruction :
Forms![NomTable].Property

Ex :

MaVar = "Frm_formulaire"
Forms!MaVar.Property 'ca ne marche pas biensur

Mon but étant d'avoir un résultat égal à :
Forms![Frm_formulaire].Property

Si quelqu'un peut m'aider. Merci beaucoup.

A+. Stoomm
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ok, je te remercie bcp. En fait, j'ai trouvé après. tout marche. Je te remercie pour ton aide.
A+. Stoomm.
0
Rejoignez-nous