OVH Cloud OVH Cloud

Macro

21 réponses
Avatar
Laurence Maitre
Bonjour,

J'aimerais creer une macro sur un bouton de commande de ma page d'acueil
afin qu'il ouvre sur un clic l'objet requêtes du menu general d'access pour
afficher toutes les requetes.
comment faire?
merci
laurence

10 réponses

1 2 3
Avatar
hm15
Bonjour Laurence et Raymond,

pour répondre au souci de simplification de Laurence, je me demande si une
liste déroulante dans laquelle toutes les requêtes seraient affichées ne
conviendrait pas, plutôt que d'afficher la fenêtre Base de données.

Si le principe de la liste convient, voici une méthode (simple) parmi
d'autres (moins simples ;-) :
- tu crées une zone de liste modifiable indépendante (sans les assistants),
que tu nommes par exemple "Liste_Requetes"
- dans la propriété "Origine source" de la liste, garde "Table/Requête"
- dans la propriété "Contenu", copie/colle ce qui suit (sur une seule ligne)
:
SELECT MsysObjects.Name AS ObjectName FROM MsysObjects WHERE
(((Left$([Name],1))<>"~") AND ((Left$([Name],4))<>"Msys") AND
((MsysObjects.Type)=5) AND ((MsysObjects.Flags)=0)) ORDER BY
MsysObjects.Name;
- dans la propriété "Sur clic" de la liste, dans le générateur de code, tu
tapes (entre Private Sub et End Sub) :
Private Sub Liste_Requetes_Click()
DoCmd.OpenQuery Liste_Requetes
End Sub

J'ai repris le "Select" d'un message de Pierre (3Stone), qui a émis une
réserve sur la manipulation des tables système, réserve je crois, liée au
fait que les numéros d'objets pourraient changer d'une version Access à une
autre.

Mais Raymond est quand même un cachotier. Sur son site, on trouve...
http://access.seneque.free.fr/liste_des_objets.htm

Cordialement,

Annette
---------------------------------------------------------------------------
www.horizon-micro.com


"Laurence Maitre" a écrit dans le message
de news: c0e1ns$rde$
Tout simplement parce que la personne qui se servira de cette base ne
connait rien d'access et que je voudrais lui faciliter la tâche au
maximum.

Merci beaucoup
Laurence
"Raymond [mvp]" a écrit dans le message de
news:
pour faire afficher la fenêtre base de données c'est F11.
donc dans le code tu fais : SendKeys "{F11}" et tu places cette
fonction


dans le code vba qui demande l'ouverture de la fenêtre.
si tu disais pourquoi tu veux afficher la fenêtre base de données , la
liste

des requêtes ....... on te serait d'un plus grand secours.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum

[...]




Avatar
Raymond [mvp]
Bonjour Annette.

Bien sûr que j'ai cette fonction. mais tu oublies le post précédent que j'ai
eu du mal à avoir:
Tout simplement parce que la personne qui se servira de cette base ne
connait rien d'access et que je voudrais lui faciliter la tâche au maximum.


si on affiche une liste de requêtes , c'est pour les exécuter ? et dans ce
cas sans contrôle préalable car il peut y avoir 200 requêtes dans la base.
avec un opérateur n'y connaissant rien, lui mettre 200 requêtes dont
peut-être 30 de suppression, je me refuse de conseiller cette voie. tu as
compris Annette ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"hm15" a écrit dans le message de
news:%23rdd%
Bonjour Laurence et Raymond,

pour répondre au souci de simplification de Laurence, je me demande si une
liste déroulante dans laquelle toutes les requêtes seraient affichées ne
conviendrait pas, plutôt que d'afficher la fenêtre Base de données.

Si le principe de la liste convient, voici une méthode (simple) parmi
d'autres (moins simples ;-) :
- tu crées une zone de liste modifiable indépendante (sans les
assistants),

que tu nommes par exemple "Liste_Requetes"
- dans la propriété "Origine source" de la liste, garde "Table/Requête"
- dans la propriété "Contenu", copie/colle ce qui suit (sur une seule
ligne)

:
SELECT MsysObjects.Name AS ObjectName FROM MsysObjects WHERE
(((Left$([Name],1))<>"~") AND ((Left$([Name],4))<>"Msys") AND
((MsysObjects.Type)=5) AND ((MsysObjects.Flags)=0)) ORDER BY
MsysObjects.Name;
- dans la propriété "Sur clic" de la liste, dans le générateur de code, tu
tapes (entre Private Sub et End Sub) :
Private Sub Liste_Requetes_Click()
DoCmd.OpenQuery Liste_Requetes
End Sub

J'ai repris le "Select" d'un message de Pierre (3Stone), qui a émis une
réserve sur la manipulation des tables système, réserve je crois, liée au
fait que les numéros d'objets pourraient changer d'une version Access à
une

autre.

Mais Raymond est quand même un cachotier. Sur son site, on trouve...
http://access.seneque.free.fr/liste_des_objets.htm

Cordialement,

Annette


Avatar
3stone
Bonjour,

"hm15"
SELECT MsysObjects.Name AS ObjectName FROM MsysObjects WHERE
(((Left$([Name],1))<>"~") AND ((Left$([Name],4))<>"Msys") AND
((MsysObjects.Type)=5) AND ((MsysObjects.Flags)=0)) ORDER BY
MsysObjects.Name;
[...]

J'ai repris le "Select" d'un message de Pierre (3Stone), qui a émis une
réserve sur la manipulation des tables système, réserve je crois, liée au
fait que les numéros d'objets pourraient changer d'une version Access à une
autre.



On peut également limiter à certaines requêtes que l'on "autorise" à l'utilisateur
en les nommant de façon spéciale, en ajoutant le préfixe "User" par exemple.

UserListeDesClients...

Le select peut alors ressembler à :

SELECT DISTINCT MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Name) Like "User*") AND ((MSysObjects.Type)=5));


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Raymond [mvp]
Tiens le revoilou !

Comment va la santé ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"3stone" a écrit dans le message de
news:
Bonjour,


Avatar
3stone
"Raymond [mvp]"
Tiens le revoilou !

Comment va la santé ?


Le chirurgien est content de lui...
j'attends encore un peu avant de lui donner raison ;-)


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Raymond [mvp]
Prend ton temps, on essaie de pallier au manque d'effectif. Même Pierre
lache un peu sans parler de Jessy.
bon rétablissement et pas de bière.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"3stone" a écrit dans le message de
news:
"Raymond [mvp]"
Tiens le revoilou !

Comment va la santé ?


Le chirurgien est content de lui...
j'attends encore un peu avant de lui donner raison ;-)



Avatar
hm15
Coucou Raymond,

voilà la mauvaise foi masculine dans toute sa splendeur :

si on affiche une liste de requêtes , c'est pour les exécuter ? et dans ce
cas sans contrôle préalable car il peut y avoir 200 requêtes dans la base.
avec un opérateur n'y connaissant rien, lui mettre 200 requêtes dont
peut-être 30 de suppression, je me refuse de conseiller cette voie.


Mais, un peu plus haut :

donc dans le code tu fais : SendKeys "{F11}"
et tu places cette fonction
dans le code vba qui demande l'ouverture de la fenêtre.


Personnellement, je préfère "ma" liste déroulante (même si je n'en ai jamais
mis de telles dans mes bases ;-))
De plus, pour justifier ma position, on peut masquer les requêtes sensibles.
Il me semble que <F11> est au moins aussi dangereux (et puis, comment fait
l'utilisateur débutant pour revenir à son menu ??).

Bises quand même,

Annette
---------------------------------------------------------------------------
www.horizon-micro.com

[...]

Avatar
Raymond [mvp]
Bonsoir Annette.

voilà la mauvaise foi masculine dans toute sa splendeur :


qu'est-ce qu'ils t'ont fait ? tu es bien contente qu'ils soient là ! et dire
qu'elles sont de plus en plus nombreuses dans ce groupe !

c'est tout le problème d'une conversation qui débute sur une question
anodine qui demande sa réponse et qui au fil des posts fait apparaître un
problème bien plus grave que la question d'origine et qui remet en cause une
partie des solutions. si je n'avais pas insisté pour connaître la finalité
de cette question, le 2e post suffisait à tous et le problème n'était pas
réglé. il ne l'est pas encore, d'ailleurs. toujours à cheval sur mes
principes, je ne laisse pas la fenêtre base de données et la liste des
requêtes, mêmes sélectionnées, à la portée d'un opérateur qui ne connaît
rien et peut-être curieux d'en savoir plus par lui-même.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"hm15" a écrit dans le message de
news:
Coucou Raymond,

voilà la mauvaise foi masculine dans toute sa splendeur :

si on affiche une liste de requêtes , c'est pour les exécuter ? et dans
ce


cas sans contrôle préalable car il peut y avoir 200 requêtes dans la
base.


avec un opérateur n'y connaissant rien, lui mettre 200 requêtes dont
peut-être 30 de suppression, je me refuse de conseiller cette voie.


Mais, un peu plus haut :

donc dans le code tu fais : SendKeys "{F11}"
et tu places cette fonction
dans le code vba qui demande l'ouverture de la fenêtre.


Personnellement, je préfère "ma" liste déroulante (même si je n'en ai
jamais

mis de telles dans mes bases ;-))
De plus, pour justifier ma position, on peut masquer les requêtes
sensibles.

Il me semble que <F11> est au moins aussi dangereux (et puis, comment fait
l'utilisateur débutant pour revenir à son menu ??).

Bises quand même,

Annette
--------------------------------------------------------------------------
-

www.horizon-micro.com

[...]





Avatar
Laurence Maitre
RE-Bonjour à tous,

C'est moi Laurence Vous vous souvenez???
Je suis heureuse de voir que ma question sucite autant de discussion!!!
Merci à Anette de soutenir la gente féminine... et merci à ces messieurs
aussi.
Puis-je vous soumettre une petite idée (de femme bien evidement)!

seraitt-il possible d'avoir sur cette page d'accueil un bouton de commande
qui renverrait à une petite liste de requete bien precise. Ne peut on pas
dans l'objet "requetes" limiter l'acces a certaines requetes ou creer un
dossier qui les regroupes?

Merci

Laurence
"Raymond [mvp]" a écrit dans le message de
news:
Prend ton temps, on essaie de pallier au manque d'effectif. Même Pierre
lache un peu sans parler de Jessy.
bon rétablissement et pas de bière.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"3stone" a écrit dans le message de
news:
"Raymond [mvp]"
Tiens le revoilou !

Comment va la santé ?


Le chirurgien est content de lui...
j'attends encore un peu avant de lui donner raison ;-)







Avatar
Raymond [mvp]
Bonjour Laurence.

Tu vois qu'on s'occupe de vous, la gente féminine.

Comme l'a dit Annette, il est préférable de créer des requêtes nommées par
groupes d'utilisateurs (Gr1_Rq_......) et charger une liste déroulante. mais
je suis toujours farouchement attaché au fait de ne pas utiliser les tables
systeme pour un travail normal, surtout quand il existe des fonctions access
pour le faire.
ceci dit il va falloir aussi prévoir au moins deux listes car tu ne peux pas
afficher 50 requêtes dans une liste et laisser l'opérateur choisir. il faut
lui proposer un choix de fonctionnalités et en dernière liste une dizaine de
requêtes, tout ça pour le faciliter.
il existe aussi la vue arborescente (treeview) qui permet d'afficher des
informations et d'exécuter des actions.
il faut maintenant que tu choisisses la méthode qui te convient et on pourra
t'aider dans sa réalisation.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurence Maitre" a écrit dans le message
de news:c0hv3v$eit$
RE-Bonjour à tous,

C'est moi Laurence Vous vous souvenez???
Je suis heureuse de voir que ma question sucite autant de discussion!!!
Merci à Anette de soutenir la gente féminine... et merci à ces messieurs
aussi.
Puis-je vous soumettre une petite idée (de femme bien evidement)!

seraitt-il possible d'avoir sur cette page d'accueil un bouton de commande
qui renverrait à une petite liste de requete bien precise. Ne peut on pas
dans l'objet "requetes" limiter l'acces a certaines requetes ou creer un
dossier qui les regroupes?

Merci



1 2 3