Le 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 les champs clés pour vos formulaires.
La sélection d'un ou de 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
- Assurer l'unicité des enregistrements lors de la saisie des données
- Aider les utilisateurs à rechercher les enregistrements liés lors de la saisie des données
- Faire correspondre les enregistrements liés lors de l'importation
- Indiquer à quels champs s'appliquent les verrous basés sur la date
Nous vous 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 automatiquement attribuer un identifiant unique, généré automatiquement, qui ne change jamais. L'ID d'enregistrement est utilisé pour stocker la relation entre deux enregistrements et est essentiel pour préserver l'intégrité référentielle, mais il n'est pas très convivial. Les champs clés permettent aux concepteurs de formulaires de fournir des identifiants alternatifs et faciles à lire pour les enregistrements.
Les ID d'enregistrement sont normalement cachés à l'utilisateur, mais vous pouvez les afficher dans la vue Formulaire en cliquant sur "Sélectionner les colonnes", puis en cochant "ID d'enregistrement" :
Si vous ne sélectionnez pas de champ clé, ActivityInfo utilise l'ID d'enregistrement, ce qui peut dérouter vos utilisateurs. Par exemple, si vous faites référence au 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 voulez.
Sélection d'un champ clé
Lorsque vous sélectionnez un champ clé dans votre formulaire, vous fournissez une alternative lisible à l'ID d'enregistrement pour votre formulaire. L'ID d'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 des 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 faites référence à 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 au lieu de l'ID d'enregistrement pour indiquer dans quelle province se trouve chaque clinique.
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 Ajout d'un champ de référence.
Si vous importez une liste de cliniques, le champ clé est utilisé pour trouver l'ID d'enregistrement de la province à faire correspondre :
Plusieurs champs clés
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 avec le nom "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 permettrait pas d'ajouter les deux enregistrements avec le même nom, même s'ils se trouvent dans des provinces différentes.
Dans 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, comme une "Distribution de fournitures", alors les champs Nom et Province seraient inclus comme champs de recherche 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 sous forme de deux colonnes dans la vue Tableau car il a deux champs clés.
Champs de numéro de série
Dans certains cas, il n'y a pas de combinaison de champs qui puisse 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 et Date de naissance comme champs clés peut ê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 "Jean Dupont" avec la même date de naissance.
Vous pouvez toujours vouloir 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 est 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 fait référence au 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 rendre les numéros de série plus faciles à utiliser.