Bonjour,
dans cette vidéo nous allons apprendre à saisir et supprimer des données en utilisant les liens et leur propriétés.
Dans les chapitres précédents, nous avons importé les enregistrements des tables Techniciens et Interventions.
Nous allons maintenant réaliser la saisie en tenant compte des liens mis en place au chapitre précédent et notamment le lien automatique, la confirmation de création et le lien retour automatique.
- Positionnez-vous en saisie sur le premier enregistrement de la table Interventions.
- Placez-vous dans le champ ID_Technicien et tapez l’identifiant de technicien qui n’existe pas encore.
En effet l'identifiant DJ n'existe pas.
4D utilise le lien Aller Automatique pour vérifier l’existence de cet identifiant dans la table Techniciens.
Puisqu'il n’existe pas, 4D propose de le créer.
Ce contrôle est dû à la case "confirmation de création" que nous avons cochée précédemment. Elle permet de gérer l’intégrité de la base lors de la saisie et éviter ainsi la présence de fiches orphelines.
En cas d’erreur de code, cliquez sur le bouton "recommencer" et ressaisissez un code existant.
Si vous souhaitons créer un nouveau code celui-ci par exemple :
- il suffit de cliquer sur le bouton créer
- de remplir la fiche du Technicien avec le nom et le prénom
- validez la fiche
Cette fiche est venue se superposer au dessus de la fiche Intervention. Lorsqu'on la ferme, réapparaît la fihe intervention en dessous.
Nous venons de réaliser grâce au lien et sans programmation une saisie multi-tables avec contrôle d’intégrité.
Nous pouvons encore utiliser le lien pour simplifier la saisie. En effet, nous ne connaissons pas les identifiants de fiches de chacune des tables. Dans ce cas, il suffit de taper le début de l’identifiant suivi puis symbole @ pour obtenir à l’écran la liste de toutes les fiches qui "commencent par"...
Nous avions vu que dans les techniciens importés il y avait plusieurs fiches commençant par la mettre "m". Il suffit de taper m@ pour voir apparaître les identifiants proposés.
Nous verrons par la suite qu'il est possible d'afficher ici le nom du technicien concerné.
Vous pouvez également ne taper que @ : l’ensemble de tous les identifiants dont le dernier que nous avons créé apparaît automatiquement.
@ est le caractère joker qui correspond dans d'autres outils à *. il peut donc être utilisé avant, au milieu ou après une chaine de caractères.
Nous allons modifier le lien en structure pour voir apparaître le nom du technicien concerné.
En cliquant sur le lien on peut demander à avoir comme champ discriminant le nom. Automatiquement la case liste des enregistrements liés se coche.
Le fait d'avoir effectué cette modification permet lors de la saisie si on ressaisit @ d'obtenir l'identifiant de chaque technicien et son nom entre parenthèses, la saisie s'en trouve simplifiée.
Bien évidemment ces modes de saisie automatiques peuvent être complétés par des fonctionnalités programmées. Ce sera l'objet d'autres vidéos ultérieures.
La suppression des enregistrements dépend également du paramétrage des liens. Dans ce cas, c’est le "lien retour" et notamment le paramétrage de l'intégrité référentielle qui est pris en compte .
Maintenant que le lien existe entre Interventions et Techniciens, nous pouvons tenter de supprimer un Technicien (volontairement ou par suite à une mauvaise manipulation)... Que va-t-il se passer ?
Je prends le technicien NEY et j'essaye de le supprimer (backspace). 4D demande confirmation. OK.
Automatiquement 4D a contrôlé l'existence d'interventions pour ce technicien et puisque nous avions coché la case "Suppression impossible si enregistrements liés" 4D refuse la suppression du technicien pour conserver l'intégrité de la base.
Le petit + qui est ici (en bas à gauche du message d'erreur) vous permettra en général, lors des messages d'erreur d'avoir un complément d'information. Donc on a le premier message "Impossible de supprimer", c'est le message qui figure ici. et vous trouvez en dessous la raison pour laquelle il n'a pas été possible de le supprimer. Vous pouvez cliquer sur continuer. Un message complémentaire indique que l'enregistrement n'a pu être détruit et il est toujours ici.
Normalement nous n'avions pas lié d'interventions à ce technicien, nous pouvons donc le supprimer ou tenter de le supprimer. Et en effet il disparaît bien.
Il est à noter que Les suppressions mentionnées ci-dessus sont conditionnées au mode d’accès aux enregistrements (lecture/écriture) et au verrouillage potentiel des enregistrements par d’autres utilisateurs ou d'autres process.
Ces éléments restent valables quelle que soit la manière dont les enregistrements sont supprimés (Qu'il s'agisse d'une manipulation par l'utilisateur ou que ce soit par programmation).
C’est donc l’analyse des spécifications de votre base de données qui vous permettra de savoir comment paramétrer les liens.
Dans tous les cas, tracez les liens car il est possible de les rendre automatiques par programmation, puis de désactiver l'automatisme.
Maintenant, comment utiliser les liens automatiques pour afficher des champs de la fiche technicien sur la fiche intervention et afficher la liste des interventions sur la fiche du technicien.
Pour cela nous aloons repasser sur une intervention et à ce niveau on voit qu'on ne dispose que de l'identifiant du technicien. Nous allons ajouter en dessous le descriptif du technicien.
- nous affichons donc l'explorateur
- les formulaires
- les formulaires tables
- puis les formulaires interventions
- et notamment le formulaire entrée
Dans ce formulaire nous allons :
- dupliquer ce champ
- indiquer que la source du champ c'est la table techniciens
- et qu'il s'agit du nom du technicien
ensuite
- on le reduplique avec le raccourci CTRL-D pour afficher le prénom
- et encore CTRL-D pour afficher l'email.
- on enregistre (CTRL-s) ou fichier sauvegarder
- puis on revient sur une intervention
- et automatiquement on voit apparaître les informations du technicien
lorsqu'on change de fiche la mise à jour est automatique, nous n'avons toujours pas programmé cet automatisme. il serait bien évidemment possible si le lien n'était pas automatique de gérer la même chose par programmation.
Voyons maintenant l'autre objectif que nous nous sommes fixés qui est d'afficher dans la fiche du technicien la liste des interventions.
Donc on affiche la fiche du technicien, on réaffiche l'explorateur dans lequel on va glisser le formulaire sortie sur la fiche du technicien.
Bien évidemment dans ce formulaire nous n'aurions pas besoin des initiales du technicien. L'important pour l'instant est de comprendre le principe. Donc ce formulaire nous l'enregistrons également (sauvegarder).
Nous allons vérifier qu'en structure le lien soit bien en lien retour automatique, puis à l'utilisation, automatiquement, la liste des interventions change en fonction du technicien sur lequel on se trouve.
Si en structure on décoche la case lien automatique et on la remet en manuel, lorsqu'on revient sur la fiche du technicien ce sont toujours les mêmes interventions qui restent puisque le chargement des fiches correspondantes (donc la jointure) n'a pas été effectuée automatiquement par 4D. Ce serait à nous dans ce cas de le faire.
Nous verrons ultérieurement comment gérer ces fonctionnalités par programmation, notamment parce que les liens automatiques sont actifs lorsqu'il y a un affichage écran pour l'utilisateur mais pas dans tous les cas lorsqu'on programme, ce qui nous permet de prendre la main et de gérer les liens comme on le souhaite.