OVH Cloud OVH Cloud

Les valeurs d'une collection changent ?!

1 réponse
Avatar
mael
Bonjour,

Je dois utiliser des valeurs (string) entre plusieurs formulaires.
Je me suis dit qu'une collection pouvait remplir ce rôle.

J'ai donc une fonction qui prend des valeurs sur un formulaire :

*****************
Public Function CreerCollection()

'création de la collection pour mémoriser les infos
Set CollInfosOrg = New Collection

'puis on mémorise les infos
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!adressepubli
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!CP
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!ville
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!courriel
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!commentaire

Debug.Print "collection créée"
Dim i As Variant

'pour vérifier
For Each i In CollInfosOrg
Debug.Print i
Next i

End Function
*****************

J'appelle cette fonction à partir d'un bouton (quand on veut modifier
les infos)

Or, quand je fais une vérif entre une ancienne valeur (dans ma
collection) et ma valeur modifiée sur le formulaire, ces 2 valeurs sont les
mêmes !!

Donc, si j'ai bien compris, les valeurs stockées dans un tableau ne
bougent pas mais une collection ira toujours rechercher les infos à la
source, une sorte de raccourci, quoi.

Quelqu'un peut-il me confirmer tout ça ? Merci d'avance.

1 réponse

Avatar
Raymond
Bonsoir.

j'ai repris mes bouquins pour voir ce qui se passe dans les collections.
j'ai retenu une seule phrase dans le chapitre.
"lorsque vous ajoutez un objet à une collection, vous créez un nouveau
pointeur vers cet objet."
Je crois que tu as l'explication, tu ne crées pas une donnée mais un
pointeur vers une donnée, d'où la même valeur.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"mael" a écrit dans le
message de news:bme5f9$jc5$

Bonjour,

Je dois utiliser des valeurs (string) entre plusieurs formulaires.
Je me suis dit qu'une collection pouvait remplir ce rôle.

J'ai donc une fonction qui prend des valeurs sur un formulaire :

*****************
Public Function CreerCollection()

'création de la collection pour mémoriser les infos
Set CollInfosOrg = New Collection

'puis on mémorise les infos
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!adressepubli
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!CP
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!ville
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!courriel
CollInfosOrg.Add [Forms]![Liste-ComitePilotage]!commentaire

Debug.Print "collection créée"
Dim i As Variant

'pour vérifier
For Each i In CollInfosOrg
Debug.Print i
Next i

End Function
*****************

J'appelle cette fonction à partir d'un bouton (quand on veut modifier
les infos)

Or, quand je fais une vérif entre une ancienne valeur (dans ma
collection) et ma valeur modifiée sur le formulaire, ces 2 valeurs sont
les

mêmes !!

Donc, si j'ai bien compris, les valeurs stockées dans un tableau ne
bougent pas mais une collection ira toujours rechercher les infos à la
source, une sorte de raccourci, quoi.

Quelqu'un peut-il me confirmer tout ça ? Merci d'avance.