Partager via


découvrir les sources de données pour les applications canevas

La plupart des applications Power Apps utilisent des informations externes stockées dans des services cloud appelées Sources de données. Un exemple courant est une table dans un fichier Excel stocké dans OneDrive. Les applications accèdent à ces sources de données à l’aide de connexions.

Cet article décrit les différents types de sources de données et la façon d’utiliser les sources de données au format table.

Vous pouvez facilement créer une application qui effectue les fonctions basiques de lecture et d’écriture sur une source de données. Mais parfois, vous préférez contrôler davantage la manière dont vos données circulent dans et en dehors de votre application. Cet article décrit comment les fonctions Patch, DataSourceInfo, Validate et Errors peuvent vous donner plus de contrôle.

Types de sources de données

Les sources de données peuvent être connectées à un service cloud ou être stockées en local dans une application.

Sources de données connectées

Les sources de données les plus courantes sont les tableaux qui vous permettent de récupérer et de stocker des informations. Vous pouvez utiliser les connexions aux sources de données pour lire et écrire des données dans des classeurs Microsoft Excel, des listes créées avec Listes Microsoft, des bibliothèques SharePoint, des tables SQL et de nombreux autres formats, qui peuvent être stockés dans des services cloud comme OneDrive, DropBox et SQL Server.

Les sources de données autres que les tableaux sont le courrier électronique, les calendriers, Twitter et les notifications, mais cet article ne les aborde pas.

Sources de données locales

Avec les contrôles Galerie, Afficher le formulaire et Modifier le formulaire, vous pouvez créer facilement une application qui lit et écrit des données à partir d’une source de données. Pour commencer, voir Comprendre les formulaires de données.

Lorsque vous demandez à Power Apps de créer une application à partir des données, ces contrôles sont utilisés. Dans les coulisses, l’application utilise une table interne pour stocker et manipuler les données provenant de la source de données.

Un type spécial de source de données est la collection, qui est locale à l’application et qui n’est pas appuyée par une connexion à un service dans le cloud. Par conséquent, les informations ne peuvent pas être partagées entre les appareils d’un même utilisateur ou entre utilisateurs. Les collections peuvent être chargées et enregistrées localement.

Types de tables

Les tables internes à une application sont des valeurs fixes, tout comme un nombre ou une chaîne est une valeur. Les tables internes ne sont pas stockées n’importe où, mais existent dans la mémoire de votre application. Vous ne pouvez pas modifier directement la structure et les données d’une table. À la place, vous pouvez créer une table via une formule : cette formule vous permet d’effectuer une copie modifiée de la table d’origine.

Les tables externes sont stockées dans une source de données pour les partager et les récupérer ultérieurement. Power Apps fournit des « connexions » pour lire et écrire des données stockées. Dans une connexion, vous pouvez accéder à plusieurs tables de données. Vous pouvez sélectionner les tables à utiliser dans votre application et chacune devient une source de données distincte.

Pour en savoir plus, voir Utilisation des tables pour obtenir des informations sur les tables internes, mais aussi sur les tables externes résidant dans un service cloud.

Utilisation des tables

Vous pouvez utiliser les sources de données de table de la même façon qu’un table Power Apps interne. À l’instar d’une table interne, chaque source de données comprend des enregistrements, des colonneset des propriétés que vous pouvez utiliser dans les formules. Par ailleurs :

  • La source de données a les mêmes noms de colonnes et types de données que la table sous-jacente dans la connexion.

    Nonte

    Pour des sources de données SharePoint et Excel contenant des noms de colonne avec des espaces, Power Apps remplace les espaces par "_x0020_". Par exemple, le "Nom de colonne" dans SharePoint ou Excel apparaît comme "Column_x0020_Name" dans Power Apps quand il est affiché dans la disposition de données ou utilisé dans une formule.

  • La source de données est automatiquement chargée à partir du service lorsque l’application est chargée. Vous pouvez forcer l’actualisation des données à l’aide de la fonction Refresh.

  • À mesure que les utilisateurs exécutent une application, ils peuvent créer, modifier et supprimer des enregistrements et transmettre ces modifications à la table sous-jacente dans le service.

    • Les enregistrements peuvent être créés avec les fonctions Patch et Collect.
    • Les enregistrements peuvent être modifiés avec les fonctions Patch, Update et UpdateIf.
    • Les enregistrements peuvent être supprimés avec les fonctions Remove et RemoveIf.
    • Les erreurs lorsque vous utilisez une source de données sont disponibles via la fonction Errors.
  • Les fonctions DataSourceInfo, Defaults et Validate fournissent des informations sur la source de données que vous pouvez utiliser pour optimiser l’expérience utilisateur.

Création de sources de données

Power Apps ne peut pas être utilisé pour créer une source de données connectée, ni pour modifier sa structure ; la source de données doit déjà exister dans un service quelque part. Par exemple, pour créer une table dans un classeur Excel stocké sur OneDrive, vous utilisez tout d’abord Excel Online sur OneDrive pour créer un classeur. Ensuite, vous créez une connexion vers celui-ci à partir de votre application.

Toutefois, les sources de données de collection peuvent être créées et modifiées à l’intérieur d’une application, mais sont uniquement temporaires.

Afficher un ou plusieurs enregistrements

Flux d’informations lorsqu’une application lit les informations dans une source de données.

Ce diagramme montre le flux d’informations lorsqu’une application lit les informations contenues dans une source de données :

  • Les informations sont stockées et partagées via un service de stockage (dans ce cas, Listes Microsoft ou SharePoint en ligne).
  • Une connexion rend ces informations disponibles pour l’application. La connexion prend en charge l’authentification de l’utilisateur pour accéder aux informations.
  • Lorsque l’application est lancée ou quand vous appuyez sur la fonction Refresh, les informations sont extraites à partir de la connexion vers une source de données dans l’application pour une utilisation locale.
  • Les formules sont utilisées pour lire les informations et les exposer dans des contrôles que l’utilisateur peut voir. Vous pouvez afficher les enregistrements d’une source de données à l’aide d’une galerie sur un écran et en reliant la propriété Items à la source de données : Galerie.Items = DataSource. Vous reliez les contrôles dans la galerie, vers la galerie, à l’aide de la propriété Default des contrôles.
  • La source de données est également une table. Vous pouvez donc utiliser les fonctions Filter, Sort, AddColumns et d’autres pour affiner et compléter la source de données avant de l’utiliser comme un tout. Vous pouvez également utiliser les fonctions Lookup, First, Last et d’autres pour travailler avec des enregistrements individuels.

Modifier un enregistrement

Les flèches dans le diagramme précédent sont unidirectionnelles. Les modifications apportées à une source de données ne sont pas transmises via les mêmes formules que celles permettant la récupération des données. Au lieu de cela, de nouvelles formules sont utilisées. Un autre écran, différent de celui permettant de parcourir les enregistrements, est souvent utilisé pour modifier un enregistrement, en particulier sur un appareil mobile.

Pour modifier un enregistrement existant d’une source de données, l’enregistrement doit initialement provenir de la source de données. L’enregistrement peut s’afficher dans une galerie, une variable contextuelle et n’importe quel nombre de formules, mais son origine doit être traçable jusqu’à la source de données. Des informations supplémentaires sont transmises avec l’enregistrement qui les identifie de façon unique, ce qui garantit que vous modifiez le bon enregistrement.

Flux d’informations pour mettre à jour une source de données. Ce diagramme montre le flux d’informations pour mettre à jour une source de données :

  • Un contrôle Modifier le formulaire fournit un conteneur pour les cartes d’entrée, qui sont constituées de contrôles d’entrée utilisateur, comme un contrôle d’entrée de texte ou un curseur. Les propriétés DataSource et Item sont utilisées pour identifier l’enregistrement à modifier.
  • Chaque carte d’entrée a une propriété Default, qui est définie sur le champ de l’enregistrement ThisItem du formulaire. Les contrôles au sein de la carte d’entrée extraient leurs valeurs d’entrée de Default. Normalement, vous n’avez pas besoin de modifier cette valeur par défaut.
  • Chaque carte d’entrée expose une propriété Update. Cette propriété mappe l’entrée de l’utilisateur à un champ spécifique de l’enregistrement pour l’écriture sur la source de données. Normalement, vous n’avez pas besoin de modifier cette propriété.
  • Un contrôle Bouton ou Image à l’écran permet à l’utilisateur d’enregistrer les modifications apportées à l’enregistrement. La formule OnSelect appelle la fonction SubmitForm pour faire ce travail. SubmitForm lit toutes les propriétés Update des cartes et les réécrit dans la source de données.
  • Parfois, des problèmes se produisent. Une connexion réseau peut être désactivée ou le service effectue un contrôle de validation sans que l’application ne le sache. Les propriétés Error et ErrorKind du contrôle Form rendent ces informations disponibles pour que vous puissiez les afficher pour l’utilisateur.

Pour un contrôle plus poussé du processus, vous pouvez également utiliser les fonctions Patch et Errors. Le contrôle Modifier le formulaire expose une propriété Updates afin que vous puissiez lire les valeurs des champs dans le formulaire. Vous pouvez également utiliser cette propriété pour appeler un connecteur personnalisé sur une connexion, en contournant complètement les fonctions Patch et SubmitForm.

Validation

Avant d’apporter une modification à un enregistrement, l’application doit faire tout son possible pour s’assurer que la modification est acceptable. Il y a deux raisons de le vérifier :

  • Commentaires immédiats à l’utilisateur. Le meilleur moment pour résoudre un problème est dès qu’il survient, quand l’utilisateur sait encore de quoi il s’agit. Avec littéralement chaque touche ou combinaison de touches, du texte en rouge peut s’afficher et identifier un problème relatif à l’entrée.
  • Moins de trafic réseau et moins de latence pour l’utilisateur. La détection d’un plus grand nombre de problèmes dans l’application signifie moins de conversations sur le réseau pour détecter et résoudre les problèmes. Chaque conversation prend un certain temps pendant lequel l’utilisateur doit attendre avant de passer à autre chose.

Power Apps propose deux outils pour la validation :

  • La source de données peut fournir des informations sur ce qui est valide et ce qui ne l’est pas. Par exemple, les nombres peuvent avoir des valeurs minimales et maximales, et une ou plusieurs entrées peuvent être nécessaires. Vous pouvez accéder à ces informations avec la fonction DataSourceInfo.
  • La fonction Validate utilise ces mêmes informations pour vérifier la valeur d’une seule colonne ou d’un enregistrement complet.

Gestion des erreurs

Maintenant que vous avez validé votre enregistrement, mettez-le à jour avec Patch.

Mais, il se peut qu’il y ait toujours un problème. Le réseau est désactivé, la validation du service a échoué ou l’utilisateur ne dispose pas des autorisations appropriées, pour ne citer que quelques-unes des erreurs possibles que votre application peut rencontrer. Votre application doit répondre de façon appropriée aux situations d’erreur, en fournissant à l’utilisateur des commentaires et des solutions aux problèmes.

Lorsque des erreurs se produisent avec une source de données, votre application enregistre automatiquement les informations d’erreur et les rend disponibles via la fonction Errors. Les erreurs sont associées aux enregistrements ayant des problèmes. Si le problème peut être corrigé par l’utilisateur, comme un problème de validation, il peut renvoyer l’enregistrement et les erreurs sont effacées.

Si une erreur se produit lorsqu’un enregistrement est créé avec Patch ou Collect, il n’existe aucun enregistrement à associer aux erreurs. Dans ce cas, une valeur vide est renvoyée par Patch, qui peut être utilisée comme argument d’enregistrement pour Errors. Les erreurs de création sont effacées à l’opération suivante.

La fonction Errors renvoie une table d’informations d’erreur. Ces informations peuvent inclure des informations de colonnes si l’erreur peut être attribuée à une colonne particulière. Utilisez des messages d’erreur au niveau des colonnes dans les contrôles d’Étiquettes qui sont proches de l’endroit où la colonne se trouve sur l’écran de modification. Utilisez des messages d’erreur au niveau des enregistrements là où la colonne dans la table d’erreur est vide, dans un emplacement proche du bouton Enregistrer pour l’ensemble de l’enregistrement.

Utilisation de sources de données volumineuses

Lorsque vous créez des rapports à partir de sources de données volumineuses (peut-être des millions d’enregistrements), vous souhaitez réduire le trafic réseau. Supposons que vous vouliez créer un rapport sur tous les Clients ayant Platinum comme StatusCode à New York. Votre table Clients contient des millions d’enregistrements.

Vous ne souhaitez pas importer ces millions de clients dans votre application, puis choisir ceux que vous souhaitez. Le choix doit être effectué dans le service cloud dans lequel votre table est stockée, où vous envoyez les enregistrements choisis sur le réseau.

La plupart, mais pas toutes, les fonctions que vous pouvez utiliser pour choisir des enregistrements peuvent être déléguées, ce qui signifie qu’elles sont exécutées dans le service cloud. Pour en savoir plus, consultez Délégation.

Collections

Les collections sont un type spécial de source de données. Ils sont locaux à l’application et ne sont pas soutenus par une connexion à un service dans le cloud. Par conséquent, les informations ne peuvent pas être partagées entre les appareils d’un même utilisateur ou entre utilisateurs.

Les collections fonctionnent comme toute autre source de données, à quelques exceptions près :

  • Les collections peuvent être créées dynamiquement avec la fonction Collect. Il n’est pas nécessaire qu’elles soient établies à l’avance, à l’inverse des sources de données basées sur une connexion.
  • Les colonnes d’une collection peuvent être modifiées à tout moment à l’aide de la fonction Collect.
  • Les collections autorisent les enregistrements en double. Plusieurs copies du même enregistrement peuvent exister dans une collection. Les fonctions telles que Remove fonctionnent sur la première correspondance qu’elles trouvent, sauf si l’argument All est fourni.
  • Vous pouvez utiliser les fonctions SaveData et LoadData pour enregistrer et recharger une copie de la collection. Les informations sont stockées dans un emplacement privé auquel les autres utilisateurs, applications ou appareils n’ont pas accès.
  • Vous pouvez utiliser les contrôles Exporter et Importer pour enregistrer et recharger une copie de la collection dans un fichier avec lequel l’utilisateur peut interagir.

Pour plus d’informations sur l’utilisation d’une collection en tant que source de données, consultez l’article Créer et mettre à jour une collection dans votre application.

Les collections sont couramment utilisées pour conserver l’état global de l’application. Consultez Utilisation des variables pour connaître les options disponibles pour gérer l’état.