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

VB 6 et antérieur Discussion :

select case avec if


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 38
    Par défaut select case avec if
    Bonjour, voilà j'ai encore un petit souci avec mon code. J'ai deux listes déroulantes et une msflexgrid.

    La liste déroulante 1 comporte tous les genres de mes films : cela permet de choisir un film selon son genre exemple: action, aventure, thriller ...
    La liste déroulante 2 comporte les 26 lettres de l'alphabet : cela permet de chercher tous les films commençant par la lettre sélectionnée exemple tous les films commençant par a (angel-A...) ...

    Mon souci est que je voudrais donner la possibilité à l'utilisateur de rechercher le film en fonction soit du genre soit par l'ordre alphabétique. Pour cela, je pensais faire un select case mais cela ne marche pas (enfin juste la liste genre mais la liste par ordre alphabétique non lorsque l'on choisit une lettre).

    Voici, le code que j'avais mis :
    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
    Dim choix As String
       Select Case choix
       Case Lst_DebutLettre
     
         'si le choix du titre du film est différent du mot "Tous"
         If Lst_DebutLettre <> "TOUS" Then
                'alors on affiche le résultat correspondant à la lettre choisie
                sql = sql + " WHERE FILMS_TITRE LIKE '" & Lst_DebutLettre.List(Lst_DebutLettre.ListIndex) & "%'"
         End If
         'trie le nom par ordre alphabétique lorsque le mot "TOUS" est sélectionné
          sql = sql + " ORDER BY FILMS_TITRE"
     
       Case Else
         'si le choix du genre est différent du mot TOUS
         If Lst_GenreFilm = "TOUS" Then
                    sql = "select FILMS_NUM, FILMS_TITRE, FILMS_ACTEUR, FILMS_DUREE, FILMS_SORTIEANNEE, FILMS_FORMAT, FILMS_GENRE, FILMS_REALISATEURS FROM FILMS "
         Else
                    sql = "select FILMS_NUM, FILMS_TITRE, FILMS_ACTEUR, FILMS_DUREE, FILMS_SORTIEANNEE, FILMS_FORMAT, FILMS_GENRE, FILMS_REALISATEURS "
                    sql = sql + " FROM FILMS , GENRES"
                    sql = sql + " where FILMS_GENRE =  GENRE_CODE"
                    sql = sql + " AND GENRE_LIBELLE ='" & FilmsGenre & "'"
         End If
     
       End Select
    en cherchant sur le net il parle plus de combobox avec le msflexgrid. Cela fait plusieurs jours que je cherche mais rien. A chaque fois il n'y a qu'une seule liste qui marche sur les deux mais jamais les deux en meme temps. Et est-ce-que le select case est une bonne idée ou pas du tout ?
    Pouvez-vous m'aider car je débute en programmation merci beaucoup

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
       Case Else
         'si le choix du genre est différent du mot TOUS
         If Lst_GenreFilm = "TOUS" Then
                    sql = "select FILMS_NUM, FILMS_TITRE, FILMS_ACTEUR, FILMS_DUREE, FILMS_SORTIEANNEE, FILMS_FORMAT, FILMS_GENRE, FILMS_REALISATEURS FROM FILMS "
         Else
                    sql = "select FILMS_NUM, FILMS_TITRE, FILMS_ACTEUR, FILMS_DUREE, FILMS_SORTIEANNEE, FILMS_FORMAT, FILMS_GENRE, FILMS_REALISATEURS "
    '**************************************************
                    sql = sql + " FROM FILMS , GENRES" '<=======  a mon avis ,(virgule) et GENRES sont en trop
    '**************************************************
                    sql = sql + " where FILMS_GENRE =  GENRE_CODE"
                    sql = sql + " AND GENRE_LIBELLE ='" & FilmsGenre & "'"
         End If
     
       End Select
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 38
    Par défaut
    Oui, mais en faite j'ai une table film, une table genre et je croise les données.
    Dans la table film, le genre est alimenté (dans la bdd) par une liste déroulante donc c'est pour cela que j'ai mis le nom des deux tables

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    J'ai donc mal lu ton premier post
    Regarde cette discussion, tous les éléments pour résoudre ton problème y sont expliqués.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 38
    Par défaut
    Non ce n'est pas cela mon problème. Mes tables sont correctement reliées. Mon problème demeure juste dans ma requête select case et non dans la construction de mes tables.

    Ma liste genre et ma liste par ordre alphabétique s'affiche correctement il n'y a pas de problème c'est juste que je n'arrive pas à construire mon select case.

    Je veux donner la possibilité à l'utilisateur de choisir soit d'afficher les films par genre ou par ordre alphabétique. Pour le moment, mes deux listes déroulantes il n'y en a qu'une à chaque fois qui marche. Je bloque sur le select case car je ne vois pas d'autres solutions possibles.

    En gros, je voudrais cela :

    Pour afficher la guerre des roses

    -> l'afficher lorsque le genre est sélectionné comédie
    -> ou bien l'affiche lorsque l'utilisateur choisit la lettre 'L'

    Selon cas choix
    cas debutLettre
    on affiche le resultat lettre selectionné
    cas genreFilm
    on affiche le resultat genreFilm
    fin selon cas.

    J'ai essayé plusieurs combinaison pour mon selon cas mais rien à faire

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Excuse moi, je comprend trés vite quand on m'explique longtemps

    Tout de suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim choix As String
       Select Case choix
    tu ne donnes aucune valeur a la variable, donc case else est systématique, je regarde la suite.
    A+
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. [XL-2013] Select case avec checkbox
    Par GuillaumeNcy dans le forum Excel
    Réponses: 8
    Dernier message: 15/06/2015, 16h15
  2. Comment eviter de faire un Select Case avec beaucoup de valeur
    Par jam92400 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 05/11/2010, 15h19
  3. Select Case avec plusieurs variables
    Par sphynxounet dans le forum VB.NET
    Réponses: 10
    Dernier message: 10/08/2009, 18h16
  4. Select case avec then qui retourne une variable
    Par dinette dans le forum SQL
    Réponses: 6
    Dernier message: 06/07/2009, 11h03
  5. Probleme avec Select Case
    Par GeffD dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/03/2005, 15h28

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