Création d’une règle de vérification de base de données
- Ouvrez la boîte de dialogue des propriétés du champ (cliquez avec le bouton droit sur le champ pour ouvrir son menu contextuel, puis sélectionnez Properties…) ou la boîte de dialogue des propriétés de la définition de document (dans le menu du définition de document Editor, sélectionnez définition de document → définition de document Properties…).
- Accédez à l’onglet Rules.
- Cliquez sur le bouton New Rule…
- Dans la liste des types de règles, sélectionnez Database Check, puis cliquez sur OK.
- Saisissez le nom de la règle.
- Désactivez l’option Show rule name in message to verifier si nécessaire. Si cette option est désactivée, le message d’erreur s’affichera sous la forme « message d’erreur » au lieu de « nom de la règle : message d’erreur ».
- Spécifiez la gravité de la règle.
- Si nécessaire, spécifiez les conditions dans lesquelles la règle doit être appliquée (par défaut, une règle est appliquée sans condition). Voir Conditions d’application des règles pour plus d’informations.
- Spécifiez des balises pour la règle.
- Désactivez l’option Enabled rule si nécessaire. La règle sera créée, mais elle ne sera pas appliquée tant que cette option n’aura pas été activée par un utilisateur.
- Cliquez sur Next >.
- Configurez une connexion à la source de données en spécifiant son type et ses paramètres de connexion. Les sources de données suivantes sont prises en charge :
- External Database (Simple) La connexion à la base de données externe est configurée pour chaque règle dans la définition de document.
- External Database (Variable) La connexion à la base de données externe est configurée uniquement dans les propriétés du projet (Propriétés du projet → Variables d’environnement). Ce type de source de données peut être utilisé simultanément pour plusieurs règles. Si vous utilisez une autre base de données pour le projet, vous devrez modifier les paramètres de connexion uniquement dans les propriétés du projet.
- jeu de données La connexion au jeu de données est configurée par l’utilisateur dans les propriétés de la définition de document (définition de document Properties → Jeux de données). Conseil. Nous vous recommandons de sélectionner l’un des fournisseurs OLE DB suivants :
- Lors de l’exportation vers SQL, privilégiez OLE DB Provider for ODBC Drivers
- Lors de l’exportation vers Oracle, privilégiez Oracle Provider for OLE DB (pour plus de détails, voir Exportation vers une base de données Oracle) Remarque : Pour éviter de saisir le mot de passe à chaque connexion à la base de données, sélectionnez l’option Allow saving password ou configurez la base de données de sorte qu’aucun mot de passe ne soit requis pour s’y connecter (par exemple, vous pouvez utiliser l’authentification Windows).
- Sélectionnez le schéma et la table de base de données requis dans les listes déroulantes, ou spécifiez le jeu de données requis si vous configurez une connexion à une source de type jeu de données. Remarque : Si Find in all schemas est sélectionné comme schéma et que la table spécifiée n’est pas incluse dans le schéma par défaut, le message d’erreur suivant peut s’afficher : [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name K1. [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. Si ce message d’erreur apparaît, le nom du schéma contenant la table doit être spécifié explicitement.
- Sélectionnez l’option Don’t check if all fields are empty pour ne pas exécuter les vérifications de règle s’il n’y a aucune valeur dans les champs impliqués dans la comparaison. Cela accélérera la validation des règles.
- Établissez des liens entre les champs de la définition de document et les champs de la base de données (voir Spécification des champs à comparer ci-dessous).
- Utilisez les boutons Add…, Edit… et Delete pour ajouter, modifier ou supprimer des liens entre les champs.
- Si vous avez sélectionné un jeu de données comme source, vous pouvez maintenant sélectionner le champ qui servira de clé primaire dans la liste déroulante Field where to save record ID.
Spécification des champs à comparer
- Champ du document Le champ de la définition de document à comparer à un champ de la base de données
- Champ de base de données Le champ de la base de données à comparer au champ du document
- Recherche Spécifie le type de comparaison :
- Exact La valeur du champ du document doit correspondre exactement à la valeur du champ de base de données (notez toutefois que les recherches ne sont pas sensibles à la casse)
- Approchée La valeur du champ du document peut ne correspondre que partiellement à la valeur de la base de données. Seuls les champs de texte peuvent être utilisés dans ce type de comparaison.
- Ne pas rechercher si le champ est vide Si le champ est vide, sa valeur ne sera pas comparée aux valeurs de la base de données.
-
Saisir la valeur depuis la base de données Si une recherche approchée trouve une valeur correspondante dans la base de données, cette valeur peut être automatiquement saisie dans le champ si :
- les valeurs du champ et de la base de données sont différentes
- le champ est vide. Remarque : Dans le cas des recherches exactes, sélectionner l’option Saisir la valeur depuis la base de données n’a pas de sens, car les deux valeurs seront identiques.
-
Autoriser les valeurs vides dans la base de données Selon les résultats de la vérification de la base de données et d’autres paramètres, cette option a la signification suivante :
- si le champ de base de données est vide et que le champ du document n’est pas vide, les valeurs du champ et de la base de données sont considérées comme identiques
- si le champ de base de données est vide et que le champ du document n’est pas vide et que Remplir à partir de la base de données est sélectionné, la valeur vide de la base de données ne sera pas saisie dans le champ.
Clés primaires dans les jeux de données
Si votre projet comprend un jeu de données (une copie locale d’une base de données externe) dont vous souhaitez utiliser les valeurs de champs comme source pour les documents lors de leur traitement, vous pouvez utiliser une règle de vérification de base de données pour spécifier un champ qui servira de clé primaire (identifiant unique) d’un enregistrement dans le jeu de données. Dans ce cas, les données du formulaire de données seront mises en correspondance avec celles du jeu de données. Lorsque vous sélectionnez un enregistrement, tous les champs sont automatiquement renseignés avec les valeurs du jeu de données. Vous ne pourrez pas modifier les valeurs dans le formulaire de données. Si vous essayez de le faire, une boîte de dialogue vous invitant à effectuer l’une des actions suivantes s’affichera :- sélectionner un autre enregistrement dans le jeu de données
- modifier l’enregistrement existant
- Tous les champs ciblés par la règle doivent avoir l’option Enter value from database activée. Dans ce cas, à condition que le champ servant de clé primaire contienne une valeur, le programme ne recherchera pas les valeurs des autres champs et les renseignera à partir de la base de données.
- Si le champ servant de clé primaire ne contient aucune valeur, le programme examinera les autres champs pour lesquels l’option Search a été activée lorsque les champs à comparer ont été spécifiés dans la boîte de dialogue Field Link (voir Spécification des champs à comparer ci-dessus). Si un enregistrement unique est trouvé pour ces champs, les valeurs de la base de données seront utilisées (comme au point 1 ci-dessus).
- Un jeu de données est sélectionné comme source ;
- Une clé primaire est spécifiée dans le jeu de données, c’est-à-dire que l’option clé primaire a été activée pour un champ lorsque
- Le champ utilisé comme clé primaire ne figure pas dans la liste lien de champ de l’onglet paramètre de règle.
Vérification dans la base de données pour un ensemble de champs
- La valeur du champ Fa correspond exactement à la valeur de Ta
- La valeur du champ Fb correspond approximativement à la valeur de Tb
- Lorsque les conditions spécifiées sont remplies, la valeur de la colonne Tc est copiée dans le champ Fc.

Différentes combinaisons sont possibles : correspondances exactes/approximatives/mixtes, sans remplissage automatique, nombre quelconque de champs, etc.
