|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
Bonjour a tous,
Voila j'ai un formulaire dans lequel je crée un tableau de structure (appelons ce tableau "monTabStruct"). C'est une variable globale. Et j'aimerais savoir si il est possible de récupérer cette variable dans un autre formulaire, et si c'est faisable pourriez-vous me donner le code ? Pour plus de précision, monTabStruct est dans un sous formulaire, et j'aimerais le recuperer dans le formulaire englobant. Merci d'avance de votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Robert JAMINRetraité Inscription : juillet 2009 Messages : 1 223 ![]() |
Bonjour,
Il y a moyen de récupérer la valeur contenue dans un champ d'un formulaire ouvert, dans un champ d'un autre formulaire. Vous parler de variable ce qui me perturbe un peu, car je ne comprend pas bien ce que vous chercher à faire.
__________________
Cordialement. RJ |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
Alors je vais développer un peu dans ce cas :
En faite j'ai un formulaire dans lequel je saisie des infos sur une Activite. J'enregistre ensuite ces infos dans une structure de données (appelée "activité"). Je mets ensuite l'instance de ma structure dans un tableau, tableau que j'ai declaré en Public dans mon formulaire. Et ce formulaire est comprit dans un autre formulaire, dans lequel je voudrais recuperer toutes les donnees des activités que j'ai entré dans le sous formulaire. C'estdonc pour cela que je voulais savoir comment faire pour acceder a une variable Public a partir d'un autre formulaire. |
|
|
00
|
|
|
#4 | ||||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 466 ![]() |
Tu peux essayer Forms("NomTonForm").NomTaVariable ça devrait marcher.
Sinon Code :
Si tu veux faire cela de manière plus sécuritaire tu pourrais déclarer une propriété Get sur ton formulaire qui te permettrai de rendre mettre ta variable en mode 'Lecture-Seule'. Ainsi tout le monde peut la lire mais seul ton formulaire peut la modifier. Code :
Enfin une alternative à ta structure est une table temporaire mais c'est une variable globale déguisée :-). Le seul intéret de la table c'est sa persistance. Elle reste disponible même si ton formulaire est fermé. Attention : VBA n'est pas un VRAI langage objet comme Java ou VB.Net, c'est un langage procédural avec des objets atrophiés. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||||
|
|
10
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
Merci
Au sujet de ta 2èeme solution, si je mets un get dans mon formulaire, je suppose qu'il ne faudra pas que je declare mon tableau dans un module, puisque seul mon formulaire doit y avoir acces (en lecture du moins). Donc ou dois je declarer mon tableau si je fais cette solution ? |
|
|
00
|
|
|
#6 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 466 ![]() |
Si ton tableau "appartient" au formulaire il suffit que tu le déclares dans le module associé au formulaire. Celui qui s'ouvre quand tu veux ajouter un événement à un formulaire.
Tu mets ta déclaration sous Code :
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
Encore merci,
et j'ai une derniere question, comment je fais pour appeler la fonction Get dans mon formulaire dans lequel je vais me servir du tableau ? |
|
|
00
|
|
|
#8 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 466 ![]() |
les propriétés sont 'transparentes'
Tu as simplement a écrire Code :
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
|
|
#9 | ||||
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
Donc la propriété get que j'ai ecrit dans mon autre formulaire s'appelle actTab : (ma variable interne s'appelle actArray)
Code :
Code :
Y a t'il quelque chose que j'ai mal ecrit ? |
||||
|
|
00
|
|
|
#10 | ||||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 466 ![]() |
Je ne suis pas sur de qui est l'autre formulaire :-).
Soit F1 le formulaire qui contient ta variable. dans F1 Code :
Code :
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
En faite j'ai oublié de préciser que F1 est en faitre un sous-formulaire inclus dans F2, est-ce que ca change quelque chose dans le code ?
Parce que avec ce code j'obtiens l'erreur : "Microsoft Access can't find th form 'monSousForm' referred to in a macro expression or in Visual Basic code." |
|
|
00
|
|
|
#12 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 466 ![]() |
Oui mais je ne sais pas exactement quoi, essaye :
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#13 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 466 ![]() |
Pour info la collection Forms() contient la liste des formulaires actuellement ouverts. Un sous-formulaire étant inclus dans un autre il n'apparaît pas dans la collection Forms.
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : mai 2011 Messages : 47 ![]() |
Parfait ca marche,
En tout cas merci pour ton aide ca fait plaisir de pas etre seul dans le marasme du VBA |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com