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

Access Discussion :

Passage d'une variable dans une requete SQL pour choix liste deroulante [AC-2007]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Points : 28
    Points
    28
    Par défaut Passage d'une variable dans une requete SQL pour choix liste deroulante
    Bonjour,
    Retraité en tant que bénévole je " donne" un coup de mains au centre social de ma région. Sur excel pas trop de soucis, mais récemment il ma été demandé si je pouvais réaliser une BdD pour la "recyclerie" qui vient d ouvrir.

    dans l enregistrement des données j ai 8 catégories d objets et elles mêmes divisées en 3 à 7 sous catégories d objets.

    Comme Il faut réaliser quelque chose de simple, car les opérateurs de saisie n ont aucune notion je dois faire un truc simple à manipuler, j ai choisi deux listes déroulantes une, pour les catégories , L autre pour les sous catégories.
    deux tables pour cette opération

    la première pour les catégories :
    Ident_Cat CatObjet Descriptif_Cat
    1 1 Meuble
    2 2 D 3 E
    3 3 Enfance
    4 4 Loisirs
    5 5 Jardinage
    6 6 Décoration maison (Int-Ext)
    7 7 Utilitaires homme-femme
    8 8 Matériaux de construction


    La deuxième

    Nmr_Descript_Cat CatObjet SousCatObjet Descriptif
    1 1 1A Salon/Salle à Manger
    2 1 1B Bureau
    3 1 1C Chambre
    4 1 1D Cuisine
    5 1 1E Enfant
    6 1 1F divers
    7 2 2A1 Grand électroménager
    8 2 2A2 Petit électroménager
    9 2 2B Luminaire
    10 2 2C Informatique
    11 2 2D Petit Elect.
    12 2 2E Divers
    13 3 3A Jouets
    14 3 3B Jeux de société
    15 3 3C Jeux Vidéo
    16 3 3D Puériculture
    17 3 3E Divers
    18 4 4A Livres
    19 4 4B Musique
    20 4 4C1 Art - Dessin
    21 4 4C2 Art - Peinture
    22 4 4D Divers
    23 5 5A Mobilier
    24 5 5B1 Outil à main
    25 5 5B2 Outil mécanique
    26 5 5C Divers
    27 6 6A Vaisselle
    28 6 6B Bibelot
    29 6 6C Mobilier de Jardin
    30 6 6D Divers
    31 7 7A sac à main, sacoche….
    32 7 7B Bijoux
    33 7 7C Divers
    34 8 8A Quincaillerie
    35 8 8B Construction
    36 8 8C1 Outil à main
    37 8 8C2 outil mécanique
    38 8 8D Chauffage
    39 8 8E Divers


    J ai suivi attentivement le tuto :
    Concevoir une liste qui en alimente une autre
    de Jean-Philippe AMBROSINO (très bien fait)

    J ai donc modifié le code pour l adapter :

    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
    Option Compare Database
     
    Private Sub cmbCategorieObjet_AfterUpdate()
    Dim Var_Categorie As Long
    Dim SQL  As String
    '' Vérifie que l'on a cliqué sur une catégorie pour éviter le NULL
    If Not IsNumeric(Me!cmbCategorieObjet) Then Exit Sub
    '' Affecte la valeur de CatObjet à la variable lngIDCat
    Var_Categorie = Me!cmbCategorieObjet
    'Vérification Si la variable est bien initialisé
    MsgBox Var_Categorie
    '' Construit la chaîne SQL avec la catégorie concernée
    SQL = "SELECT T_SousCategorieObjet.CatObjet, T_SousCategorieObjet.SousCatObjet, T_SousCategorieObjet.Descriptif  FROM T_SousCategorieObjet WHERE (((T_SousCategorieObjet.CatObjet)=Var_Categorie));"
    '' Affecte la chaîne SQL à la liste des Sous Catégories
    cmbSousCategorieObjet.RowSource = SQL
    '' Déverrouille la liste des Sous catégories
    cmbSousCategorieObjet.Enabled = True
    '' Donne le focus la liste des Sous catégories
    cmbSousCategorieObjet.SetFocus
    '' Déroule la liste des Sous catégories
    cmbSousCategorieObjet.Dropdown
    End Sub
    Tout ce passe bien, à la "compil", sauf que :
    lorsque la première phase est passée (vérification du contenue de la variable par msgBox) ok


    j obtiens une nouvelle msgBox me demandant une valeur de paramétré pour ma variable Var_Categorie

    Si je rentre un chiffre, cela fonctionne bien et cela me sélectionne bien les sous catégories par rapport au numéro des catégories dans ma deuxieme liste Déroulante .

    Mais cela ne ce fait pas tout seul
    D ou mon interrogation, ou est mon erreur ?

    En vous remerciant d avance

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour Cyrion81,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT T_SousCategorieObjet.CatObjet, T_SousCategorieObjet.SousCatObjet, T_SousCategorieObjet.Descriptif FROM T_SousCategorieObjet WHERE (((T_SousCategorieObjet.CatObjet)=Var_Categorie));"
    C'est cette ligne qui cause l'erreur. Il faut écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT T_SousCategorieObjet.CatObjet, T_SousCategorieObjet.SousCatObjet, T_SousCategorieObjet.Descriptif FROM T_SousCategorieObjet WHERE (((T_SousCategorieObjet.CatObjet)=" & Var_Categorie & "));"
    pour que la variable soit reconnue.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    Merci bcp, de votre aide et aussi pour le changement de balise "code", je savais pas trop comment faire

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/06/2011, 13h39
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. passer une variable dans ma requete SQL
    Par poulette3000 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/04/2008, 13h50
  4. passer une variable dans ma requete SQL
    Par poulette3000 dans le forum C#
    Réponses: 0
    Dernier message: 16/04/2008, 19h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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