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 :

Charger une Textbox à partir d'un combobox lié à une table


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 37
    Points : 24
    Points
    24
    Par défaut Charger une Textbox à partir d'un combobox lié à une table
    Bonjour à tous,

    Je débute sous access donc je vous prie de m'excuser pour mes questions de débutant.

    Voilà, j'ai créé une base de donnée avec des tables (tant qu'à faire ), et je voudrais créér un formulaire.

    Ce formulaire contient une combobox et une textbox.

    Dans ma combobox je charge la clé primaire de ma table "clients" (clients.id), et ce que je voudrais faire, c'est modifier automatiquement mon text box en mettant le nom de ce client (client.nom).

    Ma combobox s'appelle cbo_id, et ma text box s'appelle txt_nom.
    Alors je ne sais pas vraiment quoi faire, une macro ou un codage en vba.

    Merci d'avance pour vos réponses, j'espère avoir été clair.

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,


    Tu as plusieurs approches pour répondre à ton besoin, selon ta situation.

    Une solution consiste à utiliser les mécanismes de la requête source de ton formulaire: si tu mets la table client dans la source, en relation avec la table principale de ton formulaire, tu peux alors lui faire afficher le nom du client correspondant.

    Il ne faudra pas oublier de verrouiller ton champ Nom Propriété Verrouillé) afin que l'utilisateur ne modifie pas le nom du client par ici.


    Dans certains cas, cette solution ne convient pas en raison de l'impact sur la source du formulaire.
    Dans ce cas, tu peux mettre une expression dans ta zone de texte pour aller lire la valeur de la colonne Nom de ta liste déroulante.

    SI ta combo affiche le nom du client en deuxième colonne, tu auras une expression du genre:

    Bon courage
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 37
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup pour la réponse rapide.

    Je n'ai pas compris la première méthode, par contre la deuxième marche impec.

    Merci encore.

    A (très :p) bientot.

    _________________________________________

    EDIT1: En fait je rencontre un probleme similaire.

    Dans cette même table (clients) il y a un champ mot de passe. Je ne peux utiliser la 2eme méthode sinon le mdp va apparaitre dans la combobox.

    Sur mon formulaire, j'ai un champ mot de passe où l'utilisateur doit entrer son mot de passe. Cependant pour vérifier si le mot de passe est correct, je dois acceder à client.mdp (où client est la table).

    Je ne sais pas vraiment comment faire.

    Merci d'avance.

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 37
    Points : 24
    Points
    24
    Par défaut
    Voilà ce que j'ai trouvé mais ça ne marche que pour la premiere ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      Private Sub bouton_connec_Click()
      Dim var1 As Variant
      Dim table As Recordset
     
      Set table = CurrentDb.OpenRecordset("Clients", dbOpenDynaset)
      var1 = table![mdp]
     
      If var1 = txtpass Then MsgBox ("Mot de passe correct !") Else: MsgBox ("Mot de passe incorrect !")
     
     
     
      End Sub
    il ne reconnait pas les mdp des autres lignes de la table

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par fomblardo Voir le message
    Voilà ce que j'ai trouvé mais ça ne marche que pour la premiere ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      Private Sub bouton_connec_Click()
      Dim var1 As Variant
      Dim table As Recordset
     
      Set table = CurrentDb.OpenRecordset("Clients", dbOpenDynaset)
      var1 = table![mdp]
     
      If var1 = txtpass Then MsgBox ("Mot de passe correct !") Else: MsgBox ("Mot de passe incorrect !")
     
     
     
      End Sub
    il ne reconnait pas les mdp des autres lignes de la table
    Hummm, tu vas un peu vite à utiliser des fonctionnalités sans en comprendre le fonctionnement
    Ici, ton recordset représente la table clients en entier. Tu n'as aucun élément dans cette syntaxe qui indique d'atteindre le client qui t'intéresse...

    Soit tu l'intègres dans la source de ton recordset (en remplaçant le "clients" par un "SELECT .... WHERE CodeClient = ...", soit tu cherches dans ton recordset la bonne ligne (un FindFirst)...


    Dans ton cas, tu peux aussi utilisé un DLookup (à utiliser avec parcimonie, mais justifié ici).



    Bon courage
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

Discussions similaires

  1. Réponses: 11
    Dernier message: 31/08/2010, 09h49
  2. Executer une action à partir d'un ComboBox
    Par Ramdoulou dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 07/12/2006, 19h09
  3. Réponses: 20
    Dernier message: 04/10/2006, 15h48
  4. Remplir un textbox à partir d'un combobox
    Par gringo96 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/08/2006, 19h08
  5. Réponses: 2
    Dernier message: 15/10/2005, 18h47

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