Copyright © 2021 Yves MARCOUX; dernière modification : 2021-10-01.
Yves MARCOUX - EBSI - Université de Montréal
AUTRocc
DESCocc
documents
monographies
monographies
Par le truchement de divers exercices, nous n’avons jusqu’ici qu’effleuré la saisie de données. Nous avons vu que l’on peut saisir des données directement dans une table en mode feuille de données. Nous avons aussi vu que l’on peut travailler sur une seule fiche à la fois à l’aide d’un formulaire créé automatiquement par Access sur demande.
Ces deux premières incursions dans la saisie ne travaillaient que sur les données
d’une seule table à la fois. Notre troisième incursion permettait de travailler sur
deux tables à la fois, en utilisant le mécanisme des sous-feuilles de
données. Grâce à ce mécanisme, on peut travailler conjointement sur la table
principale (documents
) de notre BD et sur une seule des tables
correspondant aux champs à occurrences multiples. Comme INFORM-R compte deux telles tables (AUTRocc
et
DESCocc
), les sous-feuilles de données ne constituent pas une
solution satisfaisante pour nous.
C’est en poussant un peu plus loin notre utilisation des formulaires d’Access que nous arriverons à une solution satisfaisante pour la saisie des données dans INFORM-R.
Notons que nous incluons dans « saisie de données » toute forme de mise à jour des informations dans la BD, notamment :
La principale difficulté pour la saisie dans INFORM-R vient de ce qu’elle contient des documents de deux types bibliographiques (monographies et articles) ayant chacun ses champs obligatoires, facultatifs et interdits. Deux exemples : le champ TITP est obligatoire pour un article, mais interdit pour une monographie, COLC est facultatif pour une monographie mais interdit pour un article.
Si on utilise un unique formulaire, contenant tous les champs, pour la saisie de monographies et d’articles, la présence des champs interdits pour le document que l’est en train de saisir peut être source d’erreur. En effet, en fonction du type bibliographique que l’on inscrit dans le champ TYPE, il faut se rappeler quels sont les champs interdits pour ce type bibliographique et s’assurer de n’y rien inscrire. Cela constitue à la fois une charge cognitive pour la personne effectuant la saisie et un risque que des données soient saisies par distraction dans les champs interdits.
Ces problèmes liés à l’utilisation d’un formulaire unique se poseraient aussi avec un SGBD textuel. Ils sont liés à la particularité que nous venons de décrire et non au modèle relationnel.
Pour éviter ces problèmes, nous créerons deux formulaires de saisie différents, un pour chaque type bibliographique, et ne comprenant que les champs obligatoires ou facultatifs pour ce type bibliographique. Il n’y aura donc aucune possibilité de malencontreusement saisir de l’information dans un des champs interdits.
De façon à pouvoir aussi naviguer à travers tous les documents, quel que soit leur type bibliographique, nous créerons aussi un formulaire général, contenant tous les champs. Ce formulaire permettra la visualisation et la suppression de documents, mais ne permettra aucune des autres formes de saisie, lesquelles devront obligatoirement être faites avec l’un des deux formulaires « spécialisés », justement pour éviter les problèmes liés à un formulaire unique.
Nous aurons donc un total de trois formulaires.
Nous commençons par le formulaire général, car il nous servira de base pour les
formulaires spécialisés. Mais avant même de nous attaquer à ce formulaire, nous
devons créer deux « petits » formulaires qui nous serviront à répliquer la
fonctionnalité des sous-feuilles de données au sein du formulaire général. Un de ces
petits formulaires servira à la saisie dans AUTRocc
, l’autre servira à
la saisie dans DESCocc
.
Nous n’utiliserons jamais directement ces petits formulaires, mais les utiliserons
seulement comme sous-formulaires du formulaire général. En contraste avec
la limite d’une sous-feuille de données par table, il n’y a pas de limite sur le
nombre de sous-formulaires par formulaire; nous pourrons donc intégrer la saisie
dans AUTRocc
et dans DESCocc
au sein du formulaire général.
AUTRocc
Au sein du Volet de navigation, sélectionnez la table AUTRocc
, puis
faites Créer au menu principal et cliquez sur le bouton
Formulaire du ruban. L’item Conception de la mise en page du formulaire s’ajoute au menu principal et
le ruban correspondant s’affiche.
Au sein de ce ruban, faites Affichage → Mode création. Le panneau Feuille de propriétés s’ouvre en partie droite de l’écran.
Sélectionnez Formulaire dans la boîte de sélection au haut de la Feuille de propriétés, puis procédez aux réglages surlignés ci-dessous :
Passez ensuite en mode Feuille de données en cliquant sur l’icône correspondante (la grille) au bas de l’écran à droite :
L’affichage passera en mode Feuille de données (comme si on visualisait directement la table), avec un affichage comme celui-ci :
Sur la ligne d’entêtes, faites Clic-droit sur le nom du champ NO, puis sélectionnez Masquer les champs. Refaites la même chose avec noDoc. Vous vous retrouverez avec une ligne d’entêtes ne contenant qu’un seul champ :
Fermez maintenant l’onglet du formulaire (AUTRocc); confirmez la sauvegarde et acceptez le nom proposé pour le formulaire :
DESCocc
En procédant de la même façon que pour AUTRocc
, créez un formulaire
appelé DESCocc
pour la table du même nom.
documents
Nous sommes maintenant prêt à créer le formulaire général comme tel.
Tout d’abord, dans le Volet de navigation, faites Clic-droit sur la table
documents
, puis sélectionnez Mode création. Le panneau Feuille de
propriétés s’ouvre en partie droite de l’écran.
Au sein de la Feuille de propriétés, assurez-vous que le paramètre Sous-feuille de données nom est réglé à [Aucune], puis fermez l’onglet de table documents. Si nécessaire, confirmez l’enregistrement des modifications
apportées à la structure de la table « documents
».
Ensuite, au sein du Volet de navigation, sélectionnez la table
documents
, puis faites Créer au menu
principal et cliquez sur le bouton Formulaire du ruban.
L’item Conception de la mise en page du formulaire
s’ajoute au menu principal et le ruban correspondant s’affiche.
Au sein de ce ruban, faites Affichage → Mode création. Le panneau Feuille de propriétés s’ouvre en partie droite de l’écran; de plus, le formulaire lui-même s’affichera dans un onglet de formulaire nommé documents :
Dans cet onglet, il est possible de redimensionner et de déplacer chacun des champs du formulaire.
La conception de formulaires est une démarche très visuelle. Ce que nous proposons comme configuration visuelle du formulaire n’est qu’une des nombreuses possibilités. Comme le nombre d’étapes est grand, la succession d’actions à poser est décrite dans une vidéo plutôt que par captures d’écran. La vidéo peut être consultée ici.
Voici de quoi aura l’air le formulaire après les actions décrites dans la vidéo :
Complétez le paramétrage du formulaire en effectuant les réglages suivants dans le panneau Feuille de propriétés en partie droite de l’écran :
En préparation d’une impression éventuelle des fiches (en PDF ou papier), cliquez sur la barre Détail dans le formulaire :
puis faites les réglages suivants au sein de la Feuille de propriétés :
Fermez enfin l’onglet du formulaire (documents) et confirmez la sauvegarde.
À moins que vous n’ayez entré des données « à la main » directement dans les tables, celles-ci sont encore vides. Le formulaire documents n’est donc d’aucune utilité à ce stade-ci, puisqu’il ne sert qu’à la navigation dans les documents déjà saisis, et ne permet pas la saisie de nouveaux documents.
La saisie de nouveaux documents sera possible grâce aux deux formulaires que nous développerons au cours des sections suivantes.
Le formulaire que nous créerons maintenant sera spécialisé pour les monographies. On l’utilisera principalement pour effectuer la saisie de nouvelles monographies, mais aussi pour naviguer à travers les monographies de la BD et éventuellement y apporter des modifications. La suppression de monographies sera également possible avec ce formulaire.
Comme le formulaire ne doit travailler que sur les monographies, il devra être basé
sur une requête qui n’extrait que les monographies de la table
documents
. Nous commençons donc par créer cette requête.
monographies
Faites Créer au menu principal puis cliquez sur « Création de requête » dans le bandeau qui s’ouvre.
Dans le panneau « Ajouter des tables », double-cliquez sur la table
documents
; cette dernière apparaîtra sous le nom de l’onglet
« Requête1 » :
Au sein de la table qui vient d’apparaître, double-cliquez sur le champ TYPE; ce champ apparaîtra dans la partie inférieure gauche de l’onglet :
Décochez la boîte « Afficher » et comme « Critères », inscrivez
"M"
:
Maintenant, sur la ligne Champ, à côté de TYPE,
sélectionnez documents.*
; la boîte « Afficher » correspondante sera
automatiquement cochée :
C’est tout, la requête est complète ! Pour la sauvegarder, fermez simplement l’onglet « Requête1 » :
Acceptez l’invitation de sauvegarde, en spécifiant monographies
comme
nom de requête.
monographies
Tel qu’indiqué précédemment, le formulaire documents
nous servira de
base pour les formulaires spécialisés, notamment celui spécialisé pour les
monographies. Nous allons donc commencer par copier le formulaire
documents
sous le nom monographies
, puis apporterons les
modifications nécessaires à cette copie.
Pour faire la copie, il suffit de faire un clic-droit sur le formulaire
documents
dans le Volet de navigation, puis de sélectionner Copier :
Ensuite, refaites clic-droit n’importe où dans le Volet de navigation, puis choisissez cette fois Coller :
Access demandera le nom à donner à la copie du formulaire :
à quoi vous répondrez :
que vous confirmerez en cliquant OK. Vous verrez le formulaire
monographies
apparaître dans la section Formulaires du Volet de
navigation.
En ce moment, le contenu du formulaire monographies
est identique à
celui du formulaire documents
. Nous allons y apporter les modifications
nécessaires pour le spécialiser dans les monographies.
Nous allons d’abord ouvrir le formulaire en Mode création, en faisant clic-droit dessus dans le Volet de navigation, puis en sélectionnant Mode création :
Faites Conception de formulaires → Feuille de propriétés pour faire apparaître la Feuille de propriété du formulaire, au sein de laquelle vous effectuerez le paramétrage suivant :
Il faut maintenant retirer du formulaire les champs non pertinents (c’est-à-dire interdits) pour une monographie. Pour retirer un champ, il suffit de cliquer dessus (ce qui le sélectionne) et d’appuyer sur la touche Suppr. (ou Del).
En fait, il n’y a qu’un champ à éliminer. Il s’agit de TITP, que l’on peut sélectionner (clic dessus) :
puis supprimer (touche Suppr.) :
Nous allons aussi désactiver trois des champs restants, puisque l’utilisateur n’a jamais à y inscrire quoi que ce soit. Ces trois champs sont TYPE, NO et DACR. On peut les sélectionner tous les trois en cliquant d’abord sur un premier, puis en faisant Ctrl-clic successivement sur les deux autres. Voici le résultat lorsque les trois champs sont sélectionnés :
Pendant que les trois champs sont sélectionnés, effectuez le paramétrage suivant dans la Feuille de propriétés :
Il ne nous reste maintenant qu’à paramétrer le champ TYPE pour qu’il n’accepte que la valeur M à la création de nouvelles fiches. Assurez-vous d’abord que seul ce champ est sélectionné :
puis effectuez le paramétrage suivant dans la Feuille de propriétés :
Les modifications au formulaire monographies
sont terminées. Fermons
l’onglet de formulaire du même nom et confirmons-en la sauvegarde.
Maintenant que vous disposez d’un formulaire permettant de saisir des monographies, utilisez-le pour en saisir quelques-unes. Amusez-vous avec des données fictives, faites varier le nombre d’auteurs et de descripteurs par document. Expérimentez aussi avec la suppression de document : Accueil au menu principal → Section Enregistrements du bandeau → item Supprimer → Supprimer l’enregistrement.
En procédant de façon analogue à ce que nous avons fait pour le formulaire
monographies
, créez un formulaire spécialisé pour les articles, que
vous appellerez articles
. Il faudra d’abord créer une requête
articles
pour n’extraire que les articles de la table
documents
.
Les champs à retirer du formulaire seront cette fois TOED, COLC, EDIT et COTE. Ce sont les champs interdits pour un article.
Utilisez maintenant votre nouveau formulaire articles
pour
expérimenter avec toutes les formes de saisie d’articles, incluant la suppression de
document.
Pour référence, une BD avec les trois formulaires décrits dans ce texte et des données saisies est disponible ici.