1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.

Slides:



Advertisements
Présentations similaires
Base de Données / MCD Introduction en utilisant un SGBD simple (Access) Quinio Université Paris Ouest2010 Quinio.
Advertisements

Bureautique Excel-VBA et Access – Cours 3
Utiliser autrement des données de Base Elèves 1) Choisir les données Base Élèves propose 3 sortes de listes, par exemple dans le menu : Elèves : Liste.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Les requêtes Manière de dialoguer avec une base de donnée pour :
Diffusion Nationale TOULOUSE -Avril 2006 STS Web Services libres Supprimer des services libres.
Initiation aux bases de données et à la programmation événementielle
ONRN V2 Guide de contribution. Organisation des documents Listes de valeurs Ce répertoire contient les listes de valeurs qui sont utilisées pour qualifier.
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
JLMVPC Saisir une commande.
Initiation au système d’information et aux bases de données
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Initiation au système d’information et aux bases de données
Initiation à la conception des systèmes d'informations
Simulation Commande WEB
Par Fabrice Pasquier Cours IV
Tableau croisé dynamique sous Excel (TCD).
Initiation aux bases de données et à la programmation événementielle
Chap 4 Les bases de données et le modèle relationnel
Mode plan – Table des matières
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
Publispostage Menu Outils / Lettres et publipostage
L’utilisation des bases de données
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
CD Découvrez BATIPRIX CD.
Initiation aux bases de données
L. Gzara, E. Khouri, M Tollenaere 1 MSI 2A ICL – Initiation ACCESS Interfaces 2014 Initiation MS Access 2010 Interfaces – Formulaires Dynamique des données.
Initiation MS Access 2010 Structures – Tables, schémas et Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Diffusion Nationale TOULOUSE – Décembre 2008 STS Web Services libres Gérer les services libres.
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
Access - 1.
Introduction avec Access Quinio Nanterre 2008
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
1 Tutoriel SPIP Rédacteur. 2 Sommaire Connexion Interface SPIP Menu SPIP Rédiger un article Interface de création d’un article Fonctionnalités de base.
Comprendre le SGBDR Microsoft Access – partie 2
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Diffusion Nationale TOULOUSE -Mai 2006 STSWEB Rattacher Services et ARE Gestion individuelle des services et ARE.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Utilisation des formules de base
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver le retour Avec Les Formulaires Les Calques
FORMULAIRES FOMULAIRE Permet à l’utilisateur d’entrer des renseignements le concernant. Utilisation –Inscription sur un site –Mise à jour d’une base.
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
© 2010 Sage - Tous droits réservés 1 SIGMA Atelier Découvertes Ergonomie et Prise en Main SAGE ERP X3 Version 6.
1. Les Rôles Un rôle est une fonction détenue par un utilisateur à un moment donné. Un rôle confère des droits spécifiques. » Le CIL – correspondant informatique.
Formation K-sup Niv 1 Février 2009 CRISI - COM. Programme formation (1 ère ½ journée) _ Fonctionnement de K-Sup _ Création de la structure du site de.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 10 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 5 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 12 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 11 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 6 Support de cours rédigé par Bernard COFFIN Université.
Initiation aux bases de données et à la programmation événementielle Outil de création des tables Support de TD rédigé par Bernard COFFIN Université Paris.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 9 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 8 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 7 Support de cours rédigé par Bernard COFFIN Université.
Formation SGA Module Saisie des Demandes d’achat Durée : 0,5 jour.
1 Initiation aux bases de données et à la programmation événementielle Construction d’un état Support de TD rédigé par Bernard COFFIN Université Paris.
Transcription de la présentation:

1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib BAARIR. Page web : Université Paris Ouest Nanterre la Défense.

2 Un lien logique établit que des enregistrements de deux relations (tables) sont complémentaires. À un enregistrement de la première table, on associe plusieurs enregistrements de la seconde, et, à un enregistrement de la seconde on n’associe qu’un seul enregistrement de la première. Le lien doit être réalisé à l’aide de la clef primaire de la table père et d’une clef externe de la table fils on parle alors d’un lien logique père/fils Rappel et compléments : lien logique (1/3)

3 La valeur de la clef externe de la table fils doit :  soit être égale à la valeur de la clef primaire d’un enregistrement existant de la table père,  soit (dans des cas très particuliers) être à Null. La clef primaire est un champ qui ne peut pas prendre la même valeur pour deux enregistrements différents de la table.  Le plus simple est de laisser à ACCESS le soin de gérer ses valeurs en la déclarant «NuméroAuto». Rappel et compléments : lien logique (2/3)

4 Autoriser que la valeur de la clef externe (table fils) ne soit pas renseignée (Null) signifie que : [Cas 1] le champ « père » est créé après les champs « fils » ; [Cas 2] le lien décrit une information qui apparaît après la création des enregistrements père et fils. Rappel et compléments : lien logique (3/3)

5 Dans une table on décrit des Commandes. Dans une deuxième table, on décrit des Livraisons. Une livraison peut concerner plusieurs commandes :  la table Livraison va être la table père et la table Commande sera la table fils ;  la clef externe de la table Commande se référant à la table Livraison ne doit pas être renseignée (Null) au moment de la création de l’enregistrement (une commande) ;  elle sera mise à jour lors de la création de la livraison (concernant plusieurs commandes). Cas 1 : Le champ père sert à définir un point commun, entre les fils, qui apparaît après leur création.

6 Dans une table on décrit des œuvres d’art. Dans une deuxième, on décrit des collectionneurs. Un collectionneur peut posséder plusieurs œuvres :  la table Collectionneur est la table père et la table Œuvre est la table fils.  la clef externe de la table Œuvre ne doit pas être renseignée (Null) au moment de la création de l’enregistrement (réalisation de l’œuvre).  elle sera mise à jour au moment de la vente de l’œuvre Cas 2 : le lien décrit un événement qui n’apparaît qu’après la création du père et du fils

7 En dehors des deux cas particuliers, la clef externe de chaque enregistrement de la table fils doit toujours être renseignée et égale à la clef primaire d’un enregistrement existant de la table père En dehors des deux cas particuliers, la clef externe de chaque enregistrement de la table fils doit toujours être renseignée et égale à la clef primaire d’un enregistrement existant de la table père Si la valeur d’une clef externe d’un enregistrement est renseignée mais n’est pas égale à la clef primaire d’un enregistrement existant, alors la base de données est INCOHÉRENTE ! Première conclusion.

8 1.Ne pas attribuer à une clef externe une valeur sans être certain qu’elle est égale à la clef primaire (de la table père). d’un enregistrement existant 2.Ne pas supprimer un enregistrement de la table père tant qu’il est lié à au moins enregistrement de la table fils. 3.Ne pas modifier la valeur d’une clef primaire ! Garantir la cohérence de la BD

9 Gestion par imposition d’une contraintes d’intégrité CREATE TABLE Articles ( [Code article] Autoincrement NOT NULL, Description Text(20), [Prix Achat] Int, [Prix vente] Double, [Réf fournisseur] Int, CONSTRAINT A1 PRIMARY KEY ([Code article]), CONSTRAINT A2 FOREIGN KEY ([Réf fournisseur]) REFERENCES Fournisseurs ([N° Siret]) ) Une valeur insérée dans le champ [référence fournisseur] de la table Articles doit obligatoirement exister comme clé primaire de la table Fournisseurs (le champ [N° Siret])

10 Gestion de la cohérence par l’application. Plusieurs possibilités (à choisir en fonction de critères ergonomiques) : 1.Se rattacher à un enregistrement (clef primaire) choisi parmi ceux qui existent dans la base.  Utilisation, dans un formulaire lié à la table fils, d’une Zone de liste déroulante permettant d’afficher les enregistrements pères possibles et de sélectionner le bon. 2.Saisir la valeur de la clef externe, puis vérifier qu’elle correspond bien à la clef primaire d’un enregistrement existant.  Utilisation de : formulaire/Sous-formulaire liés.

11 Exemple : gestion par zone de liste déroulante.

12 La zone de liste déroulante C’est un contrôle que l’on peut insérer dans un formulaire C’est un objet lié à un ensemble de valeurs :  les enregistrements d’une relation définie par une requête. La zone de liste déroulante permet de sélectionner un des enregistrements (de la relation liée) parmi les autres.

13 Contenu / RowSource : Pour notre utilisation, uniquement une relation décrite par une requête de sélection. Calculée lors du chargement du formulaire Recalculée par programmation à l’aide de la méthode Requery de l’objet. La zone de liste déroulante : la propriété Contenu Avec VBA

14 Colonne liée / BoundColumn colonne = champ ! les champs de la requête sont numérotés à partir de la gauche en commençant à 1. la valeur de zone de liste déroulante est égale à la valeur du champ repéré par la propriété « colonne liée ». La zone de liste déroulante : la propriété Colonne liée

15 Contrôle source / ControlSource : Utiliser pour gérer la valeur de la clef externe. À chaque instant, la valeur du champ lié est égale à la valeur de la zone de liste déroulante (colonne liée). La zone de liste déroulante : la propriété Contrôle source

16 Largeurs colonnes / ColumnWidths : Donne la largeur de l’affichage de chacun des champs (de gauche à droite dans l’ordre de la requête). Si la largeur d’un champ est de « 0 cm », alors la valeur du champ n’est pas affichée : pendant la sélection, tous les champs affichables sont visibles, sinon, seul le premier champ affichable (largeur >0) est visible. La zone de liste déroulante : la propriété Largeurs colonnes

17 Astuce… La zone de liste déroulante permet de sélectionner un des enregistrements (de la relation liée) parmi les autres. Pour que la recherche de l’enregistrement désiré soit efficace, il faut trier les enregistrements de la relation :  Utiliser la clause Order By.  Ainsi, il suffit de taper les premiers caractères de la valeur cherchée pour se déplacer dans le jeu d’enregistrements.