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 de champs à la sélection d'un champ d'entrée.


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Electricien - Outilleur
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Electricien - Outilleur
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Remplissage automatique de champs à la sélection d'un champ d'entrée.
    Bonjour, Je voudrais savoir comment effectuer le remplissage automatique des champs suivants le champ sélectionné au lancement du formulaire. Je m'explique : J'ai un formulaire "fiche individuelle agent" dotée des champs "nom", "prénom", "équipe", etc... Je voudrais qu'au remplissage du champ "nom", les autres champs se mettent à jour. Tous ces champs sont issus d'une base "agents". Merci pour votre réaction.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 31
    Points
    31
    Par défaut Reponse
    Tu peux faire cela par le biais d'une requête par vba

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim dbs As dao.Database
    Dim rst As dao.Recordset
    dim req as string
     
    Set dbs = CurrentDb  
    req = "select prenom, nom, equipe from tatableici where nom=forms![nomduformulairedesaisie].nomdetonchampNom.value"
    Set rst = dbs.OpenRecordset(req, dbOpenSnapshot)
    forms![nomduformulairedesaisie].nomdetonchampPrenom.value= rst.Fields(0)
    forms![nomduformulairedesaisie].nomdetonchampEquipe.value= rst.Fields(2)
     
    rst.Close
    Set rst = Nothing

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Electricien - Outilleur
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Electricien - Outilleur
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par mennick Voir le message
    Tu peux faire cela par le biais d'une requête par vba

    Dim dbs As dao.Database
    Dim rst As dao.Recordset
    dim req as string

    Set dbs = CurrentDb
    req = "select prenom, nom, equipe from tatableici where nom=forms![nomduformulairedesaisie].nomdetonchampNom.value"
    Set rst = dbs.OpenRecordset(req, dbOpenSnapshot)
    forms![nomduformulairedesaisie].nomdetonchampPrenom.value= rst.Fields(0)
    forms![nomduformulairedesaisie].nomdetonchampEquipe.value= rst.Fields(2)

    rst.Close
    Set rst = Nothing
    Bonjour, je reviens sur mon programme après un arrêt car je ne fais la programmation que par moments (comme innovation) car ce n'est qu'en plus de mon travail. Voilà mon souci : Sur la ligne marquée en rouge, j'ai une erreur "Pas assez de paramètres". D'où cela peut-il provenir ? J'ai essayé de créer mon formulaire avec l'assistant mais il y a des comportements étranges dans le remplissage des champs, est-ce à cause de plusieurs tables dans le même formulaire ?

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    si le champ de ton formulaire est utilisé dans la requête et que ce formulaire est ouvert, il faut mettre ce paramètre en dehors de la chaine de caractères :
    - chaine de caractère entre apostrophes : "select prenom, nom, equipe from tatableici where nom= "
    - paramètre contenant la valeur à filtrer hors apostrophes : & forms![nomduformulairedesaisie].nomdetonchampNom.value

    Tu peux aussi remplacer ceci forms![nomduformulairedesaisie] par Me qui représente l'objet en cours dans le code VBA du même objet.
    Et si le champ Nom (attention : mot réservé, il faut des crochets pour éviter des effets inattendus) est du texte, il faut doubler les apostrophes à l'intérieur des apostrophes de la chaine de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req= "select prenom, [nom], equipe from tatableici where [nom]= """ & Me.nomdetonchampNom & """"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    je m'immisce dans votre discussion.

    J'ai un problème identique.
    J'ai fait comme indiqué par Mennick et j'ai le même diagnostic que Drarvu099.

    Après avoir été voir sur le site msdn.microsoft.com , j'ai essayé de mettre en plus les paramètres facultatifs ce qui m'a donné
    Set rst = dbs.OpenRecordSet (req, dbOpenSnapShot, dbFailOnError, dbPessimistic)
    Mais ça beugue toujours avec le même diagnostic: "Trop peu de paramètres. 1 attendu."

    J'attends la réponse de Yannick avec intérêt.
    Cordialement

  6. #6
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Rebonsoir,

    J'ai fait comme préconisé par tee_grandbois mais le problème reste identique.

    Cordialement

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    tu n'as pas posté le contenu de req, du coup pas facile de savoir ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Encore moi !

    Tee_grandbois, il y a un problème avec ce que tu écris:
    req= "select prenom, [nom], equipe from tatableici where [nom]= """ & Me.nomdetonchampNom & """"

    Je pense qu'il faudrait le corriger comme suit

    req= "select prenom, [nom], equipe from tatableici where [nom]= " & ""Me.nomdetonchampNom & """"
    Mais ça entraine une erreur de compilation : "Fin d'instruction attendue" après le &"", ce qui se comprend le "" est compris comme chaine vide .

    Ou encore:
    req= "select prenom, [nom], equipe from tatableici where [nom]= " & ""Me.nomdetonchampNom"" & "" (ou encore à la fin & """")
    Même erreur de syntaxe trouvée à la compilation.

    Je donne ma langue au chat !

    Je précise que dans mon cas, les champs et tables sont personnalisés : req = "Select NDo From ListeDo where Domaine= Me.DomaineLC.Value"

    Merci déjà

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Tee_grandbois, il y a un problème avec ce que tu écris:
    req= "select prenom, [nom], equipe from tatableici where [nom]= """ & Me.nomdetonchampNom & """"
    ah bon et tu as testé je suppose ...
    relis ce que j'ai écris ici :
    si le champ de ton formulaire est utilisé dans la requête et que ce formulaire est ouvert, il faut mettre ce paramètre en dehors de la chaine de caractères :
    - chaine de caractère entre apostrophes : "select prenom, nom, equipe from tatableici where nom= "
    - paramètre contenant la valeur à filtrer hors apostrophes : & forms![nomduformulairedesaisie].nomdetonchampNom.value
    req = "Select NDo From ListeDo where Domaine= Me.DomaineLC.Value"devrait être :
    req = "Select NDo From ListeDo where Domaine=" & Me.DomaineLC.Value ou
    req = "Select NDo From ListeDo where Domaine=""" & Me.DomaineLC.Value & """" si Domaine est du texte
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci tee_grandbois,

    ça marche impeccablement.

    Bien que ne l'ayant pas écrit dans mon message, j'avais testé l'instruction telle que tu l'avais écrite, mais j'avais du faire une faute de frappe, car ça ne marchait pas.
    Je dois être plus frais ce matin !

    Merci encore

    Cordialement

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Electricien - Outilleur
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Electricien - Outilleur
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Toujours le même problème de remplissage formulaire.
    J'ai inséré le code donné plus haut dans la conversation mais maintenant j'ai une erreur (ci-jointe) lors de l'ouverture du formulaire. Exécution de la procédure mais sans le résultat attendu.
    Dans les pièces jointes, l'erreur ainsi que la ligne la provoquant et mes tables avec les champs utilisés.

    A quoi correspond le paramètre entre parenthèses dans l'instruction "rst.Fields(0)" ?
    Merci déjà pour vos réactions face à ce problème.
    Images attachées Images attachées      

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Bonjour
    pour l'erreur 2465 : je pense que c'est parce qu'il manque un espace entre [Fonction] et From
    A quoi correspond le paramètre entre parenthèses dans l'instruction "rst.Fields(0)"
    C'est le premier champ de la requête req: (select [NomAgent], [PrenomAgent] ...) car Fields est comme un tableau indexé.
    rst.Fields(0) correspond au 1er champ :[NomAgent]
    rst.Fields(1) correspond au 2ème champ :[PrenomAgent]

    Mais le mieux c'est de l'écrire comme cela car c'est plus lisible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[PrenomAgent] = rst.Fields("[PrenomAgent]")
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Ton modèle de données n'est pas très bien fait : tu utilises une table TblAgents qui a la même clé primaire que TblFicheAgents (Immatriculation) et en plus les 2 tables ont les mêmes champs en commun.
    Pour moi, il ne devrait y avoir qu'une seule table ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Electricien - Outilleur
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Electricien - Outilleur
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Maintenant après la correction de l'espace (erreur de syntaxe) et transformation de la ligne Me.[PrenomAgent] = rst.Fields("[PrenomAgent]") (qui paraît effectivement plus claire), j'ai une nouvelle erreur (ci-jointe). Décidément, ce n'est pas simple à coder pour une fonction basique qui devrait être créée avec l'assistant formulaire !!! Et encore merci pour vos réponse au "tac au tac".
    Images attachées Images attachées  

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    sur quelle instruction ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. [WD18] Remplir des champs par sélection d'un champ combo
    Par MDeacon7 dans le forum WinDev
    Réponses: 6
    Dernier message: 22/01/2015, 00h34
  2. Remplissage automatique d'un champ
    Par ced_noob dans le forum Access
    Réponses: 4
    Dernier message: 09/09/2014, 10h50
  3. Réponses: 2
    Dernier message: 20/06/2009, 18h46
  4. Réponses: 4
    Dernier message: 22/05/2006, 15h41
  5. [MySQL] Remplissage automatique des champs d'un formulaire
    Par dodji05 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/04/2006, 16h11

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