# Dotnet > Gnral Dotnet > Dveloppement Office System > InfoPath >  [infopath 2003]Recuperer des donne d'un fichier acces

## Hokage

Bonjour,

  J'ai reussit a me connecter a un fichier access , Et donc j ai creer une liste deroulante avec la premiere colonne de ma base access et j aimerais savoir comment on fait pour des que je selectionne avec ma liste deroulante , d'autres champ sont replis automatiquement: par exemple :

Nom    |    Adresse    |  Code postal   |   Ville   |
----------------------------------------------
Durand | 1 rue neuve | 14000            |Caen

J ai creer ma liste deroulante comprenant le champ Nom et j aimerais que des que je choisit Durand , mes champ adresse , code postal et ville se remplisse tout seul.Comment dois-je proceder sachant que ma base de donne est en .mdb ??

----------


## virgul

Salut,

Dans les proprits de ta liste droulante tu as un bouton "Rgles".

Puis crer de rgle qui vont attribu telle ou telle valeur a un champ en fonction de tes conditions.

Si t'a liste est dans une section ou tableau rptitif tu dois utiliser current() mais je t'expliquerai si c'est ton cas.

++

Thierry

----------


## Hokage

j arrive a le faire pour la premiere ligne mais c'est pour les suivante par exemple si j ai 50 ligne dans ma base et que je clique sur le 4 eme nom il faut que l adresse soit celle qui va avec ! jusqu'a maintenant j arrive juste a afficher la premiere ligne quand je selectionne nimporte quel nom...
(je vois plutot sa comme un adressage (ex nom n12 => adresse n12...))

et si tu pouvais m'expliquer un peu la faon de gerer les regles sa me serais tres utile...

----------


## Hokage

Je suis vraiment desoler mais apres plusieurs essais je n'y arrive pas du tout, Quand je clique sur nimporte quel nom il me met la premiere ville de ma basse de donne et lorsque je change de nom la ville ne change pas  ::cry::  
Quelqu'un serais m'expliquer comment je dois proceder pour que mon nom de ville correct pour la personne que je choisit quelle sorte de regle je dois mettre ....

----------


## Hokage

Grace a Virgul j' ai enfin reussit a interagir avec ma base de donne, c'est pour cela que je vous communique comment le faire.

Explication du contexte:
Alors j ai tout simplement sur infopath une listebox et une case texte.
J ai une base de donne comprenant plusieurs champ dont deux champ , Prenom et ville.

Tout d'abord parametrage de la listebox pour que celle si affiche les Prenoms:
il faut faire une connexion de donne a la base de donne (ici Access) est suivre la liste ci dessous:

   -cliquer droit sur la listebox/proprit
   -au niveau de "Entres de la zone de liste" selectionner
    "Rechercher des valeurs dans une connexio de donne..."
   -En dessous indiquer votre base externe
   -Puis en entres cliquer sur le petit bouton a droite de la case
   -Ici je choisi prenom dans ma base
   -ensuite OK et revenez sur votre formulaire pour faire un aperu

Voila l'affectation de nom a la listebox et effective.Ensuite il nous reste plus qu'a parametrer une regle sur la listebox pour affecter directement une ville
dans ma case de texte.Suivre la liste ci dessous:

   -cliquer droit sur la listebox/proprit
   -Cliquer sur Rgles...
   -Faites ajouter, puis apres ajouter une action...
   -Dans Action choisissez "Definir la valeur d'un champ"
   -Dans Champ indiquer Le champ de la case texte
   -et pour la valeur cliquer sur le petit "fx" a droite
   -cliquer sur "inserer un champ ou un groupe..." et ici je selectionne ville
   -Ensuite je double-clique sur ville(souligner) et je clique sur "Filtrer les 
     donne..." puis enfin sur ajouter.
   -Donc dans la premiere liste je choisi ici Prenom et je reclique sur la liste 
    pour aller chercher "l'expression".
   -Apres dans la case de droite j'obtient ../@PRENOM = ""  a la place du "" 
    je met current() et ensuite cliqquer simplement sur OK et Appliquer pour 
    revenir sur le formulaire.

Vous pouvez alors faire un apperu pour voir le resultat.

Encore merci a virgul pour son aide precieuse qui m'a permis d'avancer la ou je n'y arrivais plus.

----------


## marco04

Bonjour, ca fait quelques jours que je me suis mis  Infopath pour raliser un questionnaire. J'ai russi  faire presque tout ce que je voulais, cependant j'aurai quelques petites questions.


Liste droulante en cascade : dans le formulaire, les utilisateurs doivent choisir le nom d'un village dans ma liste droulante (est-ce que je peux leur laisser le loisir de taper le nom du village plutot que de les laisser chercher.....prs de 1000 villages ?), la commune puis le cercle et enfin la rgion doivent s'afficher  ct. 
J'avais un fichier excel qui runissait ces infos. Je l'ai import dans Access. Puis j'ai connect ma BD  Infopath. J'ai pu ainsi suivre vos conseils. Cependant, quand j'applique la mthode Microsoft je n'arrive  afficher que quelques lignes de ma base de donne, et si j'applique la mtohde ci-dessus, quand je choisis un Village (par exemple) il m'affiche "true" ou "false" pour la rgion.

Qu'en pensez vous ?

Point de vue de la forme, est-il mieux de laisser les utilisateurs choisir le village dans une liste deroulante et afficher automatiquement la region, commune et cercle ou faut-il mieux inverser le raisonnement et laisser les gens choisir la region, puis filtrer les cercles correspondants, puis filtrer les communes correspondantes puis afficher les villages correspondants (ces infos sont en possession de l'utilisateur) ? (car la liste des villages est immense!)

Dernire question (excusez-moi si je vous ennuie  ::roll::  ) : Je voudrais  la fin du questionnaire pouvoir crer un bouton pour imprimer la page des rsultats, est-ce possible? Et quelle est la meilleur maniere d'exploiter des resultats ? (exporter vers excel?)


Merci pour votre aide


Marc

----------


## virgul

Salut,

Infopath 2003 ou 2007? 
Code? si oui lequel?

Peux tu donner le liens de la mthode Microsoft dont tu parles?
car ton true false ca ne me dit pas grand chose.

Concernant le qu'en pensez-vous je crois que tu rsume bien la situation choisir dans une liste avec 1000 entrs c'est galre...

Last: Oui c'est possible de faire un excel pour pouvoir l'imprimer ou commander l'impression mais il faut avoir au minimum office 2000 (avec le compatibility pack office 2007) ou office 2003 ou office 2007 si tu veux pouvoir le faire assez simplement... 

++

Thierry

Ps. ce sujet est rsolu il me paraitrait plus judicieux de faire un nouveau post. et tu n'a qu'a mettre le dbut de la discussin dans une citation (quote).

----------

