Cours VB 2007/2008 1 Complément Chapitre 6 Les Bases de Données en VB Exemples.

Slides:



Advertisements
Présentations similaires
Les Cases Cachées 3 2 Les Verbes ER Tu/ manger Je/ parler Elles/
Advertisements

VBA et les actions sur les tables
LES NOMBRES PREMIERS ET COMPOSÉS
[number 1-100].
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
A l’issue des conseils de classe de 3ème,
Portée des variables VBA & Excel
Les numéros
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Sud Ouest Est Nord Individuel 36 joueurs
Les Prepositions.
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
1. 2 Informations nécessaires à la création dun intervenant 1.Sa désignation –Son identité, ses coordonnées, son statut 2.Sa situation administrative.
Initiation et perfectionnement à lutilisation de la micro-informatique Publier des films sur DailyMotion (sur Mac et sur PC) ©Yves Roger Cornil
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
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.
Autorisations Utilisation eCATT
Chapitre 2 L’intensité du courant électrique
Minimisation Techniques 1 Assimilation Algorithms: Minimisation Techniques Yannick Trémolet ECMWF Data Assimilation Training Course March 2006.
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
Les Requêtes S.Q.L « Structured Query Language)
Présentation de l’année
Les fonctions.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Par Fabrice Pasquier Cours III
Développement d’applications web
Par Fabrice Pasquier Cours IV
La compilation logicielle dEsterel v5 Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours 4, 23 avril 2013.
Gestion des systèmes d’information
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
Les Bases de Données en VB gestion des enregistrements
Académie de Créteil - B.C Quest-ce quune Inscription 1)1 action + 1 stagiaire + 1 client 2)Parcours individuel (avec son Prix de Vente) 3)Un financement.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Cours N°2 Base de Données & Langage SQL
La Saint-Valentin Par Matt Maxwell.
Unit 4: Les animaux Unit 4: Les animaux.
PLSQL ORACLE 8i Connecter VB à BD Oracle Les collections Question de révision Les blocs anonymes Les triggers REVISION Par : Joël Huot.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
C'est pour bientôt.....
CHARAL Calendrier 2007 Dit is wat mannen boeit!.
Veuillez trouver ci-joint
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
Limiter et trier des données
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Bienvenue sur CAUTIONET l'outil On Line de gestion de caution
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
Université Ibn Zohr Faculté des Sciences Economiques et Sociales Notes de cours VBA E. Belahmidi 2007/2008.
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
Modélisation des données Niveau conceptuel DON-2 V0-0.
CALENDRIER-PLAYBOY 2020.
USAM BRIDGE H O W E L L -CLASSIQUE
Slide 1 of 39 Waterside Village Fête ses 20 ans.
Mise en œuvre du langage MDX
9 paires séries de 3 étuis ( n° 1 à 27 )
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Répondons 1 2 vends 2 3 L e s C a s e s C a c h é e s Je/ perdre Elles/ entendre Nous/ répondre Tu/ vendre Les Verbes RE.
Modification dynamique
Transcription de la présentation:

Cours VB 2007/ Complément Chapitre 6 Les Bases de Données en VB Exemples

Cours VB 2007/ Contrôles dépendants

3 Cours VB – ISG 2007/2008 Préparation de linterface Dim aj As Integer Private Sub cmdajouter_Click() aj = 1 Call MAJAffichage(Me, aj) DataEnvironment1.rsTAutor.AddNew txtNumAutorisation.SetFocus End Sub Private Sub cmdmodifier_Click() If txtNumAutorisation <> "" Then aj = 0 Call MAJAffichage(Me, aj) txtNumAutorisation.SetFocus Else MsgBox "Rien à modifier" End If End Sub

4 Cours VB – ISG 2007/2008 Validation & Annulation Private Sub CmdValider_Click() DataEnvironment1.rsTAutor.Update Call MAJAffichage(Me, aj) If aj = 1 Then Call Actualiser() DataEnvironment1.rsTAutor.MoveLast End If dans le cas où le numéro du champ est un numéro automatique End Sub Private Sub cmdAnnuler_Click() If aj = 0 Then DataEnvironment1.rsTAutor.AddNew DataEnvironment1.rsTAutor.CancelUpdate Else DataEnvironment1.rsTAutor.CancelUpdate End If Call MAJAffichage(Me, aj) End Sub

5 Cours VB – ISG 2007/2008 Suppression Private Sub cmdsupprimer_Click() If DataEnvironment1.rsTAutor.RecordCount = 0 Then Exit Sub If MsgBox("Voulez vous supprimer", vbYesNo + vbQuestion, "GSC") = vbNo Then Exit Sub End If DataEnvironment1.rsTAutor.Delete If DataEnvironment1.rsTAutor.RecordCount > 0 Then If DataEnvironment1.rsTAutor.BOF Then DataEnvironment1.rsTAutor.MoveFirst Else DataEnvironment1.rsTAutor.MovePrevious End if Else DataEnvironment1.rsTAutor.AddNew DataEnvironment1.rsTAutor.CancelUpdate End If End Sub

6 Cours VB – ISG 2007/2008 Mise à jour affichage Sub MAJaffichage(frm As Form, aj As Integer) Dim Cont As Variant For Each Cont In frm.Controls If TypeOf Cont Is TextBox Then If Cont.Tag = "" Then Cont.Locked = Not Cont.Locked ElseIf Cont.Tag <> "" And aj = 1 Then Cont.Locked = Not Cont.Locked End If 'If TypeOf cont Is CommandButton Then ' cont.Enabled = Not cont.Enabled 'End If If TypeOf Cont Is CommandButton Then Cont.Visible = Not Cont.Visible End If Next Cont End Sub

Cours VB 2007/ Contrôles indépendants

8 Cours VB – ISG 2007/2008 Préparation de linterface Dim aj As Integer Dim sauv as Variant Private Sub cmdajouter_Click() aj = 1 sauv = DataEnvironment1.rsTAutor.bookmark Call PerparerInterface(Me) Call MAJAffichage(Me, aj) txtNumAutorisation.SetFocus End Sub Private Sub cmdmodifier_Click() If txtNumAutorisation <> "" Then aj = 0 Call MAJAffichage(Me, aj) sauv = DataEnvironment1.rsTAutor.bookmark txtNumAutorisation.SetFocus Else MsgBox "Rien à modifier" End If End Sub

9 Cours VB – ISG 2007/2008 Validation & Annulation Private Sub CmdValider_Click() If aj =1 then DataEnvironment1.rsTAutor.addnew endif Call AffecterValeur () DataEnvironment1.rsTAutor.Update Call MAJAffichage(Me, aj) dans le cas où le numéro du champ est un numéro automatique If aj = 1 Then Call actualiser() DataEnvironment1.rsTAutor.MoveLast sauv = DataEnvironment1.rsTAutor.bookmark Call afficherEnregistrement() End If End Sub Private Sub cmdAnnuler_Click() Call afficherEnregistrement() Call MAJAffichage(Me, aj) End Sub

10 Cours VB – ISG 2007/2008 Suppression Private Sub cmdsupprimer_Click() If DataEnvironment1.rsTAutor.RecordCount = 0 Then Exit Sub If MsgBox("Voulez vous supprimer", vbYesNo + vbQuestion, "GSC") = vbNo Then Exit Sub End If DataEnvironment1.rsTAutor.Delete If DataEnvironment1.rsTAutor.RecordCount > 0 Then If DataEnvironment1.rsTAutor.BOF Then DataEnvironment1.rsTAutor.MoveFirst Else DataEnvironment1.rsTAutor.MovePrevious End if Sauv = DataEnvironment1.rsTAutor.Bookmark Call afficherEnregisterment() Else Call PreparerInterface() End If End Sub

11 Cours VB – ISG 2007/2008 Préparation de linterface Sub PreparerInterface(frm as form) Dim Cont As Variant For Each Cont In frm.Controls If TypeOf Cont Is TextBox Then Cont.Text = "" End If Next Cont End Sub

12 Cours VB – ISG 2007/2008 Sub AfficherEnregistrement () With DataEnvironment1.rsTAutor.bookmark = sauv txtNumAutorisation =.Fields("NumAutorisation") txtNature =.Fields("Nature") txtQtéAutorisation =.Fields("QtéAutorisation") End with End Sub Sub AffecterValeur () With DataEnvironment1.rsTAutor.Fields("NumAutorisation") = txtNumAutorisation.Fields("Nature") = txtNature.Fields("QtéAutorisation") = txtQtéAutorisation end with End Sub

13 Cours VB – ISG 2007/2008 Actualisation de recodeset (Requery) Sub Actualiser() Dim C As Control Un contrôle générique pour parcourir la collection de contrôles de feuille Dim Pos As Variant Une variable de type variant pour sauvegarder la position courante dans le recordset Dim Conn As Connection ' Une référence pour sauvegarder la connexion courante de DataEnvironment With DataEnvironment1.rsTAutor ' Sauvegarder la position courante Pos =.Bookmark ' Sauvegarder la référence de connexion active Set Conn =.ActiveConnection ' Fermer le recordset courant.Close ' Ouverture du recordset.Open, Conn ' Recréer le jeu d'enregistrements en ré-exécutant la requête Comme elle est exécutée à nouveau, il peut y avoir des enregistrements en plus ou en moins.Requery ' Une boucle pour parcourir tous les contrôles de feuille courante

14 Cours VB – ISG 2007/2008 For Each C In Me.Controls ' Verifier si le contrôle courant est un contrôle dépendant (TextBox, DataCombo,...) If TypeOf C Is TextBox Or _ TypeOf C Is DataCombo Or _ TypeOf C Is DataList Or _ TypeOf C Is MSHFlexGrid Or _ TypeOf C Is DataGrid Then ' Rédefinir la propriété DataSource de contrôle dépendant Set C.DataSource = DataEnvironment1 End If ' Pour les contrôles DataCombo et DataList ont, en plus la propriété' RowSource If TypeOf C Is DataCombo Or _ TypeOf C Is DataList Then Set C.RowSource = DataEnvironment1 End If Next.Bookmark = Pos End With End Sub Actualisation de recodeset (Requery)

Cours VB 2007/ Exemple Gestion de la table commandes

16 Cours VB – ISG 2007/2008

17 Cours VB – ISG 2007/2008 Propriétés des contrôles dataCombo 1. Code Client RowSource= DataEnvironment1 RowMember= TableClients BoundColumn= Code client ListField=Société DataSource= DataEnvironment1 DataMember= TableCdes DataField= Code client 2. N° employé RowSource= DataEnvironment1 RowMember= TableEmploye BoundColumn= N° employé ListField=Société DataSource= DataEnvironment1 DataMember= TableCdes DataField= N° employé 3. Messager RowSource= DataEnvironment1 RowMember= TableMessagers BoundColumn= N° messager ListField=Société DataSource= DataEnvironment1 DataMember= TableCdes DataField= N° messager

18 Cours VB – ISG 2007/2008 Consultation ou Navigation Private Sub CmdDernier_Click() With DataEnvironment1.rsTableCdes If.RecordCount > 0 Then.MoveLast End If End With End Sub Private Sub CmdPrecedent_Click() With DataEnvironment1.rsTableCdes If.RecordCount > 0 Then.MovePrevious If.BOF = True Then.MoveLast End If End With End Sub

19 Cours VB – ISG 2007/2008 Private Sub CmdPremier_Click() With DataEnvironment1.rsTableCdes If.RecordCount > 0 Then.MoveFirst End If End With End Sub Private Sub CmdSuivant_Click() With DataEnvironment1.rsTableCdes If.RecordCount > 0 Then.MoveNext If.EOF = True Then.MoveFirst End If End With End Sub Consultation ou Navigation

20 Cours VB – ISG 2007/2008 Consultation ou Navigation Private Sub CmdRechercher_Click() Dim s As String Dim sauv As Variant s = InputBox("n° Commande") sauv = DataEnvironment1.rsTableCdes.Bookmark DataEnvironment1.rsTableCdes.Find "[n° Commande]_ = '" + s + "'",, adSearchForward, 1 If DataEnvironment1.rsTableCdes.EOF Then MsgBox "Enregistrement inexistant" DataEnvironment1.rsTableCdes.Bookmark = sauv End If End Sub

21 Cours VB – ISG 2007/2008 Opérations de mise à jour Private Sub CmdNouveau_Click() aj = 1 Call MAJaffichage(Me, aj) DataEnvironment1.rsTableCdes.AddNew txtN°commande.SetFocus End Sub Private Sub CmdEditer_Click() If txtN°commande <> "" Then aj = 0 Call MAJaffichage(Me, aj) txtN°commande.SetFocus Else MsgBox "Rien à modifier" End If End Sub

22 Cours VB – ISG 2007/2008 Opérations de mise à jour Private Sub CmdValider_Click() DataEnvironment1.rsTableCdes.Update Call MAJaffichage(Me, aj) Call Actualiser(Me) If aj = 1 Then DataEnvironment1.rsTableCdes.MoveLast End If 'le numéro du champ est un numéro automatique End Sub Private Sub CmdAnnuler_Click() With DataEnvironment1.rsTableCdes If aj = 0 Then.AddNew.CancelUpdate Else.CancelUpdate End If Call MAJaffichage(Me, aj) End With End Sub

23 Cours VB – ISG 2007/2008 Opérations de mise à jour Private Sub CmdSupprimer_Click() With DataEnvironment1.rsTableCdes If.RecordCount = 0 Then Exit Sub If MsgBox("Voulez vous supprimer", vbYesNo + vbQuestion, "Gestion Clients") = vbNo Then Exit Sub End If DataEnvironment1.rsTableDtCdes.Open DataEnvironment1.rsTableDtCdes.Filter = "[n° Commande] = '" + txtN°commande + "'" If DataEnvironment1.rsTableDtCdes.RecordCount > 0 Then Do While Not DataEnvironment1.rsTableDtCdes.EOF DataEnvironment1.rsTableDtCdes.Delete DataEnvironment1.rsTableDtCdes.MoveNext Loop End If DataEnvironment1.rsTableDtCdes.Close.Delete If.RecordCount > 0 Then If.BOF Then.MoveFirst Else.MovePrevious End If Else.AddNew.CancelUpdate End If End With End Sub

Cours VB 2007/ collection Errors

25 Cours VB – ISG 2007/2008 La collection Errors Cest une collection qui permet de récupérer les propriétés des erreurs qui peuvent apparaître dans une application Un objet Error contient des informations relatives aux erreurs daccès aux données au cours dune opération avec le fournisseur de données.

26 Cours VB – ISG 2007/2008 Exemple Private Sub Cmdvalider_Click() On Error GoTo etiq DataEnvironment1.rsCTProduits.Update Exit Sub etiq: If Err.Number = Then MsgBox "Mon message pour doublon" End Sub

27 Cours VB – ISG 2007/2008 Erreurs !! Réagissons avant !!! 1 – 2 – 1 2

28 Cours VB – ISG 2007/2008 Erreurs !! Réagissons avant !!! – 4 –

29 Cours VB – ISG 2007/2008 Erreurs !! Réagissons avant !!! – 6 –

Cours VB 2007/ Annexe DataGrid

31 Cours VB – ISG 2007/2008 Utilisation du DataGrid (1) Supposons qu'on a un bouton de commande Valider (CMDValider) et un DataGrid (DataGrid1) et qu'on veut que le bouton valider nous permette de récupérer la valeur de la deuxième colonne de la ligne sélectionnée Private Sub CMDValider _Click() If DataGrid1.Col = 0 And DataGrid1.Row = -1 Then MsgBox ("il faut faire un choix") Else With DataGrid1.Col = 1 MsgBox.Text Equivalent à DataGrid1.Columns(0) End With End If End Sub

32 Cours VB – ISG 2007/2008 Utilisation du DataGrid (2) Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer) Dim x As String Select Case ColIndex Case 0: x = "Code_Passager" Case 1: x = "Nom" Case 2: x = "Prénom" End Select x = x + " ASC" DEBillet.rsListe.Sort = x DataGrid1.Refresh End Sub code pour permettre le tri (dans lordre croissant) de DataGrid1 par clic sur lentête de chacune de ses colonnes.

33 Cours VB – ISG 2007/2008 Annexe Représentations graphiques

34 Cours VB – ISG 2007/2008 Représentations graphiques Pour rajouter des représentations graphiques il faut utiliser le contrôle Mschart (microsft chart control 6.0) Exemple: pour afficher le résultat de la requête suivante (BD: NWIND) relative à lobjet commande (NombreProduits) SELECT Catégories.`Nom de catégorie`, COUNT(*) AS `Nombre de produits` FROM Catégories, Produits WHERE Catégories.`Code catégorie` = Produits.`Code catégorie` GROUP BY `Nom de catégorie` ORDER BY COUNT(*)

35 Cours VB – ISG 2007/2008 Représentations graphiques Private Sub Command1_Click() On Error Resume Next DataEnvironment1.rsNombreProduits.Open ' Initialisation du graphe MSChart1.AllowSelections = False ' Interdit la sélection d'objet With MSChart1.chartType = VtChChartType2dBar ' type de graphe.ColumnCount = 1 ' nombre de barre.RowCount=DataEnvironment1.rsNombreProduits.RecordCount ' nb de lignes lecture des noms des catégories dans la BD For i = 1 To DataEnvironment1.rsNombreProduits.RecordCount.Row = i.Column = 1 le nom de catégorie. RowLabel =DataEnvironment1.rsNombreProduits.Fields(0) ' nombre de produits.Data = DataEnvironment1.rsNombreProduits.Fields(1) ' la catégorie suivante DataEnvironment1.rsNombreProduits.MoveNext Next i End With MSChart1.TitleText = "Nombre de produits par catégories" End Sub

36 Cours VB – ISG 2007/2008 Représentations graphiques Nom de catégorieNombre de produits Produits secs5 Viandes6 Pâtes et céréales7 Produits laitiers10 Poissons et fruits de mer12 Condiments12 Boissons12 Desserts13