Problème pour récupérer une donnée d’une autre table à partir d’un formulaire

  • Problème pour récupérer une donnée d’une autre table à partir d’un formulaire

    Posté par Lou sur 25 janvier 2024 à 14h46

    Bonjour cher communauté !

    J’ai un problème pour récupérer des données relationnelles.

    J’ai deux tables :

    • Client : Avec un ID et un attribue de recherche ID_Entreprise dont la relation se fait correctement
    • Entreprise : Avec un ID en clé primaire

    J’ai ensuite une gallery basé sur la base client, qui me permet se selectionner un client, et à gauche, un formulaire basé sur client. Dans mon formulaire, grâce au relationnel, je peux faire apparaitre l’ID de l’entreprise.

    Quel formule utiliser pour remplacer l’ID de l’entreprise par son nom ??

    Pour l’instant la formule de ma DataCardValue8 qui affiche l’ID Entreprise est : Items=Choices([@Client].ID_Entreprise)

    Charles a répondu Il y a 8 mois, 3 semaines 2 Membres · 18 Réponses
  • 18 Réponses
  • Charles

    Membre
    25 janvier 2024 à 15h07

    Bonjour Lou,

    Peut-être qu’un petit screen annoté permettrait d’avoir plus de réponses?

    De ce que je comprends, tu as une bdd avec une colonne type Lookup qui renvoie l’ID d’une entreprise pour chaque client. Tu souhaites que dans le form de modification client, au lieu d’une liste déroulante avec les ID, ce soit une liste avec les Noms qui apparaissent, c’est ça?

    • Lou

      Membre
      25 janvier 2024 à 15h16

      Bonjour Charles, oui c’est excatement ça 🙂 As-tu la solution ?

      Mes deux Tables GEntite et GApporteur d’affaire son relié comme suit.

      Dans mon application je veux qu’au lieux de la comboliste Entite-001, il y ai le nom (qui se trouve dans la table GEntite)

  • Charles

    Membre
    25 janvier 2024 à 16h08

    Alors j’ai une solution, après est-ce que c’est la plus simple, je ne sais pas.

    Etape 1, tu dévérouilles ton champ ID_Entite dans ton form

    Ensuite toujours avec la dataCard sélectionnée, tu ajoutes une zone de liste déroulante que tu passes en SelectMultiple = false.

    Cette liste tu la lies aux données de tes entreprises puis en champ d’affichage tu sélectionnes le champ de Nom

    Dans Cette liste, tu définis DefaultSelectedItem pour afficher la valeur actuelle de nom de l’entreprise de l’utilisateur sélectionné

    Ca donne un résultat de ce style (j’ai mis les 2 combobox l’une au dessus de l’autre pour que ce soit parlant)

    Ensuite tu changes le default selected item du champ qui affiches actuellement l’ID pour afficher toujours l’ID qui correspond à la liste des Noms en clair

    Normalement à ce stade, quand tu changes le nom de la liste du bas, tu as automatiquement l’ID correspondant dans le champ du haut

    Ensuite il te suffit de superposer les 2 champs et de passer le champ qui affiche l’ID en Visible=false pour ne voir que le champ qui affiche les noms. Le formulaire soumis avec SubmiForm prendra en compte la valeur du champ masqué qui lui affiche toujours l’ID correspondant au nom choisi

    • Lou

      Membre
      25 janvier 2024 à 16h31

      Hello Charles,

      Merci pour toutes ces infos.

      J’ai un bug dans la formule de la combo box :

      A quoi correspond ‘Title’ dans ta formule ?

  • Charles

    Membre
    25 janvier 2024 à 17h18

    Mon Title est la colonne contenant l’ID de mon entreprise dans La liste entreprise

    • Lou

      Membre
      25 janvier 2024 à 17h21

      Ce qui correspond bien chez moi à ID_Entite, avez-vous une idée d’ou mon erreur peut elle venir?

  • Charles

    Membre
    25 janvier 2024 à 17h24

    Je ne vois pas la formule en entier sur le screen

    • Lou

      Membre
      25 janvier 2024 à 17h28

      • Charles

        Membre
        25 janvier 2024 à 17h29

        Est-ce que tu peux afficher la structure Gallery_AF.Selected.’ID_Entite’?

        Normalement quand on met le . après il propose les propriétés:

        • Cette réponse a été modifiée Il y a 8 mois, 3 semaines par  Charles.
        • Cette réponse a été modifiée Il y a 8 mois, 3 semaines par  Charles.
        • Cette réponse a été modifiée Il y a 8 mois, 3 semaines par  Charles.
        • Lou

          Membre
          25 janvier 2024 à 17h34

          Comment affiche-on la structure d’une fonction sur powerApp ?

          • Lou

            Membre
            25 janvier 2024 à 17h37

            Comment affiche-on la structure d’une fonction sur powerApp ?

            J’ai les deux erreurs suivantes :

          • Charles

            Membre
            25 janvier 2024 à 17h37

            En sélectionnant la partie de la formule puis en cliquant sur la flèche en bas à gauche

            Si elle n’apparait pas tu peux aussi ajouter un bouton et collecter les données:

            ClearCollect(col_Test;Gallery1.Selected.’Entreprise ID’) en remplaçant par tes valeurs

            Ensuite il faut aller dans le volet de variable pour aller chercher la collection:

            • Cette réponse a été modifiée Il y a 8 mois, 3 semaines par  Charles.
            • Lou

              Membre
              25 janvier 2024 à 17h44

              Avec la fonction que tu m’as envoyé, rien ne c’est passé, la collection est vide…

  • Charles

    Membre
    25 janvier 2024 à 17h45

    Ce n’est pas le bon menu, il faut aller dans les variables:

    • Lou

      Membre
      25 janvier 2024 à 17h48

      Merci,

      • Charles

        Membre
        25 janvier 2024 à 17h49

        Du coup au lieu de .Value il faut mettre .crc5b_id_entite

        • Cette réponse a été modifiée Il y a 8 mois, 3 semaines par  Charles.
        • Lou

          Membre
          25 janvier 2024 à 17h59

          Merci, pour je n’ai plus d’erreur et à la lecture du formulaire, le nom de l’entreprise correspond bien à l’ID.

          Par contre quand je change le nom, ça n’actualise pas L’ID.

          As-tu une idée ?

          De plus quand je valide mon enregistrement, la valeur de l’ID, si je la modifie, ne change pas. Il y a il une subtilité quand on envoi un donnée qui provient d’une rechercher avec une autre table ?

          • Charles

            Membre
            25 janvier 2024 à 18h01

            La formule doit être dans DefaultSelectedItems. Dans Items il faut laisser la valeur par défaut

Connectez-vous pour répondre.