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

IHM Discussion :

Liste déroulante contenant toutes les requêtes de ma DB [AC-2010]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Bac +2
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Bac +2

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Liste déroulante contenant toutes les requêtes de ma DB
    Bonjour,

    Je cherche à afficher dans une liste déroulante la liste de mes requêtes dans le but suivant :
    Lorsque que je sélectionne une requête via la liste, elle s'exécute et le résultat s'affiche et s'actualise si une nouvelle requête est sélectionnée.

    Pour le moment j'en suis qu'au stade où il faut afficher les noms des requêtes dans la liste déroulante.
    J'ai lu plusieurs forums en quête de solution. Voici le code de mes différentes tentatives :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub lstRequetes_AfterUpdate()
     Dim strRequete As String
     
     strRequete = Me!lstRequetes
     On Error Resume Next
     DoCmd.SelectObject acQuery, strRequete
     If Err <> 0 Then
     DoCmd.OpenQuery strRequete, acViewNormal
     Else
     MsgBox "Impossible de trouver la requête nommée " & strRequete & " !"
    End If
     End Sub
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT MsysObjects.Name
    FROM MsysObjects
    WHERE (((MsysObjects.Name) Not Like "Msys*" And (MsysObjects.Name) Not Like "~*") AND ((MsysObjects.Type)=5))
    ORDER BY MsysObjects.Name;
    Merci d'avance pour votre aide et vos solutions.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Et ta question est ?

    De l'aide pour voir la liste des requêtes ?
    De l'aide pour faire afficher une requête ?
    Autre chose ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Bac +2
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Bac +2

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci à vous de vous être pencher sur mon topic,
    Ma question est donc pourquoi après avoir essayé les deux paragraphes de codes que j'ai envoyé dans mon 1er message, ma liste déroulante ne déroule rien du tout.
    J'imagine que c'est parce que mon code est incorrect.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    ma liste déroulante ne déroule rien du tout.
    Les listes déroulantes de Access ne se déroulent pas d'elle même.
    Elles n'affichent des propostions que quand tu tapes dedans et il n'y pas besoin de code pour cela.
    Si tu veux que ta liste s'ouvre automatiquement il faut utiliser un code qui ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TaListe_GotFocus() 
       Me.TaListe.Dropdown 
    End Sub
    Dans L'événement sur réception du focus.

    Aussi les listes sont "alimentées" en valeur via leur propriété "Contenu", si tu y définis du SQL comme celui que tu as posté, Access va remplir la liste avec les données.

    Si tu utilises l'assistant de création, il te guide pas à pas dans la parmétrisation.

    Attention, les listes déroulantes sont mise à jour au moment du chargement du formulaire et ne se mettent pas à jour automatiquement même si les données changent.

    Si tu as besoin de cela, il faut mettre le code suivant :

    Dans l'événement Sur réception du focus.

    En espérant avoir répondu à ta question.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 113
    Points : 124
    Points
    124
    Par défaut
    Bonjour à toi,

    Voici une proposition pour récupérer la liste des requêtes de ta BDD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim str as string, qd As QueryDef
     
    ' tout d'abord, je stocke la liste de toutes les requêtes dans une variable de type texte
    For Each qd In CurrentDb.QueryDefs
    if str = "" then 
    str = qd.Name
    else
    str = str & "; " & qd.name
    End If
    Next
     
    ' Ensuite, j'affecte la valeur ainsi obtenue à mon menu déroulant
    Me.Cbo_ListeDesRequetes.RowSource = strSQL
    Tu peux exécuter ce code au chargement de ton formulaire par exemple...

    Il faut que le menu déroulant dans ton formulaire ait la valeur Value List dans la propriété Row Source Type.

    Bien à toi

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Bac +2
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Bac +2

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour vos réponses, la solution de elgordopresto fonctionne à merveille.
    J'ai bien ma liste de toutes mes requêtes qui s'affichent dans ma liste déroulante.

    A+

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/02/2017, 00h06
  2. [Toutes versions] Une liste déroulante contenant uniquement les mois
    Par HerissonOpiniatre dans le forum Access
    Réponses: 3
    Dernier message: 19/09/2016, 15h57
  3. Liste de toutes les requêtes effectuées
    Par tiboudchou dans le forum Administration
    Réponses: 1
    Dernier message: 05/09/2007, 16h11
  4. Réponses: 5
    Dernier message: 16/05/2007, 17h53
  5. Réponses: 44
    Dernier message: 14/03/2005, 09h43

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