Comprendre le SGBDR Microsoft Accessdcanl.free.fr/Etudes/COURS_IUT_IQ1/BDD/Microsoft Access... ·...
Transcript of Comprendre le SGBDR Microsoft Accessdcanl.free.fr/Etudes/COURS_IUT_IQ1/BDD/Microsoft Access... ·...
© Richard CHBEIREmail : [email protected]
Comprendre le SGBDR Comprendre le SGBDR Microsoft AccessMicrosoft Access
Bibliographie :• « Programmation Access pour Windows 95 », Edition Micro Application ISBN : 2-7429-0635-5 • « Au quotidien Microsoft Access 97 » Edition Microsoft Press, ISBN: 2-84082-159-1
Plan de la prPlan de la préésentationsentation1. Introduction2. Création d’une BD Access3. Tables4. Requêtes5. Formulaires6. Etats7. Macros8. Pages Web9. Modules10. Administration Access
1.1. IntroductionIntroduction
1.1. Introduction Introduction
DDééfinitionfinition
SGBD RelationnelPas cher Facile à utiliserAdapté au PME/PMI
CompatibilitéWindows
Versions1, 2, 95, 97, 2000, et XP (2002), 2003
1.1. Introduction Introduction
InstallationInstallation
Matériels requisPC
Logiciels requisWindows 3.1, 9x, NT, 200x, XPMicrosoft Office
ProfessionnelPremiumSéparé
Objets de la BD AccessObjets de la BD AccessTableRequête (Query)Formulaire (Form)Etat (Report)MacroModulePages WEB (uniquement version 2000 et XP)
Manipulables comme des objets WindowsManipulables comme des objets Windows(Copier, Coller, Supprimer, Renommer, etc.)(Copier, Coller, Supprimer, Renommer, etc.)
1.1. IntroductionIntroduction
1.1. IntroductionIntroduction
Architecture dArchitecture d’’AccessAccess
Tables
Requêtes(Queries)
Etats(Reports)
Formulaires(Forms)
Macros
Modules
ExécutionFonctions
Appel
Déclenchement
Ouverture/filtre
Appel
A
Ouverture/filtre
Exécution Fonctions
AppelAppel
Définition de formulaire, table, etc.
A
Impression/Affichage/filtre
A Exécution des requêtes sur des tables ouvertesFlux de données
2.2. CrCrééation dation d’’une base une base AccessAccess
2.2. CrCrééation dation d’’une BD Accessune BD Access
MMééthodesthodes
VideBasée sur des modèles prédéfinis
3.3. TablesTables
3.3. TablesTables
CrCrééation des tablesation des tablesIl y a 2 types de méthodes
1. ManuellesAssistantMode CréationMode Feuille de données
2. AutomatiquesScriptsDonnées Externes
3.3. TablesTables
MMééthodes manuellesthodes manuelles1.1. AssistantAssistant
3.3. TablesTables
MMééthodes manuellesthodes manuelles2. Mode Création
Type de données» Texte» Mémo» Numérique» Date/heure» Monétaire» NuméroAuto» Oui/Non» Objet OLE» Lien hypertexte» Liste de choix
Propriétés– Taille, Format, Masque de saisie, Valeur par défaut, etc.
Clé et index
3.3. TablesTables
MMééthodes automatiquesthodes automatiques
1. Script VBA partir des logiciels Atelier de Génie Logiciel (AGL)
WinDesign, AMC Designer (PowerDesigner), etc.Passage par les modules
Insertion du scriptExécution
3.3. TablesTables
MMééthodes automatiquesthodes automatiques2. Données externes
Importer (duplication)Oracle, DB2, Sybase, Foxpro, etc.
Attacher/Lier avec (pointeur)Oracle, DB2, Sybase, Foxpro, etc.Avantages– Client/serveur (Access comme un client)– Développement rapide– Partage simple
16© [email protected] Comme Client
Access en ClientAccess en Client
RéseauOu en local
Tables Access SybaseOracle
Attacher ODBC
Table A Table STable O
Attacher ODBCAttacher .mdb
3.3. TablesTables
Mode de visualisationMode de visualisationMode de crMode de crééationation
Il sert Il sert àà crcrééer ou er ou àà modifier la modifier la structure dstructure d’’une tableune table
Mode Feuille de donnMode Feuille de donnééesesIl permet de saisir les donnIl permet de saisir les donnéées, faire es, faire
des tris, appliquer des filtres, etc.des tris, appliquer des filtres, etc.
3.3. TablesTables
4.4. RequêtesRequêtes
4.4. RequêtesRequêtes
Types de requêteTypes de requêteRequêtes de sélectionRequêtes paramétrées Requêtes action (Création, Ajout, Mise à jour, Suppression, etc.)
4.4. RequêtesRequêtes
Mode de visualisationMode de visualisation
Mode de créationIl sert à créer une nouvelle requête ou à en modifier une existante
Mode SQLIl permet de saisir du code SQL, et/ou de modifier le code SQL généré par Access
Mode Feuille de donnéesIl sert à afficher plusieurs lignes à la fois
4.4. RequêtesRequêtes
CrCrééation dation d’’une requêteune requêteChoisir l’onglet RequêteCliquer sur NouveauChoisir Mode Création/AssistantSélectionner les tables (ou de requêtes) utiles pour la création de la nouvelle requête Etablir les liens entre ces tables et ces requêtes (quand ils n’existent pas)Ecrire les critères et/ou les opérations d'interrogationChoisir le type de la requêteEnfin, lancer de la requête (!).
Trouver Nom, adresse, ville et téléphone de tous les clients qui habitent Londres
En SQL:SELECT Nom, Adresse, Ville, Téléphone
FROM Clients
WHERE Ville = "London“
Requête Requête de sde séélectionlection
!
1
5
4
3
2
•• En QBEEn QBE
4.4. RequêtesRequêtes
Requête paramRequête paraméétrtrééeeTrouver Nom, adresse, ville, téléphone et fax d’un
client donnéEn SQL:SELECT Nom, Adresse, Ville, Téléphone, Fax
FROM Clients
WHERE Nom =[Donnez le nom]
•• En QBEEn QBE
4.4. RequêtesRequêtes
4.4. RequêtesRequêtes
Requête avec opRequête avec opéérationrationTrouver la quantité du produit numéro 1 vendu par
chaque employéEn SQL:SELECT Commandes.[N° employé], Sum([Détails commandes].Quantité)
FROM Commandes, [Détails commandes]
WHERE (((Commandes.[N° commande])=[Détails commandes].[N° commande]))
GROUP BY Commandes.[N° employé], [Détails commandes].[Réf produit]
HAVING ((([Détails commandes].[Réf produit])=1));
•• En QBEEn QBE
4.4. RequêtesRequêtes
TrTrèès importants importantQuels sont les caractères génériques
acceptés dans les critères d’interrogation ?
? Tout caractère unique* Aucun ou plusieurs caractères quelconques# Tout chiffre unique (de 0 à 9)Comme (LIKE en SQL) permet de faire une comparaison approximative
Exemple: Comme ## PetitJean dans adresse:toutes les personnes qui habitent la rue PetitJean et dont le numéro est compris entre 00 et 99
4.4. RequêtesRequêtes
Conseil pour les requêtes Conseil pour les requêtes dd’’actionaction
Avant de créer une requête d’action, Ecrivez d ’abord la même requête de sélection, Testez-laPuis convertissez-la en une requête action
5.5. FormulairesFormulaires
5.5. FormulairesFormulaires
DDééfinitionfinitionPermet de saisir, modifier, et visualiser des données
Les données d'un formulaire peuvent être:Dépendantes d'une table ou d'une requête.
Indépendantes (texte, logo, calcul, ...).
Types de FormulairesTypes de FormulairesFormulaires en colonne simpleFormulaires en colonne simple Formulaires TabulairesFormulaires Tabulaires
5.5. FormulairesFormulaires
CrCrééationationMode de création
Il sert à créer un nouveau formulaire ou à en modifier un existant
Mode Formulaire (ou colonne simple)Mode Formulaire (ou colonne simple)Il est utilisIl est utiliséé pour crpour crééer, saisir et afficher des donner, saisir et afficher des donnéées. La es. La
visualisation des donnvisualisation des donnéées est faite fiche par fiche.es est faite fiche par fiche.
Mode TabulaireMode TabulaireIl sert Il sert àà afficher plusieurs lignes afficher plusieurs lignes àà la foisla fois
Mode feuille de donnMode feuille de donnééesesIl ressemble beaucoup et Il ressemble beaucoup et éétrangement au mode tabulairetrangement au mode tabulaire
5.5. FormulairesFormulaires
5.5. FormulairesFormulaires
Formulaire en mode crFormulaire en mode crééationation
Barre à outils
Formulairevierge
Différents modes
5.5. FormulairesFormulaires
Structure dStructure d ’’un formulaireun formulaireUn formulaire est décomposé en plusieurs parties:
En-tête de formulaire (utilisé pour la présentation à l ’écran). Ex: titre du formulaire, noms de colonnes.En-tête de page : idem que l’en-tête de formulaire. Utilisé au niveau impression uniquementDétail: contient les enregistrements (données).Pied de formulaire : idem que l’en-tête.Pied de page (utile si vous voulez imprimer un formulaire). Ex: numéro de pages
Par défaut, seule la partie détail apparaît
Mais comment les afficher ?
La boLa boîîte te àà outilsoutils
Étiquette Zone de texteGroupe d'options Bouton basculebouton d'option Case a cocherliste modifiable Zone de listeBouton GraphiqueObjet indép. Objet dépendant saut de page Contrôle d’OngletsSous formulaire traitRectangle Autres
5.5. FormulairesFormulaires
5.5. FormulairesFormulaires
Les contrôlesLes contrôles
Tout le contenu d'un formulaire est affiché àl’aide d’éléments appelés contrôles :
Contrôle dépendant :
Associé à un champs provenant d’une table ou d’une requête
Contrôle indépendantPour afficher des rectangles, des traits et des images
Contrôle calculé :
Pour afficher des valeurs provenant d'une expression Par exemple : [Prix unitaire] * 0,75
5.5. FormulairesFormulaires
Les contrôlesLes contrôlesChaque contrôle a ses propres propriétés (Format, Données, événements, etc.)
Les événements dépendent de chaque type de contrôle
Comment crComment crééer un contrôle er un contrôle ddéépendant ?pendant ?
1- Je click
2- Je glisse-déplace
5.5. FormulairesFormulaires
Et les autres contrôles ? Et les autres contrôles ? Exemple d'un contrôle dépendant : la propriétéSource contrôle contient le nom d'un champ de la source du formulaire. Exemple d'un contrôle indépendant : la propriété Source contrôle est vide.
L'intérêt des contrôles indépendants, réside dans la possibilité de créer des champs calculés.
5.5. FormulairesFormulaires
5.5. FormulairesFormulaires
La notion de champ calculLa notion de champ calculéé
Un champ calculé est une expression constituée de toute combinaison valide d'opérateurs, de fonctions et de références à d'autres contrôles. Pour afficher la date dans un contrôle, il suffit de taper dans Source contrôle l'expression =Date().
5.5. FormulairesFormulaires
Verrouiller les champs Verrouiller les champs calculcalculééss
5.5. FormulairesFormulaires
DDéésignation signation
Pour réutiliser la valeur saisie dans un champ, il faut juste noter le nom du champ (ou contrôle) concerné placé entre crochets.Exemple: afficher la valeur saisie dans le champ Port (du même formulaire) augmenté de 10 =[port] + 10.
5.5. FormulairesFormulaires
DDéésignationsignationPour récupérer la valeur:
d'un contrôle dans un autre formulaire : Formulaires![NomFormulaire]![NomContrôle]
5.5. FormulairesFormulaires
Le gLe géénnéérateur d'expression rateur d'expression Access est pourvu d'un ensemble de fonctions prédéfinies très riche. Pour les découvrir, il suffit de faire appel au Générateur d'expression en cliquant sur
Cet outil est accessible aux différents endroits autorisant l'entrée d'une expression (Requête, formulaire, et état)
5.5. FormulairesFormulaires
Comment afficher lComment afficher l’’heure ?heure ?
5.5. FormulairesFormulaires
A quoi servent les boutons ?A quoi servent les boutons ?
Ils sont utilisés pour différents types opérationsOuvrir formulaire, fermer formulaire, …Navigation dans les enregistrement (suivant, précédent, …)Lancer Word, Quitter l’applicationImpressionCalculs
Ils peuvent être générés automatiquement (il suffit de suivre les instructions qui apparaissent
Démonstration
5.5. FormulairesFormulaires
Et les listes dEt les listes dééroulantes ?roulantes ?Permettent de sélectionner une valeur dans une liste prédéfinie. Les valeurs peuvent être extraites à partir d'une table ou d'une requête.Deux types de listes
une zone de liste qui comprend une série de valeurs parmi lesquelles vous pouvez faire votre choix. Cette liste reste toujours affichée dans le formulaire.une zone de liste modifiable : c'est la combinaison d'une zone de texte et d'une zone de liste. Vous pouvez soit
choisir une valeur dans la liste, tapez une nouvelle valeur.
5.5. FormulairesFormulaires
Pourquoi un sousPourquoi un sous--formulaire ?formulaire ?
Un sous-formulaire est tout simplement un formulaire inclus dans un autre formulaire.Un sous-formulaire peut servir à afficher
Des relations un-unDes relations un-plusieurs
Exemples:Affichage des commandes par Client (Utilisation d’un seul sous-formulaire)Affichage pour chaque client de la liste des commandes obtenus et des détails de chaque commande (Utilisation de deux sous-formulaires)
5.5. FormulairesFormulaires
Conseils pratiquesConseils pratiques
Utiliser Access pour générer un menu principal (outils/Utilitaire de base de données/Gestionnaire de menu Général)Utiliser des formulaires :
D’orientationDe maintenance de la BD
6.6. EtatsEtats
6.6. EtatsEtats
DDééfinitionfinition
Permet de visualiser et d’imprimer des donnéesProvenant d'une table ou d'une requête,
indépendantes (texte, graphiques, et statistiques, ..)
6.6. EtatsEtats
Comment crComment crééer un er un éétat ?tat ?
Démonstration
7.7. MacrosMacros
7.7. MacrosMacros
DDééfinitionfinitionC’est un ensemble d’actions successives. Ces actions correspondent à des tâches prédéfinies dans AccessPlusieurs types :
Ouvrir un formulaire, Exécuter une requête, Imprimer un état, etc.Afficher des messages (d’alerte, d’erreur, etc.)Changer le pointeur de la sourisPersonnaliser le menu des formulairesQuitter une application, lancer Internet, etc.Etc.
7.7. MacrosMacros
Comment crComment crééer une macro ?er une macro ?
Démonstration (encore une)
7.7. MacrosMacros
Macros importantesMacros importantesCertaines macros ont une certaine importance
AutoExec : Elle est exécutée lors du lancement de la baseAutoKeys : Elle permet de donner à certaines touches du clavier certaines actions spécifiques
7.7. MacrosMacros
Exemple Macro 1Exemple Macro 1
Autokeys:1- Saisir dans nom de macros
^A or ^4 CTRL+ un caractère{F1} la touche F1^{F1} CTRL+F1+{F1} SHIFT+F1%+{ F1} ALT+SHIFT+F1
22-- Les actions correspondantesLes actions correspondantes
Exemple Macro 3Exemple Macro 3Pour créer une barre de menus
1. Créer chaque menu dans une macro séparée
2.2. DDééfinir le contenu menu dans une autre macrofinir le contenu menu dans une autre macro
7.7. MacrosMacros
Exemple Macro 3Exemple Macro 33. Préciser le menu du formulaire4.4. Tester le rTester le réésultatsultat
7.7. MacrosMacros
8.8. Pages WebPages Web
RemarqueRemarque
Access permet de créer les pagesMais ne les gère pasIl faut juste un lien vers la page
Si on déplace la BDD, Access est incapable de l’interdire
DDéémonstrationmonstration
9.9. ModulesModules
Visual Basic pour Application (VBA)
Visual Basic pour Application Visual Basic pour Application (VBA)(VBA)
9.9. ModulesModules
9.9. ModulesModules
Quand utiliser les modules ?Quand utiliser les modules ?
Répondre à un besoin complexeGérer les erreursGérer des évènements paramétrésInteragir avec une autre application ou avec DDE (Dynamic Data Exchange)Appeler des API de WindowsManipuler les jeux d’enregistrementsDésirer des meilleurs performances (Maintenance)Etre pro quoi ;)
10.10. Administration AccessAdministration AccessDBADBA
10.10. Administration AccessAdministration Access
DDééfinitionfinitionDéfinition du schémaAnalyse
De performance, table, etc.ConversionCompressionRéparationCryptageMigration Sécurité
Autorisation, groupe d’utilisateur, mots de passe, etc.Réplication
10.10. Administration AccessAdministration Access
SchSchééma de la basema de la base
Utilisation distribuUtilisation distribuéée de d’’une une DBDB
10.10. Administration AccessAdministration Access
Access a été conçu pour fonctionner en mode multi-utilisateurs (accès simultané à la même base par plusieurs personnes). Pour cela, une méthode simple consiste à"fractionnée" la base (base.mdb) dans une nouvelle base partagée (base_fractionnée.MDB) .
Comment fractionner une Comment fractionner une base (1)base (1)
10.10. Administration AccessAdministration Access
Access 2000-XP: menu principal Outils/Utilitaires de base de donnéesAccess 95-97 : menu principalOutils/Compléments
Comment fractionner une Comment fractionner une base (2)base (2)
10.10. Administration AccessAdministration Access
Enregistrer sous : le nom de la base MDB partagée (ex: base_fractionnée.MDB)Ce fichier doit être placé dans un dossier partagé sur le réseau. Ce fichier contient uniquement les tables.
10.10. Administration AccessAdministration Access
RRéésultatsultatLa base initiale base.mdb contient maintenant des tables attachées (ou liées) uniquement.
Naturellement, Access devra être installé sur chaque poste à partir duquel l'application pourra être lancée.
10.10. Administration AccessAdministration Access
La mise La mise àà jour des attaches jour des attaches
Access 2000-XP: menu Outils/Utilitaires de base de données/ Gestionnaire de tables liéesAccess 95-97: menu Outils/Compléments/Mise à jour des liens.
10.10. Administration AccessAdministration Access
La gestion des conflits d'accLa gestion des conflits d'accèèss
Si deux utilisateurs modifient le même enregistrements de la même table un conflit sera signalé. En fait, le premier utilisateur U1 qui sauvegardera ses modifications pourra poursuivre sans être importuné par son collègue. Par contre, lorsque le deuxième U2 tentera d'en faire de même, il sera averti par l'affichage du message suivant, qu'un changement a eu lieu sur l'enregistrement qu'il tente de modifier.
A vous maintenantA vous maintenant……
A rendreA rendre
1. Est-ce qu’Access est capable d’interagir avec Excel? Si oui, Comment ?
2. Quels sont les intérêts de compacter une base Access ?
3. Comment faire une réplication sous Access ?
4. A quoi sert le menu Outils/démarrage ?