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 :

Requête SQL en fonction des checkbox d'une listbox


Sujet :

VBA Access

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Par défaut Requête SQL en fonction des checkbox d'une listbox
    Bonjour,

    J'aimerais créer une requête SQL en fonction des éléments cochés dans une listbox, je m'explique
    J'ai une listbox contenant n ligne, avec chacune une checkbox. Je coche certaines des lignes et après j'aimerais que ma requête me renvoie toutes les les lignes de ma base access associés à chaque casé cochée

    Exemple :
    Dans ma listbox j'ai les années de 2000 à 2010
    Je coche l'année 2002 et 2006

    J'ai une base de donnée dans laquelle j'ai des photos avec une année associée.

    Je veux donc récupérer toutes les photos prises en 2002 et 2006

    J'avais pensé à utiliser bêtement les AND mais le nombre de critère ne sera jamais le même
    L'idéal serait un truc du genre :
    SELECT photo.name WHERE photo.année = les dates cochées dans ma liste

    Je sais pas si on peut programmer quelque chose comme ça en SQL

    Sinon j'avais pensé créer un début de requête en string du genre S = "SELECT photo.name WHERE photo.année = "
    et rajouter des morceaux de requête en se déplacant dans les lignes cochés de la listbox du genre

    if listeItem (i) is checked then (je connais pas le code exact, c'est juste pour le principe)
    S = S & Listitem(i).value
    end if

    S'il y a plus simple, je prends !

    Merci à vous !
    i = i +1

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Par défaut
    un SELECT * FROM TaTable WHERE annee In (2012,2010,1998);

    cela devrait fonctionner ?

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 196
    Billets dans le blog
    47

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Par défaut
    Merci beaucoup !
    La réponse était là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each itm In Me.Zliste.ItemsSelected                 ' parcourt les items
        lstval = lstval & Me.Zliste.ItemData(itm) & ","     ' insère chaque id dans la variable
    Next
    J'ai pas encore testé mais ça devrait être bon !

    Bonne soirée

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/06/2012, 11h59
  2. [SQL] Requête SQL en fonction d'un choix de listbox
    Par Lenezir dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/11/2007, 16h08
  3. Des checkbox dans une listbox
    Par Invit-é dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/08/2007, 16h53
  4. Réponses: 8
    Dernier message: 04/04/2007, 15h29
  5. Réponses: 2
    Dernier message: 17/05/2006, 08h35

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