Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DeleteControl et ses mystères...

2 réponses
Avatar
Jean-Pierre
Tout d'abord, et surtout, tous mes voeux de longue vie à ce forum et à
tous ses participants et animateurs !!!

Voilà mon problème (Access-2000) :
Je voudrais effacer les contrôles d'un formulaire ("Truc"), avant d'en
recréer d'autres ; j'utilise le code suivant (exécuté pour les essais
depuis le bouton d'un autre formulaire) :

Dim Ctrl As Control
DoCmd.OpenForm "frm_Truc", acDesign, , , , acHidden

For Each Ctrl In Forms!frm_Truc.Controls
DeleteControl "frm_Truc", Ctrl.Name
Next Ctrl

Ce que je comprends pas, c'est qu'il n'efface pas tous les contrôles en
une seule fois ! Il en laisse toujours quelques-uns, je relance le code,
il en efface d'autres... etc...
J'y perds le peu de V.B.A. qui me reste.

Merci à vous,
Jean-Pierre

2 réponses

Avatar
Thierry (ze Titi)
Bonjour Jean-Pierre et bonne année à toi !

Jean-Pierre a présenté l'énoncé suivant :
Tout d'abord, et surtout, tous mes voeux de longue vie à ce forum et à tous
ses participants et animateurs !!!

Voilà mon problème (Access-2000) :
Je voudrais effacer les contrôles d'un formulaire ("Truc"), avant d'en
recréer d'autres ; j'utilise le code suivant (exécuté pour les essais depuis
le bouton d'un autre formulaire) :

Dim Ctrl As Control
DoCmd.OpenForm "frm_Truc", acDesign, , , , acHidden

For Each Ctrl In Forms!frm_Truc.Controls
DeleteControl "frm_Truc", Ctrl.Name
Next Ctrl

Ce que je comprends pas, c'est qu'il n'efface pas tous les contrôles en une
seule fois ! Il en laisse toujours quelques-uns, je relance le code, il en
efface d'autres... etc...


Les contrôles restants, sont-ils toujours les mêmes ou bien est-ce
aléatoire ? S'ils sont toujours les mêmes, quels sont-ils ?

--
Cordialement,
Thierry

tout pour Access :
http://www.mpfa.info

Avatar
Jean-Pierre
Bonjour Jean-Pierre et bonne année à toi !

Jean-Pierre a présenté l'énoncé suivant :
Tout d'abord, et surtout, tous mes voeux de longue vie à ce forum et à
tous ses participants et animateurs !!!

Voilà mon problème (Access-2000) :
Je voudrais effacer les contrôles d'un formulaire ("Truc"), avant d'en
recréer d'autres ; j'utilise le code suivant (exécuté pour les essais
depuis le bouton d'un autre formulaire) :

Dim Ctrl As Control
DoCmd.OpenForm "frm_Truc", acDesign, , , , acHidden

For Each Ctrl In Forms!frm_Truc.Controls
DeleteControl "frm_Truc", Ctrl.Name
Next Ctrl

Ce que je comprends pas, c'est qu'il n'efface pas tous les contrôles
en une seule fois ! Il en laisse toujours quelques-uns, je relance le
code, il en efface d'autres... etc...


Les contrôles restants, sont-ils toujours les mêmes ou bien est-ce
aléatoire ? S'ils sont toujours les mêmes, quels sont-ils ?

Merci à toi Thierry pour ton intérêt.


L'effacement ne semble pas aléatoire : dans une ligne de contrôles, sont
effacés en premier ceux de rang impair (le premier, le troisième...),
puis toujours les contrôles de rang impair de ce qui reste... et ainsi
de suite...???!!!

Cordialement,
Jean-Pierre