J'ai une étrange différence de comportement d'un module sous Access 2010, selon la façon de le démarrer l'application : avec ou sans Shift.
Dans mon application, il y a au démarrage un test sur l'existence d'un objet CommandBar. Si l'objet n'existe pas, il est créé. Ensuite, une procédure applique des conditions à cette barre de menus.
- Si j'ouvre la base en maintenant Shift enfoncé et que ensuite je lance à la main le formulaire de démarrage déclaré dans la propriété StartUpForm de la base, tout fonctionne comme prévu. Ensuite, la barre étant créée, je peux lancer sans faire Shift, ça fonctionne parfaitement.
- Si j'ouvre la base sans maintenir Shift enfoncé, alors tout se passe comme si la barre était effectivement créée et les conditionnelles sont appliquées sur cette même barre : elle existe donc bel et bien à ce moment du code.
Pour savoir cela, j'ai mis des MsgBox de pistage puisqu'on ne peut pas débugger.
Mais voila, après la sortie du formulaire de démarrage, quand les menus s'arrangent tout seuls (?), Access me retourne un message m'indiquant que cette barre de menus n'existe pas. Et si je ré-ouvre ensuite la base en faisant Shift, la barre de commande est effectivement absente.
Je suis perdu et je poste ici sans illusion tellement c'est tordu !![]()
Disons que, des fois, poser le problème aide à le résoudre.
Partager