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 :

Recherche d'enregistrement dans une table [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Santé

    Informations forums :
    Inscription : Août 2009
    Messages : 80
    Points : 70
    Points
    70
    Par défaut Recherche d'enregistrement dans une table
    Bonjour à tous,

    cela fait quelques heures que je bute sur un problème qui, je sui sur, est tout simple à résoudre.

    J'ai un combobox cbm_liste lié à une table TB_liste
    Ma table comporte 3 fields : ID, ITEM1 et ITEM2
    Attention, mon formulaire n'est pas liée à cette table.

    au moment de l'initialistaion de mon formulaire, j'aimerai que mon combobox cmb_liste affiche une valeur par défaut de l'ITEM2 mais en fonction de l'ITEM1 que j'aurais renseigné à l'avance dans une variable par exemple.
    Par exemple, si ma table a ce contenu :

    ID ITEM1 ITEM2
    1 voiture rouge
    2 moto bleue
    3 vélo jaune

    Si je renseigne dans une variable la valeur "vélo", et que j'ouvre mon formulaire contenant mon combobox, j'aimerai que la valeur par défaut de ce dernier soit "jaune"

    J'ai essayé via du code SQL en vba mais j'avoue que je suis vraiment novice dans ce domaine.

    merci d'avance.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 145
    Points
    145
    Par défaut
    Bonjour mafooley,

    Je suppose que tu as défini la source du Combo sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Id, Item1, Item2 from ... Where ...
    Pour définir la valeur par défaut de ton combo il faut que tu lui affecte en propriété .DefaultValue la valeur correspondant à celle de sa "colonne liée".

    Dans ton cas, si la colonne liée est la colonne "Item1" il suffit de lui affecter la valeur "vélo"; bien entendu, on suppose que la première (et seule) colonne visible de ton Combo est celle qui affiche les valeurs "Item2" et que la colonne Item1 fournit des valeurs uniques.

    C'est à dire que la définition de ton combo doit présenter les caractéristiques suivantes:
    [Données]
    • Contenu = select Id, Item1, Item2 from ... Where ...
    • Origine Source = Table/Vue
    • Colonne Liée = 2 -> colonne Item1

    [Format]
    • Largeurs colonnes = 0;0 -> colonnes ID et Item1 sont masquées pour afficher Item2 lorsque le combo est fermé


    Si ta colonne liée est "ID", tu dois d'abord rechercher quel est l'ID correspondant à la valeur Item1="vélo" puis l'affecter en tant que valeur par défaut du combo.
    Pour rechercher la valeur n de l'ID tu peux utiliser la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    n=dlookup("ID","NomDeLaTable","Item1=""vélo""")
    Enfin, si tu veux afficher la valeur "jaune" lorsque le combo est fermé tout en permettant à l'utilisateur de consulter les valeurs des colonnes Item1 et Item2 lorsqu'il l'ouvre ta configuration devrait être de la forme :
    [Données]
    • Contenu = select Id, Item2, Item1 from ... Where ... -> on change l'ordre des colonnes
    • Origine Source = Table/Vue
    • Colonne Liée = 1 -> colonne ID

    [Format]
    • Largeurs colonnes = 0 -> seules la colonne ID est masquée, la colonne Item2 est affichée en premier

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Santé

    Informations forums :
    Inscription : Août 2009
    Messages : 80
    Points : 70
    Points
    70
    Par défaut
    Bonjour, merci pour ta réponse.

    Je vais prendre le problème autrement car mon projet à un peu changer.
    Je dispose d’un formulaire FRM_form et d’une table TB_liste non liée au formulaire.
    On retrouve dans ma table les ID, ITEM1 et ITEM2.
    Sur mon formulaire, il y a 2 textbox, txb_item1 et txb_item2 ainsi qu’un bouton de commande cde_check.

    J’aimerai, si je tape “vélo” dans txb_item1 et que je clic sur cde_check, voir apparaitre “jaune” dans txb_item2.

    Merci d’avance.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Comme indiqué, il faut utiliser la fonction DLookUp sur l'évènement surClick de ton bouton. Ce serait quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cde_check_Click()
    Me.txb_item2 = DLookUp("[ITEM2]","[TB_liste]","[ITEM1]='" & Me.txb_item1 & "'")
    End sub
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Santé

    Informations forums :
    Inscription : Août 2009
    Messages : 80
    Points : 70
    Points
    70
    Par défaut
    C'est tout bete... Je cherche souvent la complexité là où il n'y en a pas...

    merci beaucoup.

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

Discussions similaires

  1. [AC-2000] Recherche enregistrement dans une table en VBA
    Par tibogaet dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/06/2010, 15h49
  2. Réponses: 7
    Dernier message: 21/08/2006, 16h27
  3. AJOUT d'un ENREGISTREMENT dans UNE TABLE
    Par ramo dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/08/2005, 16h24
  4. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06
  5. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 15h22

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