Initiation aux bases de données et à la programmation événementielle

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

Portée des variables VBA & Excel
Eléments visuels. 2009/2010L3-Eco - Université de Bordeaux2 Les feuilles La feuille : cest le cadre dans lequel tous les autres éléments (visuels) dune.
Visual Basic for Applications
Page 1 Déboguer un programme Java Jacques Lonchamp.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
L ’événement CHANGE est détecté par Vba dès qu ’un caractère est saisi ( ou tapé) dans l ’objet TextBox. Par contre l ’événement AFTERUPDATE laisse le.
INITIATION à la PROGRAMMATION STRUCTUREE
TP 3-4 BD21.
Introduction à la POO: Les classes vs les objets
Cours Visual Basic pour Application
Initiation aux bases de données et à la programmation événementielle
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
Principes de programmation (suite)
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
CPI/BTS 2 Programmation Web Introduction au PHP
Cours de programmation
Par Fabrice Pasquier Cours IV
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Programmation VISUAL BASIC
Démarche de résolution de problèmes
Création d’un programme :
Initiation aux bases de données et à la programmation événementielle
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.
Algorithmique et Programmation
Introduction à la programmation (Java)
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Semaine #1 INF130 par Frédérick Henri.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
Ift 2251 Introduction au Génie Logiciel
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Partie II Sémantique.
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
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Animateur : Med HAIJOUBI
Biologie – Biochimie - Chimie
Université Ibn Zohr Faculté des Sciences Economiques et Sociales Notes de cours VBA E. Belahmidi 2007/2008.
Javascript 2° PARTIE : EVENEMENTS ET OBJETS
Initiation MS Access 2010 Requêtes - Sélection (travail en autonomie)
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Introduction à Visual Studio C++ (VC++)
 Syntaxe du langage PHP
Algorithmique et programmation en
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Initiation au web dynamique Licence Professionnelle.
Les bases de l’algorithmique
Informatique de Gestion part I – Macro begins
Informatique de Gestion part II – the dark macro
Comprendre le SGBDR Microsoft Access – partie 2
1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.
Scripts et fonctions Instructions de contrôle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
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.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Flash 2 ème séance Interaction François Marliac Mickaël Moreira.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
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° 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° 1 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° 4 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° 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é.
Transcription de la présentation:

Initiation aux bases de données et à la programmation événementielle Cours N°6 : VBA sous ACCESS Support de cours de Soheib BAARIR*. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr Université Paris Ouest Nanterre la Défense. 2009-2010. * Adapté du cours de B. COFFIN. Reproduction interdite sans autorisation écrite de l’auteur.

Visual Basic For Application Le Traitement Traitements SGBD Interfaces de visualisation BDR Moteurs d’Interprétation Moteur de BD Requêtes SQL Programmes VBA Éditeur Graphique Visual Basic For Application

(Un minimum à savoir pour les traitements à programmer dans ce cours) VBA : introduction (Un minimum à savoir pour les traitements à programmer dans ce cours) Langage de programmation : impérative, procédural, événementiel. Permet d’automatiser des tâches : devenir plus productif…

VBA : programmation procédurale ? Définition : La programmation procédurale est un paradigme de programmation basé sur le concept d'appel procédural. Une procédure, aussi appelée routine, sous-routine, méthode ou fonction contient simplement une série d’instructions à réaliser. N'importe quelle procédure peut être appelée à n'importe quelle étape de l'exécution du programme, incluant d'autres procédures voire la procédure elle-même (récursivité). Avantages : La possibilité de réutiliser le même code à différents emplacements dans le programme sans avoir à le retaper. La création d'un code plus modulaire et structuré. Une façon plus simple de suivre l'évolution du programme. Sub NomDePrcédure() ‘ici Traitement NomDePrcédure1() End Sub Sub NomDePrcédure1() ‘ici Traitement1 End Sub

VBA : programmation événementiel ? évènements - cliquer, - double cliquer, - changer une valeur - …  Prog. VBA Capturer les évènements Traiter les évènements Prog. VBA C’est une procédure particulière Capturer un évènement  Gestionnaire d’évènement. VBA attribut à chaque évènement un gestionnaire. Exemple : Private Sub bouton1_Click() Traiter l’évènement End Sub

VBA : traiter un évènement Écrire une suite d’instructions en réponse à l’évènement en question. Pour écrire ces instructions, il faut : savoir ce qu’on veut faire pour traiter l’évènement , connaitre les éléments du langage VBA : Variables, Types, Affections, Structures de contrôle, Entrée-Sortie Classe et Objets, …

VBA : variable un identificateur (nom de la variable), C’est une zone de la mémoire centrale permettant d’enregistrer une valeur et de l’utiliser ensuite pour faire des calculs. Une variable à : un identificateur (nom de la variable), a, b, taux, resultat… un type, Byte, Integer, Boolean, Double, String, Variant une portée, Public, Private, Dim

VBA : déclaration de variable <Portée> <identificateur> as <type> Option Explicit ’obligatoire dans le cadre du cours Private Sub txPrixHT_AfterUpdate Dim Résultat as Double ’ la variable résultat est un réel Dim A, B as Boolean ’ ici A est du type Variant !! ’ ici les instructions à exécuter End Sub

VBA : Affectation Syntaxe : NomDeVariable = Expression Ranger une information (valeur) dans la zone mémoire associé à une variable, et donc modifier la valeur de la variable. Syntaxe : NomDeVariable = Expression Il faut qu’il y ait concordance de type entre l’expression et la variable soit elles sont de même type, soit VBA sait comment transcrire un type dans un autre. Private Sub txPrixHT_AfterUpdate Dim Résultat as Double ’ la variable résultat est un réel Dim A, B as Boolean ’ ici A est du type Variant !! B = 1 Résultat = 5,5 * B A = "Hello Word " End Sub

VBA : structures de contrôle Donner au programmeur des outils pour définir les instructions effectivement exécutées, et leur ordre d’exécution, en fonction du contexte de l’exécution. Deux types : Structures de contrôle alternatives, choix entre plusieurs séquences d’instructions Structures de contrôle répétitives , possibilité de répéter, sous conditions, une séquence d’instruction.

VBA : contrôle alternative Plusieurs syntaxes possibles… If expression booléenne Then ’ici traitement_1 Else ’ici traitement_2 End if Passages à la ligne obligatoires Facultatif

VBA : contrôle répétitive Plusieurs syntaxes possibles… Do While expression booléenne ’ici traitement Loop Do ’ici traitement Loop While expression booléenne Do Until expression booléenne ’ici traitement Loop Do ’ici traitement Loop Until expression booléenne

VBA (ACCES) : Entrée-sortie C’est ACCESS qui gère la communication entre l’ordinateur et l’utilisateur au moyen d’interfaces. le formulaire. l’état. Notions de classe et d’objet.

Exemple de Formulaire Étiquettes / le SGBD informe l’utilisateur Zone de liste déroulante / l’utilisateur sélectionne une information (de la BD) Zone de texte / l’utilisateur peut saisir une information (nouvelle) Boutons de commande / en cliquant, l’utilisateur déclenche un traitement (un gestionnaire d’évènement)

Un Objet est une instance particulière d’une classe. VBA : Classe Une classe déclare des caractéristiques communes à un ensemble d'objets. Formulaire (Form) Étiquette (Label) Zone de texte (TextBox) Zone de liste déroulante (ComboBox) Bouton de commande (CommandButton) Sont des Classes. Une classe définie un ensemble : de propriétés, de méthodes, de gestionnaires d’évènements. Un Objet est une instance particulière d’une classe.

Classe : propriétés Définissent les caractéristiques d’un objet d’une classe. Les propriétés varient d’une classe à l’autre. Pour toute les classes, nom (name), Pour la classe Étiquette (Label), légende (caption),… Pour la classe Zone de texte (TextBox), valeur (value),… Pour la classe zone de liste déroulante (ComboBox), contenu (row source),…

Classe : méthodes Devenir actif, Définissent les traitements de base liés à la classe. Ce que peut faire les objets de la classe. Les méthodes varient d’une classe à l’autre. Syntaxe d’invocation: NomObjet.NomMéthode Devenir actif, nomObjet.SetFocus Exécuter la requête, nomObjet.Requery Ps : la liste des classes et des leurs méthodes est très vaste en VBA, donc impossible à retenir  Recourir au Help (icône « ? » sur ACCESS).

Classe : Gestionnaires d’évènements Captures les évènement appliquer sur un objet de la classe Les gestionnaire varient d’une classe à l’autre. Syntaxe générale : Private Sub NomObjet_NomEvénement ’traitement à écrire par le programmeur End Sub un clic sur l’objet, Private Sub nomobjet_Click() End Sub avant une mise à jour, Private Sub nomobjet_BeforeUpdate(Cancel As Integer)

Conventions à respecter Les éléments (objets) d’un formulaire s’appellent des contrôles. Le nom du contrôle doit commencer par deux ou trois lettres indiquant de quoi il s’agit suivies de son nom proprement dit. étPrix, pour une étiquette, btValider, pour un bouton de commande. Etc. Les gestionnaires d’évènements des contrôles d’un formulaire et celles du formulaire lui-même sont regroupées dans un même module.