FAQ access 2007
Sommaire
>
Programmation du ruban
A quoi correspond le paramètre control des fonctions du ruban ?
Comment ajouter un séparateur vertical entre deux boutons ?
Comment charger le ruban de manière persistante ?
Comment charger un ruban depuis un fichier XML ?
Comment charger un ruban personnalisé ?
Comment connaître la valeur d'une case à cocher ?
Comment créer un ruban personnalisé ?
Comment créer une zone de liste modifiable de type liste de valeurs ?
Comment créer une zone de liste modifiable dynamique ?
Comment exécuter l'action d'un bouton ?
Comment formater la saisie dans une zone de texte ?
Comment gérer la transparence des icônes personnalisées dans le ruban ?
Comment insérer une icône Access dans un bouton du ruban ?
Comment masquer les onglets Access dans un ruban personnalisé ?
Comment modifier la taille d'un contrôle ?
Comment obtenir le texte d'un bouton ?
Comment saisir des commentaires dans le code XML du ruban ?
Comment savoir si un bouton est enfoncé ou non ?
Comment spécifier le texte d'info-bulle d'un contrôle ?
Est-on obligé de spécifier le nombre de lignes et le nombre de colonnes d'un contrôle Gallery ?
Est t'il possible de décharger un ruban ?
Est t'il possible de définir la taille d'une case à cocher ?
Est t'il possible de définir un format dans le XML pour les zones de texte ?
Est t'il possible de masquer certains onglets Access ?
Est t'il possible de masquer un groupe de contrôle d'un onglet Access ?
Est t'il possible de modifier le libellé d'un bouton prédéfinis ?
Le code XML du ruban est-il sensible à la casse ?
Pourquoi l'évènement onAction d'une zone de texte ou d'une comboBox n'est pas exécuté ?
Pourquoi la méthode LoadCustomUi échoue ?
Pourquoi le rafraichissement de mon ruban bogue lors de l'évènement Sur Activation d'un formulaire ?
Pourquoi mon ruban ne s'affiche pas ?
Quelles sont les procédures de rappels disponibles ?
Quels sont les idMso possibles pour les boutons prédéfinis ?
A quoi correspond le paramètre control des fonctions du ruban ?
Comment ajouter un séparateur vertical entre deux boutons ?
Comment charger le ruban de manière persistante ?
Comment charger un ruban depuis un fichier XML ?
Comment charger un ruban personnalisé ?
Comment connaître la valeur d'une case à cocher ?
Comment créer un ruban personnalisé ?
Comment créer une zone de liste modifiable de type liste de valeurs ?
Comment créer une zone de liste modifiable dynamique ?
Comment exécuter l'action d'un bouton ?
Comment formater la saisie dans une zone de texte ?
Comment gérer la transparence des icônes personnalisées dans le ruban ?
Comment insérer une icône Access dans un bouton du ruban ?
Comment masquer les onglets Access dans un ruban personnalisé ?
Comment modifier la taille d'un contrôle ?
Comment obtenir le texte d'un bouton ?
Comment saisir des commentaires dans le code XML du ruban ?
Comment savoir si un bouton est enfoncé ou non ?
Comment spécifier le texte d'info-bulle d'un contrôle ?
Est-on obligé de spécifier le nombre de lignes et le nombre de colonnes d'un contrôle Gallery ?
Est t'il possible de décharger un ruban ?
Est t'il possible de définir la taille d'une case à cocher ?
Est t'il possible de définir un format dans le XML pour les zones de texte ?
Est t'il possible de masquer certains onglets Access ?
Est t'il possible de masquer un groupe de contrôle d'un onglet Access ?
Est t'il possible de modifier le libellé d'un bouton prédéfinis ?
Le code XML du ruban est-il sensible à la casse ?
Pourquoi l'évènement onAction d'une zone de texte ou d'une comboBox n'est pas exécuté ?
Pourquoi la méthode LoadCustomUi échoue ?
Pourquoi le rafraichissement de mon ruban bogue lors de l'évènement Sur Activation d'un formulaire ?
Pourquoi mon ruban ne s'affiche pas ?
Quelles sont les procédures de rappels disponibles ?
Quels sont les idMso possibles pour les boutons prédéfinis ?
| |||
auteur : Christophe Warin | |||
Exemple :
Il s'agit du contrôle ayant lancé le déclenchement de la procédure. Il permet d'écrire des fonctions génériques utilisables par plusieurs contrôles.
Dans l'exemple ci-dessous, les deux contrôles référencent la même procédure événementielle : cmbNumLieu_change
La distinction des contrôles se fait au niveau du code VBA de la procédure en question :
| |||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Quelles sont les procédures de rappels disponibles ? |
| ||
auteur : Christophe Warin | ||
Pour ajouter un séparateur vertical, il faut ajouter le contrôle separator au groupe.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
Ce n'est pas possible. A chaque fois que l'utilisateur quitte l'application,
les rubans sont déchargés. Le seul moyen est de les charger à l'ouverture de l'application à
l'aide d'une macro AutoExec dont l'action ExécuterCode fera appel à une fonction VBA utilisant Application.LoadCustomUI.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment charger un ruban depuis un fichier XML ? |
| ||
auteur : Christophe Warin | ||
Vous pouvez stocker les propriétés de votre ruban dans un fichier XML externe à
l'application. Pour charger le ruban, il est possible de lire le fichier avec les objets TextStream de la référence Microsoft Scripting Runtime.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
La méthode Application.LoadCustomUI permet de charger un ruban à partir de son code XML. La syntaxe est la suivante :
Les deux paramètres sont des chaines de caractères. Nomduruban identifie de manière unique le
ruban dans l'application et permet l'association de celui-ci avec un formulaire ou un état (via la propriété ID du ruban personnalisé).
CodeXML quant à lui correspond au code définissant les diverses propriétés du ruban.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment charger un ruban depuis un fichier XML ? |
| ||
auteur : Christophe Warin | ||
L'événement onAction d'une case à cocher propose dans son deuxième paramètre la valeur de celle-ci.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Pourquoi l'évènement onAction d'une zone de texte ou d'une comboBox n'est pas exécuté ? |
| ||
auteur : Christophe Warin | ||
La création d'un ruban personnalisé se fait via des balises XML définissant
la composition des différents onglets. Pour comprendre son fonctionnement, vous pouvez lire le tutoriel : Création d'un ruban personnalisé sous Access.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment charger un ruban depuis un fichier XML ? lien : Comment charger un ruban personnalisé ? |
| ||
auteur : Christophe Warin | ||
Dans une telle liste modifiable,
les éléments sont inscrits dans le code XML du ruban via la balise Item.
La structure de base de la zone de liste est quant à elle définie dans un nœud <comboBox>.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment créer une zone de liste modifiable dynamique ? |
| ||
auteur : Christophe Warin | ||
Dans une telle zone de liste, les éléments sont créés dynamiquement en VBA. Deux fonctions VBA sont nécessaires :
La première retourne le nombre d'éléments à créer, la seconde leur label (texte).
Exemple :
Le code XML correspondant figure ci-dessous :
Comment ça marche ?
Dans un premier temps, Access exécute la procédure getItemCount et mémorise la variable count.
Dans un second temps, l'application boucle de 0 à count-1 et lance la procédure getItemLabel.
En retour, le ruban affiche une combobox de 4 éléments : 1,2,3,4.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment créer une zone de liste modifiable de type liste de valeurs ? |
| ||
auteur : Christophe Warin | ||
Pour exécuter l'action d'un bouton du ruban en VBA, vous pouvez utiliser la syntaxe suivante :
| ||
lien : Quels sont les idMso possibles pour les boutons prédéfinis ? |
| ||||
auteur : Christophe Warin | ||||
Il n'existe pas de méthode de formatage à proprement parlé. La seule solution est un formatage post-saisie.
Prenons l'exemple d'une mise en majuscules :
L'ensemble des procédures est placé dans un module nommé mduRibbon.
Les fonctions de CallBack sont codées dans des procédures (Sub) :
Au niveau du XML, cela donne :
| ||||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Est t'il possible de définir un format dans le XML pour les zones de texte ? |
| ||
auteur : Christophe Warin | ||
Les images des boutons du ruban sont des structures IPictureDisp.
La méthode LoadPicture de VBA ne permet pas de gérer une couleur de transparence. Le plus simple est d'utiliser le contrôle ActiveX Microsoft ImageList dans un formulaire.
Déposez-y les images dont vous avez besoin et appellez les via les fonctions de CallBack du ruban.
Dans les propriétés de l'ImageList, définissez la couleur (MaskColor) d'arrière plan de l'image qui deviendra transparente.
Voici un exemple de fonction Callback permettant de remplir un contrôle Gallery.
oClient.Image retourne la clé (Key) de l'image à utiliser dans la zone de liste.
Vous pouvez aussi utiliser la position ordinale de l'élément. Dans ce cas, n'oubliez pas que la collection ListImages commence à 1.
| ||
lien : Programmation du ruban sous Access 2007 |
| ||
auteur : Christophe Warin | ||
Pour ajouter une image fournie par Access à votre bouton personnalisé,
il faut utiliser son attribut imageMso. En fixant sa valeur à l'idMso du bouton à reproduire, Access incorporera l'image automatiquement.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Quels sont les idMso possibles pour les boutons prédéfinis ? |
| ||
auteur : Christophe Warin | ||
Pour afficher seulement vos propres onglets et donc masquer les onglets
Créer, Données externes, etc., il faut fixer l'attribut startFromScratch de la balise ribbon à True.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
La taille d'un contrôle est définie par son attribut size dont les valeurs possibles sont large et normal.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Est t'il possible de définir la taille d'une case à cocher ? |
| ||
auteur : Christophe Warin | ||
La collection CommandBars de l'objet Application offre une méthode permettant d'obtenir le texte d'un bouton en spécifiant son identifiant.
Exemple :
| ||
lien : Programmation du ruban sous Access 2007 |
| ||
auteur : Christophe Warin | ||
Dans le langage XML, les commentaires sont placés entre <!-- et -->.
Exemple :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
Pour cela, utilisez la méthode CommandBars.GetPressedMso en spécifiant l'identifiant du bouton en paramètre.
Exemple :
| ||
lien : Programmation du ruban sous Access 2007 |
| ||
auteur : Christophe Warin | ||
Il s'agit de l'attribut screentip du contrôle.
Exemple :
Ici, une bulle contenant le texte "Lancer la recherche" est affichée lors du survol du contrôle par la souris.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
Non. Si vous construisez votre contrôle dynamiquement (getItemCount,getItemLabel, etc.) vous pouvez spécifier une seule de ces deux informations suivant
l'aspect que vous voulez donner à votre Gallery. Par exemple, si vous voulez que tout tienne sur deux colonnes quelque soit le nombre de lignes :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
Non. Lorsque vous chargez un ruban, c'est pour la durée de la session de
l'application. Cela pose évidemment problème lors du développement du ruban, puisqu'à chaque test,
vous devez fermer puis ré-ouvrir l'application pour constater les effets des modifications apportées.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
Non. Pire encore, si vous utilisez l'attribut size avec une checkbox, tout votre ruban sera invalidé.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment modifier la taille d'un contrôle ? |
| ||
auteur : Christophe Warin | ||
Le format des zones de texte n'est pas prévu dans le schéma XML du ruban. Toutefois, chaque contrôle propose un attribut tag vous permettant d'y stocker n'importe quelle
information non prévue à l'origine (comme c'est le cas avec les contrôles VBA). Alors pourquoi ne pas y stocker le format de la zone de texte.
En reprenant le principe de la Q/R comment formater, on obtient :
XML :
getText :
Le format à saisir dans la propriété Tag doit être un format compréhensible par la méthode VBA Format.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment formater la saisie dans une zone de texte ? |
| ||
auteur : Christophe Warin | ||
Oui. Pour cela, ajouter l'onglet concerné (identifié par son idMso) à
votre nœud <tabs> et fixez l'attribut visible de l'onglet à False.
Exemple pour masquer l'onglet Accueil d'un formulaire :
Les onglets disponibles sont :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Est t'il possible de masquer un groupe de contrôle d'un onglet Access ? |
| ||
auteur : Christophe Warin | ||
Oui. En fixant la propriété visible de la balise group à False. Un groupe
étant contenu dans un onglet, il faut spécifier
l'onglet concerné avant. N'oubliez pas : chaque élément est atteint avec son idMso . Exemple pour masquer le groupe Presse-Papier (GroupClipboard) de l'onglet Accueil (TabAccessEdit):
Voici la liste des différents groupes :
Onglet Impression :
Onglet Accueil :
Onglet Créer :
Onglet Données Externes :
Onglet Outils :
Onglet Contrôle de Source :
Onglet Compléments :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Est t'il possible de masquer certains onglets Access ? |
| ||
auteur : Christophe Warin | ||
Oui. La propriété label est disponible pour tous les boutons (prédéfinis ou personnalisés).
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Quels sont les idMso possibles pour les boutons prédéfinis ? |
| ||
auteur : Christophe Warin | ||
Oui, et c'est souvent une importante source d'erreur. getText est différent de gettext.
Prenez garde à bien respecter la casse des attributs de votre fichier XML. Il suffit d'une seule erreur pour invalider complètement le ruban.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Comment saisir des commentaires dans le code XML du ruban ? |
| ||
auteur : Christophe Warin | ||
Tout simplement parce que cet événement n'est pas compatible avec les zones de liste (combobox).
Il faut utiliser l'évènement onChange qui se produit lorsque l'utilisateur valide sa saisie.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
Si la méthode LoadCustomUi échoue,
votre code XML n'est pas en cause. Il s'agit plutôt du nom que vous avez donné à votre ruban (premier paramètre) qui est déjà utilisé dans votre application.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Le code XML du ruban est-il sensible à la casse ? lien : Pourquoi mon ruban ne s'affiche pas ? lien : Pourquoi le rafraichissement de mon ruban bogue lors de l'évènement Sur Activation d'un formulaire ? |
| ||
auteur : Christophe Warin | ||
Si vous essayer de rafraichir un ruban sur l'événement Current de votre formulaire comme dans l'exemple qui suit, une erreur est levée.
Pourquoi ? Parce qu'à l'ouverture du formulaire, l'évènement
Current est appelé une première fois mais le ruban n'est pas encore chargé. D'où l'erreur. Solution : tester si le ruban est disponible.
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| ||
auteur : Christophe Warin | ||
S'il ne s'affiche pas lorsque vous ouvrez votre formulaire, deux hypothèses :
| ||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 lien : Pourquoi la méthode LoadCustomUi échoue ? lien : Comment charger un ruban personnalisé ? lien : Pourquoi le rafraichissement de mon ruban bogue lors de l'évènement Sur Activation d'un formulaire ? |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
auteur : Christophe Warin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voici la liste des fonctions CallBack des différents contrôles :
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
auteur : Christophe Warin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Voici la liste de la plupart des idMso utilisables pour créer des boutons prédéfinis.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lien : Tutoriel : Programmez et personnalisez le ruban de vos applications Access 2007 |