Champ clé est un paramètre que vous pouvez sélectionner lors de la conception d'un formulaire. Cet article explique le rôle des champs clés dans ActivityInfo, et comment sélectionner des champs clés pour vos formulaires.
La sélection d'un ou plusieurs champs clés est une étape importante dans la configuration de votre base de données avec des formulaires liés.
Introduction
Lors de la conception d'un formulaire, vous pouvez ajouter des champs avec des paramètres spéciaux. Lorsque vous marquez un champ comme champ clé dans votre formulaire, cela offre les avantages suivants :
Les champs clés jouent plusieurs rôles, notamment :
- Fournir un moyen d'étiqueter les enregistrements dans l'interface utilisateur
- Garantir l'unicité des enregistrements lors de la saisie des données
- Aider les utilisateurs à rechercher des enregistrements liés lors de la saisie des données
- Faire correspondre les enregistrements liés lors de l'importation
- Indiquer à quels champs les verrous basés sur la date s'appliquent
Nous recommandons vivement de sélectionner au moins un champ clé pour chaque formulaire que vous concevez.
Sans champs clés
Chaque enregistrement dans ActivityInfo se voit attribuer automatiquement un ID unique, généré automatiquement, qui ne change jamais. L'ID de l'enregistrement est utilisé pour stocker la relation entre deux enregistrements, et est essentiel pour préserver l'intégrité référentielle, mais n'est pas très convivial. Les champs clés sont un moyen pour les concepteurs de formulaires de fournir des identifiants alternatifs et faciles à lire pour les enregistrements.
Les ID d'enregistrement sont normalement masqués pour l'utilisateur, mais vous pouvez les afficher dans la vue du formulaire en cliquant sur « Sélectionner des colonnes » puis en cochant « ID de l'enregistrement » :
Si vous ne sélectionnez pas de champ clé, alors ActivityInfo utilise l'ID de l'enregistrement, ce qui peut dérouter vos utilisateurs. Par exemple, si vous référencez le formulaire Province sans sélectionner de champ clé pour le formulaire Province, vous devrez sélectionner une Province en trouvant son ID d'enregistrement :
Ce n'est probablement pas ce que vous souhaitez.
Sélectionner un champ clé
Lorsque vous sélectionnez un champ clé dans votre formulaire, vous fournissez une alternative lisible à l'ID de l'enregistrement pour votre formulaire. L'ID de l'enregistrement est toujours présent, mais ActivityInfo affiche le champ clé aux utilisateurs à la place.
Par exemple, si vous avez un formulaire Province avec une liste de provinces en Afghanistan, le champ « Nom » est le choix évident pour un champ clé :
Il n'y a pas deux provinces qui ont le même nom, donc sélectionner le champ Nom comme champ clé est un bon choix. Si vous essayez d'ajouter un enregistrement avec la même valeur pour le champ « Nom » qu'un enregistrement existant, vous recevrez un message d'erreur :
En plus de la vérification des doublons, le champ clé est utilisé par ActivityInfo pour « nommer » chaque enregistrement. Par exemple, si vous sélectionnez plusieurs enregistrements, ActivityInfo utilise la valeur de ce champ pour vous montrer quels enregistrements ont été sélectionnés :
Les champs clés deviennent encore plus importants lorsque vous référencez ce formulaire dans un autre formulaire. Par exemple, si j'ai un formulaire Clinique avec un champ de référence faisant référence au formulaire Province, le champ Nom de la Province sera utilisé pour la liste déroulante dans le formulaire de saisie de données :
Le champ clé est également affiché dans la vue tableau à la place de l'ID de l'enregistrement pour indiquer dans quelle Province chaque Clinique est située.
Par défaut, les champs clés sont utilisés pour rechercher des valeurs dans le formulaire de référence. Alternativement, vous pouvez sélectionner les champs que vous souhaitez utiliser pour la recherche ou ajouter vos propres formules personnalisées. Pour plus d'informations, consultez Ajouter un champ de référence.
Si vous importez une liste de cliniques, le champ clé est utilisé pour trouver l'ID de l'enregistrement de la Province à faire correspondre :
Champs clés multiples
Souvent, il n'y a pas un seul champ qui identifie de manière unique un enregistrement. Dans notre exemple des cliniques ci-dessus, imaginez qu'il y ait deux cliniques nommées « MSF Trauma Center » : une à Kunduz, et une à Kaboul :
Dans ce cas, nous ne pouvons pas faire du champ Nom de la Clinique le seul champ clé, car ActivityInfo ne nous laisserait pas ajouter les deux enregistrements avec le même nom, même s'ils se trouvent dans des provinces différentes.
Pour ce cas, nous devrions faire des champs Nom et Province des champs clés :
Maintenant, ActivityInfo autorise toute combinaison unique des deux champs clés. Par exemple, je pourrais ajouter un autre « MSF Trauma Center » dans la province de Nuristan, mais pas un autre « MSF Trauma Center » à Kaboul car cette combinaison existe déjà.
Si nous avions un troisième formulaire qui référençait les Cliniques, tel qu'une « Distribution de fournitures », alors les champs Nom et Province seraient tous deux inclus comme champs de référence en cascade :
Les deux champs clés sont également affichés dans la vue Tableau. Même si « Clinique » est un seul champ, il sera affiché par défaut sur deux colonnes dans la vue Tableau car il a deux champs clés.
Champs de numéro de série
Dans certains cas, aucune combinaison de champs ne peut identifier de manière unique un enregistrement. Par exemple, lors du suivi d'un petit groupe de bénéficiaires, l'utilisation des champs Prénom, Nom de famille et Date de naissance comme champs clés pourrait être suffisante car il est peu probable de trouver quelqu'un avec le même nom et la même date de naissance.
Cependant, à mesure que la population augmente, cela devient intenable. Vous finirez par trouver deux « John Smith » avec la même date de naissance.
Vous voudrez peut-être toujours un moyen convivial d'étiqueter et d'identifier les enregistrements. Dans ce cas, vous pouvez ajouter un champ Numéro de série, qui attribue un numéro séquentiel à chaque nouvel enregistrement.
Ce numéro de série sera alors le seul champ clé du formulaire et est également utilisé pour rechercher des enregistrements. Par exemple, si nous avions un formulaire « Bilan de santé » qui référence le formulaire Bénéficiaire, nous devrions sélectionner un ID de bénéficiaire :
Il n'est pas possible de combiner un champ Numéro de série avec d'autres champs clés dans le même formulaire. Cependant, vous pouvez utiliser des formules de préfixe de numéro de série pour inclure des informations significatives dans le code afin de faciliter l'utilisation des numéros de série.