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 :

Remplissage automatique d'une valeur venant d'une requête


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Points : 13
    Points
    13
    Par défaut Remplissage automatique d'une valeur venant d'une requête
    Salutations à tous!

    Grand débutant sur access, j'ai un problème avec mon formulaire qui me désespère, je cherche l'aide d'une âme secourable.

    Dans mon formulaire, l'utilisateur sélectionne 3 valeurs dans des listes déroulantes (nom de l’espèce, nom de la sous-espèce, stade de vie) , et un champ de texte (IDInsect) les assemble avec une concaténation toute simple. J'obtiens par exemple "Papilio_machaon_adult".
    À partir de ce résultat, j'ai fait une requête (appelée Rqt_Code) qui permet de trouver dans ma table (Tbl_insect) le code correspondant au nom de l'insecte (ici, le nom enregistré est Papilio_machaon_adult, et le code correspondant est Ppl_Mac_A). Chaque code comme chaque nom enregistré est unique dans la table.

    J'aimerais que ce code apparaisse dès que le champ de texte IDInsect est renseigné (en fait, dès que l'utilisateur ait fini de rentrer ses valeurs dans les listes déroulantes).
    J'ai bien réussi à faire apparaître ce code en utilisant l’événement "sur réception focus", mais ça nécessite que l'utilisateur passe sa souris sur le cadre du texte. Galère. Il n'y aurait pas le même truc avec un événement du genre "apres remplissage de tel champ", ou même un code SQL du genre =[Tbl_insect].[CodeInsect] avec une mise à jour dès que l'utilisateur modifie ses choix? Ou un moyen de lancer la requête Rqt_Code et en extraire le code (en colonne 1)?

    Merci à tous pour le coup de main!

  2. #2
    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
    Bonsoir,

    Dans ce cas, au lieu de :
    J'ai bien réussi à faire apparaître ce code en utilisant l’événement "sur réception focus
    il faudrait lancer votre code sur les évènements après mise à jour (AfterUpDate) de vos listes déroulantes.

    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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Merci pour la réponse!!!

    Mais hélas, je ne sais plus comment ça avait pu fonctionner, rien ne marche, c'est à désespérer. Depuis ce matin, impossible de debogger le code VBA (que je ne maîtrise pas, j'ai taché de prendre exemple sur ce que je lisais).

    Dans mon contrôle zone de liste "ListCode",j'ai mis dans Contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Tbl_insect.CodeInsect FROM Tbl_insect WHERE (((Tbl_insect.Taxon)=[Formulaires]![F_FindCode]![IDInsect]));
    Puis dans l'évenement Après MaJ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Code_AfterUpdate()
    Me.ListCode.Requery
    End Sub
    Bon, bien entendu, ça ne fonctionne pas, mais j'ignore pourquoi. La requête ne se lance peut-être pas automatiquement quand je change les valeurs des listes déroulantes.
    J'ai essayé plusieurs trucs, mais impossible de faire apparaître le résultat de ma requête Rqt_Code ou de mon code SQL.

    Merci d'avance pour votre aide!!

  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,

    Je n'ai pas compris ce que vous voulez faire. Pouvez vous être plus explicite sur le but de l'opération sans utiliser les termes technique Access, parce que je suis largué là.

    A toutes fins utiles, je mets une très petite base qui utilise 3 zones de liste et permet de récupérer dans une zone de texte la concaténation des choix.
    Tout se joue sur les propriétés :
    - Nombre de colonnes
    - Largeurs de colonnes
    - Colonne liée
    - Propriété Column des zones de liste.

    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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/04/2013, 16h45
  2. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  3. Réponses: 82
    Dernier message: 05/02/2011, 14h34
  4. tester une valeur et affecter une valeur
    Par Elise0251 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 29/07/2009, 16h31
  5. Réponses: 10
    Dernier message: 30/11/2006, 23h06

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