Pbl Access

Bonjour,
Je ne m'y connais pas beaucoup en création de formulaire, j'aurais donc besoin de votre aide :

J'aimerais relier une zone de texte d'un sous formulaire (exemple : Prix de l'album) à une liste déroulante situé dans le Formulaire principal.
Exemple : Dans le formulaire, j'ai une liste déroulante. Je choisis "l'album A". Je voudrais que cette sélection corresponde à un prix (13€). Je choisi "l'album B", Je voudrais que cette selection corresponde à un prix (15€). Etc...

Merci D'avance
Configuration: Windows XP
Firefox 3.0.4

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. J'aurais besoin de plus de précision.

    Est-ce que le prix et le nom de l'album font partie d'un même enregistrement dans une même table? Et le formulaire principal a-t-il comme source cette table?
    1. Les nom des albums et les prix font partie de tables différentes.
      Et le formulaire principal a pour source la table Album.
      1. Modérateur
        Salut,

        tu peux utiliser la fonction dlookup qui va rechercher un champ dans une table en fonction de certains critères.

        Ex :

        - Une table t_disque (id_album, nom, ...)
        - Une table t_prix (id_album, prix, ...)
        - Ta zone de liste s'appelle choix_album (elle renvoie l'identifiant de l'album : id_album), elle est dans le sous-formulaire ss_form1
        - Ta zone de texte à remplir s'appelle aff_prix, elle est dans le formulaire qui a un nom dont on se fiche complètement

        Tu crées un évènement 'sur changement' dans ta zone de liste et tu y colles le code suivant :

        me.ss_form1![aff_prix].value = dlookup("prix", "t_prix", "id_album = " & choix_album.Value)

        Ca devrait le faire (aux erreurs de syntaxe près :-))
        1. Je suis vraiment désolé mais il n'est pas possible que la zone déroulante soit dans le formulaire et les prix dans le sous formulaire ?
          1. Modérateur
            pardon, j'ai inversé mes explications : la liste est bien dans le formulaire et le champ texte est bien dans le sous-form :-)