IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

[VBA-A] Applications ouvertes


Sujet :

VBA Access

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut [VBA-A] Applications ouvertes
    Existe t'il un collection des applications en cours d'execution?
    Je m'explique j'utilise un programme vb qui ouvre une application access et qui s'y connecte avec différentes procédures(plusieurs fois) et qui la referme quand on quitte le programme pricipal...
    Cela marche trés bien seulement s'il n'y a pas d'autres application Access d'ouverte, parceque s'il y en a une mon programme essaye de lire l'application Access en cours avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetObject(, "Access.Application")
    et n'ouvre pas le bon projet...
    Je voudrai savoir s'il existe une collection contenant toutes les applications en cours pour pouvoir tester et me connecter à la bonne base...

    Si une telle collection n'existe pas comment la creer?

  2. #2
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par TiT0f
    Si une telle collection n'existe pas comment la creer?
    en lisant la
    http://vb.developpez.com/faq/?page=Systeme#listprocess

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    merci j'avai fait des recherches mais je n'avais rien trouvé, je vais essayer de comprendre cette FAQ

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sQuery = "select * from win32_process"
    Comment dois je modifier cette requette pour ne prendre que les applications access?

  5. #5
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    en plaçant dans ta boucle "For Each" une expression conditionnelle sur oproc.Name , par exemple ... (si tu as compris le code du lien que t'a donné Thierry).

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Oui j'ai bien compris son code...
    Finalement j'ai exécuté cette requete...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sQuery = "select * from win32_process Where Name = 'MSACCESS.EXE'"
    Il me reste un petit probleme quand j'ai trouvé le bon processus je ne sait pas comment attibuer à un objet de type access.application l'application correspondant au processus trouvé...

  7. #7
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Pour faire quoi ?
    Si c'est pour la fermer : vois le lien suivant le lien que t'as donné Thierry...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Citation Envoyé par jmfmarques
    Pour faire quoi ?
    Si c'est pour la fermer : vois le lien suivant le lien que t'as donné Thierry...
    Non justement ce n'est pas pour le fermer...
    Il faut que je detecte l'application pour pouvoir y tavailler dessus ouvrir de formulaire etc etc...
    Sinon j'aurai fait comme il est ecrit dans la FAQ...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Je me pose une autre question est il possible de faire passer un processus en tete de liste pour que mon getobject prenne le processus qui m'interesse...?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Je ne trouve pas d'aide ou je trouverai les outils et les propriétés que je pourai utiliser sur mes processus... personne ne sait ou je peu en trouver une?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    J'ai deux apllications Access d'ouvertent...
    je fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Set resultat = GetObject(, "Access.Application")
    Si je n'ai pas la bonne application dans resultat comment je fait pour attraper la suivante...?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Une derniere question est ce possible?

  13. #13
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Même si c'est pas la dernière...

    Pas nécessaire de demander l'autorisation.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Nan je me demandai si faire un getobject sur une application deja lancée en la selectionnant au milieu de plusieur application access qui tourne est ce possible?

    PS: je disait ca aussi parce que je poste pas mal de message a la suite j'ai concience que c'est un peu abuser mais je suis vraiment dans la panade...

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    AlianTech reviennnnnt!

  16. #16
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bon...

    Je n'ai jamais été parti mais ton problème ne m'inspire pas.

    Je m'explique:

    Depuis le début, je me demande pourquoi tu as plusieurs applications ouvertes en même temps.
    Pourquoi tu veux savoir s'il y en a d'autres.

    Si, en lançant Access à partir de VB, tu récupères le PID, tu pourras toujours te servir de ce PID pour te référer à la bonne application.

    Si tu ne veux pas lancer ton application si Access est ouvert, il te suffit de chercher MSACCESS.EXE dans les processus.

    Bref, je n'ai pas du tout envie de commencer une réponse sans avoir TOUTES les infos que tu possèdes (et pas, seulement, celles que tu veux bien distiller à petites doses). Pas envie de devoir attendre le 10e ou le 20e message pour comprendre où est le vrai besoin.

    Voilà.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Bon je vais essayer d'etre clair...
    Je developpe un outil sous ArcMap(logiciel SIG mais ca na pas d'importance dans mon projet) qui utilise des formulaires Access. Depuis ces formulaires (et don access) je pilote ArcMap en ajoutant des images...
    Tout au long de l'application je garde l'application Access ouverte invisble... (car si je la ferme mes images sont detruites dans ArcMap et cela me permet plus de rapiditée...)
    Donc tout ce passe bien mon getobject se reconnecte a la bonne application a chaque accès..

    Mais les futur utilisateurs de cet outil s'ils ont une autre application Access ouverte avant de lancer mon outil il va y avoir un probleme...
    A la premieere utilisation de l'outil il va me creer mon application access avec la bonne base de travail... mais s'il réutilise mon outil et quand a ce momment la je vais utiliser le GetObject qui va essayer d'ouvrir mon formulaire sur la premiere application Access ouverte ,cela va me generer une erreur et empecher l'utilisation de mon outil...

    J'aimerai savoir comment je pourai selectionner l'application qui m'interesse pour pouvoir ouvrir le formulaire... car mon getobject prend toujours la premiere ouverte... et si je specifie le chemin de ma base access en argument il me relance une application access...

    Voila j'espere que j'ai ete assez clair?

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    Citation Envoyé par AlainTech
    Si, en lançant Access à partir de VB, tu récupères le PID, tu pourras toujours te servir de ce PID pour te référer à la bonne application.
    Comment ca marche pour mettre dans un objet un objet "access.application" une application access a partir de son PID?

    Citation Envoyé par AlainTech
    Si tu ne veux pas lancer ton application si Access est ouvert, il te suffit de chercher MSACCESS.EXE dans les processus.
    Ca j'y arrive mais quand j'ai le processus comment lui dire que mon "access.application".... correspond a tel ou tel processus...

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    J'ai et ete un maximum clair...

Discussions similaires

  1. VBA: liste des applications ouvertes
    Par Stach dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/05/2008, 17h28
  2. [VBA-E] Activer une application ouverte
    Par Scritch852 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2007, 16h45
  3. [VBA-E] Application ouverte ?
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/03/2007, 16h44
  4. Detection application ouverte
    Par elabbassi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 14/03/2005, 13h20
  5. Accès à une application ouverte (OLE Automation ?)
    Par PascalB dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/06/2002, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo