VBA et les actions sur les tables

Slides:



Advertisements
Présentations similaires
Les Structures.
Advertisements

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é
(Classes prédéfinies – API Java)
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Les Bases de données et le Web
LES DROITS DROITS Ce menu permet d'accéder à la saisie des paiements, à l'affichage des droits et à la validation des remboursements. SAISIE DES PAIEMENTS.
! ! ! PROCEDURE TYPE POUR ORGANISER L ’ANONYMAT
! 1 CREATION D'UNE MAQUETTE EXPORT / IMPORT
. Si vous êtes revenu au gestionnaire de programmes et que vous êtes apparemment déconnecté : Solution : taper simultanément + pour remettre Apogée à l'écran.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
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.
Structures de données linéaires
Module 1 : Préparation de l'administration d'un serveur
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
responsable de responsable creer données cours cursus générer edt
Les instructions PHP pour l'accès à une base de données MySql
Biologie – Biochimie - Chimie
Les Bases de Données en VB gestion des enregistrements
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
INSCRIPTION AUX ELEMENTS
AFFECTATION D'UN ETUDIANT EDITION DES CONVENTIONS
PROGRAMMATION INFORMATIQUE DINGÉNIERIE II PRO-1024.
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Initiation aux bases de données et à la programmation événementielle
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Les transactions.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Programmation multimédia 3
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
A ctiveX D ata O bject avec D elphi Durée 14 heures.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Créer des packages.
Rappel  Caractéristiques d’un fichier ASP  Son extension : « *.asp »  La balise:  Son indépendance vis à vis de toute.
Modification dynamique
PROCEDURE TYPE PROCEDURE TYPE DE
CONSULTER permet toujours d’explorer le protocole sans y apporter de modification. Pour MODIFIER le protocole, il faut indiquer le motif de cette.
 Syntaxe du langage PHP
 Requêtes MySQL en PHP Introduction
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Windows 2003 Server Modification du mode de domaine
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sélection de colonnes (la projection)
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
Les fichiers 1ère partie
 Formulaires HTML : traiter les entrées utilisateur
Initiation au web dynamique Licence Professionnelle.
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Séance /10/2004 SGBD - Approches & Principes.
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
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.
Tutoriel V_Stage Cliquez pour continuer.
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Le Langage de Manipulation de Données LMD Module 6.
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
Accès simplifié Web pour les responsables de Cuma 3 mars 2016.
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° 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é.
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é.
Transcription de la présentation:

VBA et les actions sur les tables Cours de Bernard COFFIN Université Paris 10 – Nanterre / IUP MIAGE 1ère année Reproduction interdite sans l’accord de l’auteur

Recordset C’est un type de variable qui permet de mémoriser des informations complexes composées de : Plusieurs enregistrements Qui contiennent chacun plusieurs champs.

Ça ressemble… … à un fichier Mais… ça n’en est pas un, car tout se passe en mémoire centrale. Les modifications sur les tables via un « recordset » nécessitent donc un ordre ad hoc.

Plusieurs technologies Pour utiliser une base de données relationnelles, il faut un « moteur de recherche ». SQL est un langage commun aux moteurs Mais, en dehors de la requête, les spécificités du domaine réapparaissent.

ADO Nous utiliserons seulement le moteur le plus récent : ADO Abréviation de activeX Data Objects Descendant de la technologie précédente : DAO. Nombreuses similitudes. Se référer à Internet pour les différences.

Ouvrir les bibliothèques ADODB De nombreux environnements sont possibles sous ACCESS. Pour chacun, il faut des bibliothèques spécialisées. Elles ne sont pas toutes ouvertes simultanément. Il FAUT aller dans la commande Outils, puis Références, et là cocher l’option Microsoft ADO Ext 2. etc. Sinon, la compilation n’est pas possible.

Déclaration d’un recordset Syntaxe : Dim Vue as New ADODB. Recordset On voit que c’est en fait un pointeur.

Connexion avec la base Le type de la variable, son utilisation dans un projet lié à une BD ACCESS, ne suffisent pas à établir un lien entre la variable et les données qu’elle doit recueillir.

Une connexion en deux temps Il faut d’abord établir le lien avec la base de données globale. Le plus souvent c’est celle qui contient le projet qu’on est entrain de décrire, mais ce n’est pas obligatoire. Ensuite, il faut établir un lien avec un sous-ensemble des données de la base, c’est-à-dire avec une vue.

Connexion avec la base de données Il est possible d’utiliser des options par défaut… mais ce n’est pas comme ça qu’on apprend. Déclarer une variable de type connexion. C’est un pointeur. Donc : Dim Ma_base as New ADODB.connection … Set Ma_base = CurrentProject.connection

Réalisation de la vue On exécute la méthode open de l’objet Recordset, en indiquant un certain nombre d’arguments. L’assistant propose la liste des arguments au fur et à mesure de la frappe de l’instruction.

1er argument : la requête Vue.Open "Select [table étudiants].[Nom étudiant]," _ & "[table étudiants].[Prénom étudiant]" _ & "From [table étudiants];", Attention à la syntaxe : l'instruction SQL est une constante de chaîne de caractères de VBA (encadrée par des guillemets. Si elle ne tient pas sur une ligne, il faut la décomposer en sous chaînes concaténées. Possibilité aussi d'affecter la constante à une variable, et d'utiliser l'identificateur de ladite variable. Nom de l’objet.La méthode

2eme argument : la connexion Vue.Open "Select [table étudiants].[Nom étudiant]," _ & "[table étudiants].[Prénom étudiant]" _ & "From [table étudiants];", Ma_base, _

3eme argument : curseur Le type du curseur, c'est-à-dire le mode d'ouverture de la vue. Utilisez des constantes : adOpenForwardOnly (lecture séquentielle et on ne peut revenir en arrière : lecture du début à la fin) adOpenKeyset (simulation d’un fichier à organisation aléatoire; permet d’être tenu au courant des modifications apportées par d’autres utilisateurs. Si rajout d’un enregistrement ce n’est pas accessible) adOpenDynamic (si un autre utilisateur ou une autre procédure du même projet ajoute une donnée, il permet de consulter ces nouveaux ajouts qui ont été faits depuis= rafraîchissement permanent de la vue) adOpenStatic (on a une vue qui est statique : on recopie complètement la base de donnée, on continue à travailler sur les valeurs initiales, on est pas au courant de modifications effectuées).

Vue.Open "Select [table étudiants]![Nom étudiant]," _ & "[table étudiants]![Prénom étudiant]" _ & "From [table étudiants];", Ma_base, _ adOpenKeyset,

4eme argument : verrou Le verrouillage des enregistrements assure leur protection (impossible de modifier dans certains cas). Défini par des constantes. AdLockOPtimistic (pas en réseau, un seul utilisateur) AdLockPessimistic (dans le cas de plusieurs utilisations simultanés d'une donnée) AdLockReadOnly (on peut lire seulement) AdLockBatchOptmistic (mise a jour par lot: enregistré a la fin avec les autres registres)

Vue.Open "Select [table étudiants].[Nom étudiant]," _ & "[table étudiants].[Prénom étudiant]" _ & "From [table étudiants];", Ma_base, _ adOpenKeyset, adLockOPtimistic

La méthode open constitue la vue Après son exécution, l'ensemble des données décrit par la requête SQL est disponible. Reste à l'exploiter.

Méthodes de changements d'enregistrement Il y en a toute une famille. Leur point commun : Move Nous utiliserons .MoveFirst (ouvre et déjà qchose dans tes cases) .MoveLast(positionne sur le dernier) .MoveNext .MovePrevious Ex. : Vue.MoveFirst Bien noter la syntaxe.

2 propriétés bien utiles .EOF et .BOF Leur type : booléen. Attention prennent la valeur Vrai si le pointeur d’enregistrement est positionné après le dernier enregistrement, ou avant le premier enregistrement, et non pas sur le premier ou le dernier.

Accès aux champs Deux syntaxes possibles : Mettre le nom du champ entre parenthèses : Vue ([Nom étudiant]) Faire précéder le nom du champ d'un point d'exclamation : Vue![Nom étudiant]

Mise à jour de la base On utilise la méthode .Update Ce n'est qu'après son exécution que la mise à jour est reportée (qu'il s'agisse d'une modification de valeurs de champs, d'ajout ou de suppression d'enregistrements) Pour ces deux derniers cas, utiliser (avant…) les méthodes .AddNew et .Delete

Remarque : AddNew crée un nouvel enregistrement qui devient l'enregistrement courant. Si on avait commencé une modification, ADO lance Update avant l'ajout. Delete et Update ne modifient pas l'enregistrement en cours.

Déconnexion On utilise la méthode .Close Après… le contenu du Recordset n'est plus disponible. Attention : on ne peut pas rouvrir la requête avant de l'avoir fermée. Pour savoir si le Recordset est ouvert, utiliser la propriété .State, et la comparer à l'une des deux constantes adStateOpen ou adStateClose.

Et maintenant… à vous de jouer !