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 :

[SQL][VBA][ListBox] Requête SQL pour alimenter une listbox sous VBA


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SQL][VBA][ListBox] Requête SQL pour alimenter une listbox sous VBA
    Bonjour,

    J'ai un problème au niveau de mise à jour d'une listbox après un afterupdate.

    Le nom des différente liste est en allemand car j'effectue mon travail de master en Allemagne. Il s'agit de faire une base de donnée contenant des pieces (Bauteil) et de relié ces pièces à leur fonctions (Bauteil_Funktion). On selectionne dans la 1ere liste déroulante, le nom de la piece, et dans la deuxième liste déroulante doit se trouver les fonctions associées à cette piéces:

    Pour cela, j'ai utilisé le tutoriel (très bien fait d'ailleurs) suivant:

    http://argyronet.developpez.com/offi...ectitemlistAB/

    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
    Private Sub cmbBauteil_AfterUpdate()
     
        Dim lngBauteil_NUM   As Long
        Dim SQL              As String
        Dim SQL_B_to_BF      As String
     
        '' Vérifie que l'on a cliqué sur une Bauteil pour éviter le NULL
        If Not IsNumeric(Me.cmbBauteil) Then Exit Sub
        '' Affecte la valeur de IDBauteil à la variable lngBauteil_NUM
        lngBauteil_NUM = Me.cmbBauteil
     
     
        '*************************************************************'
        '* Mets à jour le champ Bauteil_Funktion à partir de Bauteil *'
        '* Das Bauteil_Funktion-Feld aus Bauteil-Feld zu updaten     *'
        '*************************************************************'
     
        '' Construit la chaîne SQL selectionant les Bauteil_Funktion
        SQL_B_to_BF = "SELECT TBL_Bauteil_Funktion.IDBauteil_Funktion, TBL_Bauteil_Funktion.NameBauteil_Funktion, " & _
                      "LK_Bauteil_Bauteil_Funktion.IDBauteil_Funktion FROM TBL_Bauteil_Funktion " & _
                      "INNER JOIN LK_Bauteil_Bauteil_Funktion ON TBL_Bauteil_Funktion.IDBauteil_Funktion=LK_Bauteil_Bauteil_Funktion.IDBauteil_Funktion " & _
                      "WHERE LK_Bauteil_Bauteil_Funktion.IDBauteil =" & lngBauteil_NUM & " ORDER BY TBL_Bauteil_Funktion.IDBauteil_Funktion"
        '' Affecte la chaîne SQL à la liste des Bauteil_Funktion
        cmbBauteil_Funktion.RowSource = SQL_B_to_BF
        '' Donne le focus la liste des Bauteil_Funktion
        cmbBauteil_Funktion.SetFocus
        '' Déroule la liste des Bauteil_Funktion
        cmbBauteil_Funktion.Dropdown
    Jusque là aucun problème. Tout marche comme souhaité.

    Ensuite, j'aimerai mettre à jour des listBox avec les informations spécifiques à chaque pièces (son prix, son materiau, etc...) donc mettre à jour ceux-ci après le choix dans la 1ère liste déroulante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        '************************************************'
        '* Mets à jour les champs sous le champ Bauteil *'
        '* Die Felden unten das Bauteil-Feld zu updaten *'
        '************************************************'
     
        '' Mets à jour les champ correspondant à la selection
        lsbB_Verwandungszweck.RowSourceType = "Table/Requête"
        SQL = "SELECT TBL_Bauteil.IDBauteil, TBL_Bauteil.Verwandungszweck WHERE (((TBL_Bauteil.IDBauteil) = " & lngBauteil_NUM & ")) "
        lsbB_Verwandungszweck.RowSource = SQL
        MsgBox ("lsbB_Verwandungszweck.ItemData(0) après " & lsbB_Verwandungszweck.ItemData(0))
     
     
    End Sub
    Dans cette partie, j'essaie de mettre à jour la list box Verwandungszweck (utilisation) avec le champ du même nom provenant de la table pièce (Bauteil) et cela ne marche pas du tout! Il ne s'affiche rien, je sais pas si cela provient de la requête SQL, (mais je l'ai testée en mode requête et cela marchait)...

    C'est surement un truc stupide mais je viens de commencer la programmation VBA ainsi que la gestion de base de donnée

    Voilà, j'espère que vous comprendrez mon problème

    Pour info, je travaille avec deux ordis un access 2002 et un access 2007 ou j'ai importé la base de donnée de 2002, cela marche tjs sur les deux machines..

    Meilleures salutations

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Il manque juste le FROM
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Oh lalala, je me sens con!

    Merci de ta réponse!

    Je vais mettre un gros RÉSOLU!

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

Discussions similaires

  1. [XL-2010] Alimenter une listbox avec les données d'une feuille par ordre décroissant
    Par lavineur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2015, 13h56
  2. [Toutes versions] Alimenter une listbox suivant la valeur d une cellule
    Par la perdue dans le forum Excel
    Réponses: 11
    Dernier message: 12/02/2015, 16h08
  3. connexion Hashtable pour alimenter une Table BD (SQL)
    Par bluerequin dans le forum VB.NET
    Réponses: 1
    Dernier message: 04/06/2009, 10h26
  4. Réponses: 9
    Dernier message: 19/02/2009, 14h39
  5. [VB.NET] Problème pour alimenter une listbox.
    Par gueguen23 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 17/01/2005, 14h05

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