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] Sélection d'un élément d'une liste


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Par défaut [VBA] Attendre la fermeture de l'aperçu d'un état
    Bonjour

    A l'aide d'une requête j'ai créé une liste qui représentent les différents éléments constitutifs d'un objet. j'aimerai que lorsqu'on clique sur un bouton_commande cela affiche l'état relatif à chaque élément; pour cela j'avais imaginer une boucle qui s'exécute autant de fois qu'il y a d'éléments et qui ouvre à chaque fois l'état après avoir sélectionné dans la liste le cod de l'élément utilisé pour afficher l'état correspondant. Cependant je n'arrive pas à trouver comment on sélectionne le code. Est-ce possible et si oui comment ? Si non y a-t-il une autre solution pour faire ce que je veux ?

    une autre question (pour la culture) : peut-on facilement modifier la durée de vie d'une variable ? et pas la recréer à chaque procédure si on l'a créée dans form_load ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 86
    Par défaut
    pour ce qui est de la duree de vie dune variable si tu veut quelle soit declare dans tes autres modules il te suffit de la declarer comme global ou public a la racine meme d'un module

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Par défaut
    bonjour

    j'ai réussi à sélectionner le code de la liste grace à ItemData et à ouvrir l'état correspondant. Mais j'arrive pas à les ouvrir tous, j'ai l'ipmpression qu'access ne peut ouvrir qu'une seule fois un même état même si les données sont différentes. Vu que le but de cette opération n'est que de visualiser les fiches avant de les imprimer y a-t-il possibilité d'insére une instruction pause qui demanderait à l'utilisateur d'appuyer sur une touche avant de fermer l'état et d'ouvrir le suivant. Est-ce possible ou y a-t-il une meilleure solution ?

    merci

  4. #4
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour,

    dans une vielle appli (Access 2), je faisais comme ceci:

    EDIT: j'ai transcris rapidement le code en VBA Access 97 ou ultérieur (non testé)

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Function ap_IsLoaded (byval vntObjectName as Variant, byval intObjectType as integer) As Integer
        On Error Resume Next
        ap_IsLoaded= (SysCmd(acSysCmdGetObjectState, intObjectType, vntObjectName) <> 0)
    End Function


    Et je l'utilise comme ceci:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        DoCmd.OpenReport sReportName, acPreview
        DoCmd.Maximize
        Do
            DoEvents
        Loop While ap_IsLoaded(sReportName, acReport)
        DoCmd.Restore
     
        DoEvents

    Sinon, tu peux peut être revoir ton problème en revoyant ton état de sorte qu'il imprime autant de pages que d'éléments dans ta liste (en revoyant la source de ton état et en jouant sur les regroupement dans l'état).

    Bon courage

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 39
    Par défaut
    bonjour

    merci pour ton code qui marche bien puisqu'il ouvre et ferme les états les uns après les autres. ceci dit j'aimerai bien avoir la possibilité de lire les états avant qu'ils ne se ferment y aurait-il la possibilité de mettre le processus en pause le temps de visualiser.
    pour ce qui est de l'autre méthode je n'y tiens pas trop car j'ai besoin de mes états ailleurs et en un seul exemplaire.

    merci

  6. #6
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonsoir,

    Normalement ça marche... J'utilise ce code dans une appli et la boucle tourne tant que l'aperçu est ouvert...
    Peut être non compatible avec une version d'Access plus récente...

    Si je trouve le temps je regarderai à nouveau ...

    EDIT: je viens de retester le code dans sous Access 2007... ça marche!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les éléments d'une liste déroulante excel en VBA
    Par erlerwade dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2012, 12h32
  2. [AC-2007] Sélection automatique du seul élément d'une liste déroulante
    Par Beavis Man dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/12/2009, 15h53
  3. [VBA] sélection d'un élément dans une liste
    Par menguygw dans le forum Access
    Réponses: 3
    Dernier message: 26/04/2006, 12h18
  4. [CSS]Changer l'interligne des éléments d'une liste à puces
    Par khany dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/03/2005, 13h57
  5. Réponses: 2
    Dernier message: 11/01/2005, 14h10

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