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

IHM Discussion :

Listbox vers Textbox via clée primaire


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 83
    Points : 59
    Points
    59
    Par défaut Listbox vers Textbox via clée primaire
    Bonsoir

    J'aurais une question à vous poser sur une chose que je n'arrive pas à faire, cela concerne l'envoie des données d'un listebox vers un textbox en utilisant la clée primaire.

    car j'ai essayé

    Me.txb_societe.Value = Me.lst_vue_tab.societe
    Cette commande fonctionne bien mais elle recopie juste les informations de ma listbox dans mon textbox alors que moi je cherche à obligatoirement passé par la clée.

    Si vous avez une solution ou un exemple quelconque je suis preneur.

    Bonne soirée
    Rémy.

    ps : je pense à une commande SQL, mais bon pas sur.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Quel est la source qui alimente ta ListBox ? Requêtes ? Tables ?

    Est-ce que ta clé apparait dans la source de ta listbox ?
    Quels sont les propriétés :
    • Colonne lié
    • Nombre de colonnes
    • Largeurs de colonnes

    Toutes ces informations sont importantes pour paramétrer correctement une listbox et en récupérer des informations.

    Philippe

  3. #3
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Bonjour
    Oui j'ai été un peut vite et j'ai pas suffisamment décrit mon application, je vais essayer de rattraper cela.
    Donc :

    - La source d'alimentation de ma listbox est faite par le biais d'une requête sql qui vas récupérer les informations de ma table principale.

    - Mon listbox possède 8 colonnes qui récupère les informations de ma table par le biais de la clée primaire.

    Mon lisbox me sert à avoir une vue tabulaire de ma table principal.
    10 champs dans le listbox
    28 champs dans ma table principal

    Donc je cherche comment à partir de mon listbox (sur chaque ligne il y aura une clée primaire de ma table principale), qu'il me retranscrive mes informations dans des textbox à partir de la clée primaire.

    J'espère que c'est compréhensible.

    Rémy.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Ok

    Un peu de lecture de la FAQ Access : Comment récupérer la valeur d'une colonne de la ligne sélectionnée dans une zone de liste ?, ce que tu vois dans la FAQ est passé à la propriété Value de ta zone de texte.

    Tu peux mettre tout cela par exemple sur l'évènement DoubleClick de ta listebox.

    Philippe

  5. #5
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Bonjour

    Je suis d’accord avec ce FAQ d'ailleurs je m’en suis partie servie comme tu peut voir sur le bout de code de mon premier poste.

    Le problème avec cette méthode est qu'il "re-balances" les informations de mon listbox dans mes cellules, cependant je ne dispose que de 10 colonnes dans ma liste alors que je veut qu'il me renseigne 28 champs.
    Ses champs la sont les informations qui sont stocké dans ma table principale.

    assez complex quand même...

    Bonne journée et bon courage pour cette nouvelle semaine.
    Rémy


    Merci Argy J'taime

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 124
    Points : 12 176
    Points
    12 176
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Solution 1 : (contraignante)
    Tu lis ton Recordset RS fondé sur ta table via la ligne de ton ListBox en cours de sélection. Tu affectes alors chaque champ via la propriété Value de l'objet Field...
    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
     
    SQL = "SELECT * FROM MaTable WHERE PK = " & Me!ListBox1
    Set RS = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)
    With RS
        If Not .EOF Then
            Me!txtBox1 = .Fields("Champ1").Value
            Me!txtBox2 = .Fields("Champ2").Value
            Me!txtBox3 = .Fields("Champ3").Value
            Me!txtBox4 = .Fields("Champ4").Value
            Me!txtBox5 = .Fields("Champ5").Value
            Me!txtBox6 = .Fields("Champ6").Value
            Me!txtBox7 = .Fields("Champ7").Value
            '..............
            Me!txtBox28 = .Fields("Champ28").Value
        Else
            MsgBox "Pas de données pour la ligne sélectionnée !", vbExclamation
        End If
        .Close
    End With
    Set RS = Nothing
    Solution 2 : (Simple)
    Tu lis ton Recordset RS fondé sur ta table via la ligne de ton ListBox en cours de sélection. On considère alors que tes champs sont présents dans le formulaire et sont alimentés par la source par défaut.
    La réaffectation dynamique est alors plus simple...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SQL = "SELECT * FROM MaTable WHERE PK = " & Me!ListBox1
    Me.RecordSource = SQL
    Argy

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

Discussions similaires

  1. copier listbox vers textbox
    Par babia007 dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/01/2015, 18h45
  2. [XL-2007] ListBox vers TextBox d'un autre USF
    Par apdf1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2011, 18h31
  3. [XL-2007] listbox vers listboxpuis vers textbox
    Par grisan29 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/06/2010, 21h20
  4. comment prend un line de Listbox vers Textbox
    Par bergeny dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 01/06/2008, 03h02
  5. listbox + cle primaire table access
    Par php4life dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/04/2007, 15h41

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