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 :

selection multiple et ouverture d'un formulaire


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut selection multiple et ouverture d'un formulaire
    Bonjour
    Je cherche une aide ou une orientation à propos de la sélection multiple.
    J'ai une liste de valeur dans un formulaire recherche (genre musicaux : rap/rock/electro). Après avoir selectionné une de ces valeurs, un bouton de commande me permet d'accéder aux enregistrements du formulaire album correspondant au genre sélectionné. Cela fonctionne très bien.

    Mais je voudrais pouvoir sélectionner plusieurs genres et afficher les enregistrements pour ces valeurs. J'ai alors attribué à cette liste la fonction selection multiple. Mais lorsque je sélectionne deux genres musicaux, le bouton de commande m'affiche un formulaire d'album vide.
    Effectivement il n'y a pas d'album ayant deux genres musicaux.
    Comment à partir de cette liste sélectionner plusieurs valeurs et afficher à l'aide du bouton de commande les enregistrments d'album qui ont l'un ou l'autre genre musical sélectionné.
    Pouvez vous m'orienter dans cette démarche ?
    Merci
    Gaetane

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Merci d'avoir posté sur le forum, car je ne réponds pas aux questions techniques par MP.

    Il faut légèrement modifier le formulaire de recherche multicritères pour parvenir à tes fins.

    Pour une valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "SELECT ... FROM ... WHERE ... And ([MonChamp] = '" & Me.MonControle & "') ..."
    Pour une liste (nommée Liste0), ça peut donner ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim varElt As Variant
    Dim strIn As String
     
    For Each varElt In Me.Liste0.ItemsSelected
     strIn = strIn & """" & Me.Liste0.ItemData(varElt) & ""","
    Next varElt
     
    strIn = " in (" & Left(str, Len(str) - 1) & ") "
    strSQL = "SELECT ... FROM ... WHERE ... And ([MonChamp] " & strIn & ")..."

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    merci pour ces informations.
    Je dois bien placer le code pour cette liste dans la procédure évènementielle du bouton de commande ?

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Utilise ce code pour fixer une condition WHERE d'ouverture de formulaire, par exemple comme celui de mon tutoriel sur la recherche multicritères (lien dans ma signature).

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    j'ai utilisé ce code comme condition d'ouverture de formulaire. Mais lors de ma selection dans la liste, une fenêtre me renvoie sur la page de code m'indiquant que l'argument est facultatif.
    J'ai regardé le tutoriel mais je ne vois pas comment sélectionner plusieurs types de media comme les livres et les livres de poche par exemple.
    c'est difficile de débuter dans les codes !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    j'imagine que liste0 correspond à une zone de liste. Mais est-ce que c'est possible de faire une sélection multiple ds une zone de liste modifiable ?
    Si oui, comment y arriver, parce qu'il n'y a pas de sélection multiple ds la feuille propriété d'une zdlm

    merci

  7. #7
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut,
    la propriété MultiSelect concerne les ListBox uniquement.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 35
    Points
    35
    Par défaut
    Rebonjour,
    donc si je comprend bien, si on part du tuto de caféine, il faut remplacer les zones de liste modifiable par des zones de liste.

    la question subsidiaire est ; estce qu'il faut placé le bout de code pour la liste0 sur chacune des zones de liste?

    Merci pour vos conseils

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    p'tit message pour caféine.

    Je me triture la tête pour trouver une solution mais il y une chose que je ne comprend pas, les 3 points à la fin de cette ligne de code, avant la double quote.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "SELECT ... FROM ... WHERE ... And ([MonChamp] = '" & Me.MonControle & "') ..."
    Peux tu m'expliquer ?

    Merci d'avance pour éclairer ma lanterne

  10. #10
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par malabar92
    Bonjour,

    p'tit message pour caféine.

    Je me triture la tête pour trouver une solution mais il y une chose que je ne comprend pas, les 3 points à la fin de cette ligne de code, avant la double quote.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "SELECT ... FROM ... WHERE ... And ([MonChamp] = '" & Me.MonControle & "') ..."
    Peux tu m'expliquer ?

    Merci d'avance pour éclairer ma lanterne
    ARF !

    aucun sens à ces "..." c'est pour imiter une requête SQL classique à toi d'adapter à ta vraie requête

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 35
    Points
    35
    Par défaut
    Hello,

    Je revois un post pour savoir si qqun aurait la gentillesse de m’aider pour « modifier légèrement » le tuto de caféine afin de faire une sélection multiple ds une listbox sans utiliser de bouton. J'aurai préféré ne pas joué le . En gros, j’arrive pas à comprendre le code proposé ds le post plus haut. Que je place le code de la liste0 sur l’évènement onClick ou afterupdate, à l’éxécution, j’ai un « Erreur de compilation Argument non facultatif » avec un surlignage de Str. (je suis sous access 2002)

    Je cherche depuis une semaine, je suis allé voir sur le site de microsoft (http://officesystem.access.free.fr/e...n_multiple.htm) en essayant de récupérer le contenu de la requête ds une listbox, et là, c’est access qui plante.

    Rien à faire, je coinçe sur cette « légère modification » (ça vous donne mon niveau).

    Un GRAND MERCI d’avance

  12. #12
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Pour t'aider, il faudrait que tu nous donnes le code que tu utilises ou que tu as adapté du mien ...

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    je suis un peu mais bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Compare Database
    Option Explicit
     
    Private Sub Form_Load()
     
    Me.Liste2.RowSource = "SELECT numero, Nompre FROM Clients;"
    Me.Liste2.Requery
     
    End Sub
     
    Private Sub RefreshQuery()
    Dim strSql As String
    Dim SQLWhere As String
     
    strSql = "SELECT numero FROM Clients WHERE Clients!numero <> 0 And ([numero] = '" & Me.Liste0 & "')"
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    'SQL = SQL & ";"
     
    Me.Liste2.RowSource = strSql
    Me.Liste2.Requery
     
    End Sub
     
    Private Sub Liste0_BeforeUpdate(Cancel As Integer)
    Dim varElt As Variant
    Dim strIn As String
     
    For Each varElt In Me.Liste0.ItemsSelected
     strIn = strIn & """" & Me.Liste0.ItemData(varElt) & ""","
    Next varElt
     
    strIn = " in (" & Left(str, Len(str) - 1) & ") "
    strSql = "SELECT numero FROM Clients WHERE Clients!numero <> 0 And ([numero] " & strIn & ")"
     
    End Sub
    Ce qu'il y a surtout, c'est que je ne vois pas où placer les codes proposés au début du topic.

    Merci d'avance en tout cas pour votre aide

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/02/2007, 16h10
  2. selection multiple et formulaire graphique
    Par irisc dans le forum IHM
    Réponses: 2
    Dernier message: 15/01/2007, 17h09
  3. Selection multiple dans un formulaire
    Par farios dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2006, 15h38
  4. formulaire avec selection multiple
    Par regis94 dans le forum Access
    Réponses: 2
    Dernier message: 09/08/2006, 15h48
  5. pb formulaire Select multiple
    Par kamalkam dans le forum ASP
    Réponses: 6
    Dernier message: 15/06/2006, 09h41

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