Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2011, 22h49   #1
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Par défaut Charger ruban perso après formulaire login

Bonjour,

Je viens de passer à Access 2007, et je m'arrache déjà les cheveux avec le ruban personnalisé.

Sous Access 2003, j'avais un formulaire de login/MDP ( merci la FAQ ). Cette étape passée, l'utilisateur avait accès à une barre d'outils avec laquelle il ouvrait les différents formulaire, états, ...


J'aimerais reprendre ce principe avec Access 2007, avec le ruban cette fois.


Au démarrage de la DB, dans les options, je masque le ruban :
Code :
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Ce qu'Access fait très bien.

Ensuite, je lance mon formulaire de login.
Si le login est bon, l'utilisateur devrait voir le ruban personnalisé que j'ai créé avec l'outil d'arkham46 :

Code :
1
2
3
4
    DoCmd.Close acForm, "F_Connexion"
 
    'ChargerRuban
    Call LoadRibbon
La fonction "LoadRibbon" est un copier-coller de ceci...

Aucun formulaire n'est à présent ouvert ( normal, l'utilisateur vient de se logger ).
L'utilisateur devrait voir mon ruban personnalisé.

Et c'est là que ça coince : aucun ruban n'est affiché... et aucune erreur ne m'est signalée !

D'où questions :
1) Ce que je souhaite faire est-il encore possible sous la version 2007 ?
2) Si tel est le cas, où est mon erreur ? Et comment faire pour arriver à mes fins ?

J'ai lu le tuto "Création de rubans personnalisés sous Microsoft Access 2007"... mais rien qui ne puisse a priori m'aider.

Merci de votre aide.
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 12h47   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Il est nécessaire de charger le ruban à l'ouverture de la base.
Cela peut être fait avec la macro Autoexec.

On peut charger un ou plusieurs rubans.
Celui qui s'affiche pour l'application, est celui qui aura été sélectionné dans les options d'Access, catégorie d'options «Base de données active», rubrique «Options de la barre d'outils et du ruban».
Le changement de ruban ne prend effet qu'après fermeture et réouverture de la base.
On ne peut pas changer le ruban de l'application, autrement que par les options d'Access, et redémarrage de la base.

Tu peux aussi laisser Access charger ton ou tes rubans, en les mettant dans une table nommée USysRibbons.
Dans ce cas, plus de besoin de les charger avec LoadCustomUI.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/05/2011, 18h21   #3
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Merci de ta réponse, qui commence à m'éclairer...

Question cependant : est-il possible qu'Access affiche ( puisque chargé au démarrage ) automatiquement un ruban aprèsmon formulaire de login et sans qu'aucun élément ( formulaire, état, ... ) ne soit ouvert ?
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 20h59   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Oui.
Le ruban défini dans les options d'Access devient le ruban de l'application.
Il faut juste que tu le charges au démarrage.
Avec la macro autoexec, ou en laissant Access le récupérer dans la table USysRibbons.

A la fermeture de ton formulaire, tu affiches de nouveau le ruban
Code :
DoCmd.ShowToolbar "Ribbon", acToolbarYes
Il y a aussi plus simple, et sans code.
Tu mets deux rubans dans la table USysRibbons :
- le ruban de ton appli
- un ruban vide
Code xml :
1
2
3
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true" />
</customUI>
Tu définis le ruban vide comme étant le ruban de ton formulaire de login.
Lorsque le formulaire de login s'ouvre, son ruban (vide) s'affiche à la place de celui de l'application.
Lorsqu'il se ferme, le ruban de l'application reprend sa place.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/06/2011, 19h35   #5
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 726
Points : 8 726
Salut,

en complément de LedZeppII.

J'ai une apply qui tourne avec pilotage par Ruban, en fonction de l'utilisateur connecté j'affiche ou non des fonctionnalités.

1-Soit tu gère la visibilité des contrôles au chargement.
2-Tu créer un onglet par autoristaions et tu gère la visibilité de l'onglet.

Après connexion tu rafraichit le ruban et tes conditions de visibilités afficheront ou non ce que tu veux.

Morgan
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 21h55   #6
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
J'ai donc fait ceci :
- une table nommée USysRibbons.
- insertion du code de mon ruban dans la table.

Pas besoin, donc, d'avoir un "loadribbon" au démarrage...

Et cela semble fonctionner.

Je suppose donc que tout est correct.

Ceci étant, vu que la table devient masquée, peut-on mettre à jour le code du ruban avec une requête de mise à jour ?
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 22h20   #7
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 726
Points : 8 726
Salut,

Plus simple utilise le compléments d'Arkham, très conviviable et fonctionne à merveille.

http://access.developpez.com/outils/...assistantruban


@+
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 17h02   #8
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Citation:
Envoyé par Dolphy35 Voir le message
Salut,

Plus simple utilise le compléments d'Arkham, très conviviable et fonctionne à merveille.

http://access.developpez.com/outils/...assistantruban


@+
C'est ce que j'ai fait tant qu'à présent.
Ma question était simplement pour voir ce qui est le mieux à faire... un fichier xml à charger ( facile à mettre à jour mais "visible" ) ou le code xml dans la table...
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 18h46   #9
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,
Citation:
Envoyé par DamKre Voir le message
... peut-on mettre à jour le code du ruban avec une requête de mise à jour ?
Oui, on peut.

Tu peux utiliser une requête (c'est ce que je fais pour copier/coller)
Code :
SELECT USysRibbons.* FROM USysRibbons;
ou un formulaire dont la source serait l'instruction SQL ci-dessus.
Pour créer la requête, on ne passe pas l'assistant "Afficher table" pour ajouter la table.
On passe directement en mode d'affichage SQL.
Ensuite on peut basculer vers le mode affichage création.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 19h46   #10
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 726
Points : 8 726
Salut,
Citation:
Envoyé par DamKre Voir le message
C'est ce que j'ai fait tant qu'à présent.
Ma question était simplement pour voir ce qui est le mieux à faire... un fichier xml à charger ( facile à mettre à jour mais "visible" ) ou le code xml dans la table...
Sorry, pas compris le sens. Perso je préfère une table, plus on limite les fichiers lors de déploiement mieux c'est pour la maintenance.

Sinon suit les indications de LedZeppII

@+
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 20h33   #11
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
OK.
Une fois encore, merci de tes lumières !

Je garde pour mon appli du moment la version fichier externe ( vu qu'elle est en tests ). Dès qu'elle est définitive, je passe à la version table.

Par contre, je n'arrive pas à empêcher l'accès au menu Office ( le gros bouton en haut à gauche ) sur mon ruban...
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 21h14   #12
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 726
Points : 8 726
Re,

Je ne connais pas la manip pour enlever le bouton Office. Dans l'outil D'Arkham il y a une fonction pour enlever tous les menus mais rien pour le bouton options Access.

@+
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 22h31   #13
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
On ne peut pas enlever le bouton.

La seule option reste de masquer les éléments du bouton Office.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/06/2011, 21h18   #14
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Citation:
Envoyé par LedZeppII Voir le message
On ne peut pas enlever le bouton.

La seule option reste de masquer les éléments du bouton Office.

A+
C'est un peu ce que je craignais.
Comment faire alors pour empêcher d'accéder aux options d'Access ?
__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 22h13   #15
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Tu insères une section <commands> ... </commands>
entre
Code xml :
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
et

Exemple :
Code xml :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <!-- Desactivation commandes -->
    <commands>
        <command idMso="ApplicationOptionsDialog" enabled="false" />
    </commands>
 
    <ribbon>
        <!-- MENU OFFICE -->
        <officeMenu>
            <!-- Masque des éléments du bouton Office -->
            <control idMso="ConvertDatabaseFormat" visible="false" />
            <control idMso="FilePrintMenu" visible="false" />
            <control idMso="FileManageMenu" visible="false" />
            <control idMso="FileSendAsAttachment" visible="false" />
            <control idMso="MenuPublish" visible="false" />
            <control idMso="FileServerMenu" visible="false" />
            <!-- Ajoute des éléments au bouton Office -->
            <button idMso="FileCompactAndRepairDatabase" insertBeforeMso="FileCloseDatabase" />
            <toggleButton idMso="WindowMoreWindowsDialog" />
        </officeMenu>
 
        <!-- ONGLETS -->
        <tabs>
            <!-- Masque l'onglet Outils de base de données -->
            <tab idMso="TabDatabaseTools" visible="false" />
        </tabs>
    </ribbon>
</customUI>

Les éléments <command /> acceptent les attributs suivant :
idMso (obligatoire)
enabled ("true" ou "false")

Les fonctions de rappel possibles sont :
getEnabled
onAction


Prototypes des fonctions de rappel :
Code :
1
2
3
4
5
6
7
8
' getEnabled :
Sub GetEnabled(control As IRibbonControl, ByRef enabled)
 
' onAction (contrôle type button)
Sub OnAction(control As IRibbonControl, byRef CancelDefault)
 
' onAction (contrôle type toggleButton)
Sub GetEnabled(control As IRibbonControl, ByRef enabled)
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/06/2011, 20h20   #16
Membre habitué
 
Avatar de DamKre
 
Homme
Enseignant
Inscription : janvier 2007
Messages : 516
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2007
Messages : 516
Points : 117
Points : 117
Super, merci !

__________________
DamKre
Un responsable informatique finit toujours par être considéré :
- soit inutile, puisque ça marche,
- soit incompétent, puisque ça ne marche pas.
(Sagesse populaire)
DamKre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h03.


 
 
 
 
Partenaires

Hébergement Web