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

Requêtes et SQL. Discussion :

Afficher le contenu d'une listBox sur evenement après mise à jour d'une autre. [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut Afficher le contenu d'une listBox sur evenement après mise à jour d'une autre.
    Bonjour,

    J'ai une listBox avec une liste d'articles, et je voudrais après choix d'un article afficher l'emplacement correspondant dans une seconde listBox, sur évenement après mise à jour de ma première listBox.

    Pour le moment, j'arrive à alimenter ma seconde listBox avec le bon emplacement, mais je n'arrive pas à l'afficher directement. C'est à dire que si je veux le voir s'afficher dans ma seconde listBox, il faut que je fasse dérouler la listBox et que je selectionne l'emplacement.

    Voici le code AfterUpdate de ma 1ère listBox:

    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
    Private Sub listePiecesChangées1_AfterUpdate()
     
        Dim oRst As DAO.Recordset
        Dim odb As DAO.Database
        Dim Id_Article As String
        Dim Id_Emplacement As String
        Dim sqlEmplacement As String
     
        If Not IsNull(Me.listePiecesChangées1) Then
            Id_Article = Me.listePiecesChangées1.Value
            sqlEmplacement = "SELECT DISTINCT tbl_Article.Id_Emplacement, tbl_Emplacement.NomEmplacement FROM tbl_Emplacement INNER JOIN (tbl_Article INNER JOIN tbl_Nomenclature ON tbl_Article.Id_Article = tbl_Nomenclature.Id_Article) ON tbl_Emplacement.Id_Emplacement = tbl_Article.Id_Emplacement where tbl_Article.Id_Article = " & Id_Article & " and tbl_Nomenclature.Id_Machine = '" & Id_Machine_Public & "' "
            listeEmplacement1.RowSource = sqlEmplacement
     
            Set odb = CurrentDb
            Set oRst = odb.OpenRecordset(sqlEmplacement, dbOpenDynaset)
     
                If Not oRst.EOF() Then
                    Id_Emplacement = oRst.Fields("NomEmplacement")
                    Me.listeEmplacement1 = Id_Emplacement
                End If
     
                Else ......
     
                End If
     
    End Sub
    Pour info, ma première listBox, se nomme listePiecesChangées1 et ma seconde listeEmplacement1

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour

    Question : pour un article, peut-il y avoir plusieurs emplacement ?
    Si non, aucun interet à utiliser une liste pour l'emplacemment, une zone de texte suffirait.
    Frédéric
    Développeur d'Applications Access

  3. #3
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re,

    Un article ne peut avoir qu'un seul emplacement normalement.

    En revanche, si il y a deux listes, c'est parceque la personne peut soit choisir l'emplacement, dans ce casla réference s'affichera, soit choisir la référence, dans ce cas l'emplacement s'affichera.

    Cordialement

    [EDIT]

    Mais si tu veux j'arrive a filtrer l'emplacement une fois la ref choisie, mais je n'arrive pas à l'afficher.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Et en faisant simplement un Requery après le RowSource, du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    listeEmplacement1.RowSource = sqlEmplacement
    listeEmplacement1.Requery
    Si ça marche, cela permettra d'éviter le RecordSet
    Frédéric
    Développeur d'Applications Access

  5. #5
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Re,

    Comme suit?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Not IsNull(Me.listePiecesChangées1) Then
            Id_Article = Me.listePiecesChangées1.Value
            sqlEmplacement = "SELECT DISTINCT tbl_Article.Id_Emplacement, tbl_Emplacement.NomEmplacement FROM tbl_Emplacement INNER JOIN (tbl_Article INNER JOIN tbl_Nomenclature ON tbl_Article.Id_Article = tbl_Nomenclature.Id_Article) ON tbl_Emplacement.Id_Emplacement = tbl_Article.Id_Emplacement where tbl_Article.Id_Article = " & Id_Article & " and tbl_Nomenclature.Id_Machine = '" & Id_Machine_Public & "' "
            listeEmplacement1.RowSource = sqlEmplacement
            listeEmplacement1.Requery
    Alors ma liste s'alimente bien, mais rien ne reste affiché.

    Tu vois bien ce que je veux dire?
    La source de la liste est bonne, c'est à dire que si je la déroule, j'ai bien mon emplacement, mais celui ci ne s'affiche pas automatiquement, il faut que je le choisisse dans la liste.

    Merci

    [EDIT]

    Je ne sais pas si c'est possible, mais en gros après il faudrait que je lui dise, affiche le premier champ de la liste déroulante.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    La syntaxe à utiliser pour afficher le 1er élément de la liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeEmplacement1.Value = listeEmplacement1.ItemData(0)
    Frédéric
    Développeur d'Applications Access

  7. #7
    Débutant
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Points : 269
    Points
    269
    Par défaut
    Très bien super merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/02/2010, 17h36
  2. [AC-2000] Problème de mise à jour d'une base sur réseau
    Par Dermochelys dans le forum Runtime
    Réponses: 2
    Dernier message: 04/02/2010, 13h43
  3. Mise à jour d'une liste sur tous les ordinateurs
    Par nicolas_isi dans le forum JSF
    Réponses: 9
    Dernier message: 08/07/2009, 15h23
  4. [MySQL] Mise à jour avec une condition sur une vue
    Par thor76160 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/03/2009, 01h00
  5. Mise à jour d'une listBox
    Par moilou2 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/07/2008, 11h15

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