INTRODUCTION........................................................... xxxiii Pourquoi ce livre?......................................... xxxiii Ce que vous devez savoir.................................. xxxiv Ce dont vous avez besoin.................................. xxxiv Comment utiliser ce livre?.................................. xxxv Comment lire ce livre?.................................... xxxvii Nous contacter.......................................... xxxviii Remerciements.......................................... xxxviii
vi ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR PARTIE 1 INTRODUCTION AU DÉVELOPPEMENT.......................... 1 CHAPITRE 1 ACCESS POUR LE DÉVELOPPEUR - VUE D'ENSEMBLE...................... 3 Présentation d'access......................................... 3 L'histoire d'access............................................ 5 Quoi de neuf dans Access 2002?............................... 6 Access et la concurrence...................................... 7 Développeur interne contre consultant indépendant................ 9 Le développeur interne......................................... 9 Le conseiller indépendant...................................... 10 En résumé................................................. 10 CHAPITRE 2 LA CONCEPTION D'UNE BASE DE DONNÉES............................. 13 Les principes fondamentaux de la conception.................... 13 Du papier à la réalité.......................................... 13 Etape 1 : consultation client.................................... 14 Etape 2 : définition des sorties.................................. 16 Etape 3 : définition de données.................................. 16 Etape 4 : définition et normalisation des tables...................... 18 Etape 5 : définition des entrées.................................. 19 Etape 6 : conception d'application................................ 20 Etape 7 : tester et mettre au point............................... 20 Comprendre les clés primaires................................. 21 Comprendre les relations entre les tables........................ 21
TABLE DES MATIÈRES vii L'utilisation des assistants de base de données................... 24 Maintenance de la base de données........................... 30 Compacter une base de données................................. 31 Réparation d'une base de données................................ 33 Ajouter des icônes pour compacter ou réparer.................... 34 En résumé................................................. 35 PARTIE 2 TRAVAILLER AVEC LES OBJETS............................... 37 CHAPITRE 3 LES TABLES......................................................... 39 Le développeur et la création des tables........................ 40 Renseignement des noms de champs.............................. 40 Choisir les types de données.................................... 44 Ajouter une description........................................ 46 Utilisation des propriétés de champ.............................. 46 Quand utiliser un champ Mémo ou un champ OLE?................... 47 La propriété Taille du champ.................................... 49 Les champs Date et l'an 2000................................... 50 La propriété Nouvelles valeurs................................... 51 La propriété Format........................................... 51 La propriété Décimales........................................ 54 La propriété Masque de saisie................................... 54 La propriété Légende.......................................... 56 La propriété Valeur par défaut................................... 57 Les règles de validation et la propriété Valide si..................... 57 La propriété Null Interdit...................................... 59 La propriété Chaîne vide autorisée................................ 59 La propriété Indexée.......................................... 60 Les champs en tant que clés primaires.......................... 60 Permuter et effacer des champs............................... 62
viii ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Sauvegarder votre nouvelle table.............................. 62 Ajouter des index aux tables.................................. 63 Etablir des relations entre les tables et l'intégrité référentielle........ 65 Aide pour la normalisation avec l'assistant Analyseur de table...... 69 Utilisation de sources de données externes...................... 71 Fichiers importés et liés........................................ 72 Questions sur les conversions de champs........................... 74 Joindre ou importer des fichiers?................................ 75 Exemple d'application pour les ressources humaines............... 76 En résumé................................................. 78 CHAPITRE 4 LES REQUÊTES....................................................... 81 Les requêtes et leur utilisation................................. 82 Vue d'ensemble pour la conception de requête................... 83 Créer des requêtes de sélection............................... 84 Ajouter des tables aux requêtes............................... 85 Ajouter des champs aux requêtes.............................. 86 Indiquer des critères pour les requêtes.......................... 88 Utilisation des critères "ET"..................................... 90 Utilisation des critères "OU".................................... 91 Combinaison de critères "ET" et "OU"............................. 92 Utilisation des caractères génériques.............................. 92 Utilisation de l'opérateur "Pas".................................. 93 Utilisation des opérateurs "NULL" et "EST PAS NULL".................. 93
TABLE DES MATIÈRES ix Choisir un ordre de tri........................................ 94 Champs cachés............................................. 94 Exécuter des requêtes....................................... 95 Impression des résultats de requête............................ 96 Sauvegarder les requêtes pour un usage ultérieur................. 97 Autres caractéristiques de la conception de requête............... 97 Utilisation des alias dans les requêtes............................. 98 Utilisation des calculs dans les requêtes........................... 99 Totaux calculés dans les requêtes............................. 100 Travailler avec des requêtes d'action.......................... 102 Création et utilisation de requêtes de création de table............... 104 Créer et utiliser des requêtes d'ajout........................... 106 Créer et utiliser des requêtes de mise à jour..................... 107 Créer et utiliser des requêtes de suppression.................... 108 Les erreurs dans les requêtes d'action.......................... 110 Violations de clé............................................. 111 Erreur de conversion de type.................................... 111 Enregistrements verrouillés..................................... 112 Travailler avec des requêtes paramétrées....................... 112 Travailler avec des relations dans les requêtes................... 116 Création de requêtes relationnelles............................... 117 Ajouter des tables aux requêtes.................................. 118 Création des relations......................................... 119 Placer des limites pour la mise à jour............................ 122
x ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Limitation des mises à jour pour les requêtes relationnelles............ 123 Changer le type de jointure par défaut......................... 124 Créer des requêtes récursives................................ 128 Créer des requêtes d'analyse croisée.......................... 129 Le langage SQL (Structured Query Language)................... 133 Conventions de langage SQL................................... 133 Utilisation des options de prédicat.............................. 136 Utilisation des clauses Jointure................................. 138 Requêtes SQL spécifiques................................... 139 Créer des requêtes d'union..................................... 139 Créer des requêtes SQL Direct................................... 140 Créer des requêtes de définition de données....................... 142 Microsoft Jet SQL contre la norme ANSI SQL....................... 142 Utiliser des requêtes avec des formulaires et des états............ 144 Modifier des propriétés de requête............................ 145 Optimiser l'exécution des requêtes............................. 151 Requêtes et relations de tableau................................. 151 Requêtes et indexation....................................... 152 L'analyseur de performance.................................... 153 Les requêtes dans une application destinée aux ressources humaines.................................... 154 En résumé................................................ 156 CHAPITRE 5 LES FORMULAIRES................................................... 159 Créer des formulaires avec l'assistant de formulaire.............. 160
TABLE DES MATIÈRES xi Créer un formulaire manuellement............................. 166 Changer la taille et la largeur d'un formulaire...................... 168 Prévisualisation des formulaires................................. 169 Sauvegarde de formulaire..................................... 169 Utiliser les contrôles......................................... 170 Ajouter des contrôles liés aux formulaires......................... 170 Sélectionner et travailler avec les contrôles........................ 172 Utilisation de la Boîte à outils pour ajouter des contrôles............. 174 Ajouter des contrôles calculés.................................. 176 Modification des propriétés du contrôle........................... 177 Entrer des expressions dans les contrôles......................... 182 Changer la couleur et les effets dans le contrôle.................... 184 Ajouter des cases à cocher, des boutons d'option et à bascule.......... 185 Ajouter des zones de liste et des zones de liste modifiables............ 185 Ajouter des boutons de commande.............................. 187 Ajouter une image et des contrôles graphiques..................... 190 Changer l'ordre de tabulation pour les contrôles..................... 191 Impression des formulaires.................................... 192 Travailler avec des propriétés de formulaire........................ 193 Les propriétés de format...................................... 194 Réglage de l'affichage du formulaire............................. 196 Cacher les barres de défilement ou le sélecteur d'enregistrements....... 197 Changer la légende dans la barre de titre.......................... 197 Les propriétés de l'onglet Données.............................. 198 Les propriétés de l'onglet Autres................................ 199 Créer des formulaires relationnels............................... 200 Créer des formulaires relationnels avec des formulaires indépendants.... 203 Placer des limites pour les formulaires relationnels.................. 207 Créer des formulaires avec des onglets............................ 208 Ajouter des contrôles Onglet................................... 209 Visualisation des propriétés du contrôle Onglet..................... 212 Utiliser la propriété d'incrément de page.......................... 214 Utiliser la propriété Multiligne.................................. 215 Utiliser la propriété Style pour changer le style du contrôle Onglet...... 216 Créer des formulaires avec plusieurs pages......................... 217 Utiliser le filtre par formulaire pour analyser des données............. 218 Utiliser les contrôles ActiveX................................... 219 Ajouter le contrôle Calendrier au formulaire........................ 221 Utilisation des événements de contrôle ActiveX..................... 225 Enregistrement et questions des autorisations des contrôles ActiveX..... 226 Avertissement concernant les contrôles ActiveX..................... 227 Les formulaires et l'environnement multi-utilisateurs................. 227 Formulaire léger contre formulaire poids lourd...................... 230
xii ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Les formulaires dans une application destinée aux ressources humaines.................................... 231 En résumé................................................ 231 CHAPITRE 6 LES ÉTATS......................................................... 235 Réflexions sur la conception des états......................... 236 Créer des états avec l'assistant d'état......................... 237 Créer un état manuellement.................................. 242 Comprendre la disposition des états............................. 244 Aperçu des états............................................ 246 Sauvegarde des états......................................... 248 Utiliser des contrôles........................................ 248 Ajouter des contrôles attachés.................................. 248 Sélectionner et travailler avec des contrôles....................... 249 Utilisation de la Boîte à outils pour ajouter des contrôles............. 252 Ajouter des contrôles calculés.................................. 254 Travailler avec des étiquettes et des zones de texte.............. 255 Création d'étiquette non liée................................... 255 Modifier l'apparence du texte dans les contrôles.................... 256 Travailler avec des zones de texte liées à des champs et à des expressions. 256 Changer les propriétés des contrôles.......................... 257 Types courants des propriétés des contrôles........................ 258 Propriétés et semi-héritage.................................... 259 Les propriétés Auto-extensible et Auto-réductible................... 259 Changer la source de données............................... 260 Trier et regrouper des données............................... 261 Ajouter des numéros et des ruptures de page................... 264
TABLE DES MATIÈRES xiii Ajouter la date du jour ou l'heure.............................. 264 Ajouter des images et des graphiques......................... 265 Créer des états relationnels.................................. 266 Ajouter un sous-état aux états principaux......................... 267 Limites de conception pour des états relationnels................... 269 Utilisation des requêtes d'analyse croisée comme sous-états........... 270 Ajouter des graphiques..................................... 271 Comprendre les graphiques.................................... 271 Ajouter des graphiques avec l'assistant de graphique................. 272 Modifier les graphiques....................................... 275 Créer des états formatés comme des étiquettes................. 280 Créer des états de publipostage.............................. 284 Utiliser des effets spéciaux................................... 287 Créer une ombre pour les textes................................ 287 Utilisation de la vidéo inverse.................................. 288 Apparence 3D enfoncé, mettre en relief des contrôles................ 288 Utilisation de la concaténation de texte.......................... 289 Utilisation de la fonction IIF................................... 289 Utilisation des calculs cumulés................................. 290 Traiter des tâches peu courantes.............................. 291 Créer des états multicolonnes.................................. 291 Manipulation des pages impaires et paires......................... 293 Impression de plusieurs copies d'étiquettes de mailing............... 294 Indication d'un numéro de première page spécifique................. 296 Solution aux problèmes du format Monnaie et des alignements......... 296 Contrôle de l'imprimante...................................... 297 Les états dans une application destinée aux ressources humaines.. 298 En résumé................................................ 299
xiv ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR CHAPITRE 7 LE PASSAGE DES MACROS À VBA................................... 303 Créer et exécuter des macros................................ 304 Les macros, pour quoi faire?................................... 305 Spécifier des actions de macros manuellement...................... 306 Spécifier des actions avec le Drag and Drop......................... 311 Sauvegarder les macros....................................... 313 Exécuter des macros......................................... 313 Copier des macros........................................... 314 Grouper des macros........................................ 314 Créer des macros qui s'exécutent automatiquement.............. 315 Assigner des touches à une macro AutoKeys.................... 317 Employer des expressions conditionnelles dans les macros........ 318 Exécuter une macro à partir d'une autre macro.................. 320 Déboguer les macros....................................... 320 Terminer une application macro............................... 321 Cacher les macros aux utilisateurs............................... 322 Changer le pointeur de souris en sablier.......................... 322 Désactiver l'écho............................................ 322 Désactiver les avertissements................................ 323 Macros contre code VBA.................................... 323 Avantages des macros........................................ 323 Avantages du code VBA....................................... 324 Basculer vers le code VBA..................................... 325 Convertir les macros existantes en VBA........................... 328 En résumé................................................ 331
TABLE DES MATIÈRES xv PARTIE 3 PROGRAMMATION AVEC ACCESS............................ 333 CHAPITRE 8 INTRODUCTION AU DÉVELOPPEMENT BASÉ SUR DES OBJETS............. 335 Définition d'une application Access............................ 335 L'environnement de programmation orientée objet............... 338 Les objets définis........................................... 339 La terminologie programmation orientée objet..................... 340 Encapsulation........................................... 340 Polymorphisme.......................................... 340 Héritage.............................................. 341 L'environnement d'access basé sur l'objet...................... 342 Objets et formulaires......................................... 342 Autres objets de base d'access................................. 343 Objets et propriétés.......................................... 344 Le modèle objet........................................... 344 L'Explorateur d'objets....................................... 347 En résumé................................................ 349 CHAPITRE 9 PRINCIPES FONDAMENTAUX DE VBA.................................. 351 Pourquoi utiliser VBA?....................................... 352 Apprendre par l'exemple...................................... 354 Similitudes entre VBA et les langages structurés traditionnels....... 354 Créer le code VBA avec les assistants de contrôle............... 355 Les domaines d'application.................................. 358
xvi ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Modules et procédures...................................... 360 Créer des modules de classe pour des formulaires et des états.......... 362 Créer des modules standard.................................... 363 Voir la structure d'un module................................... 364 Entrer et modifier du code dans la fenêtre de module................ 365 Compilation de votre code dans des modules....................... 368 Utiliser le caractère de suite de ligne............................. 368 Inclure des commentaires dans le code VBA........................ 369 Impression des procédures dans des modules....................... 369 Utiliser des procédures Function et Sub........................... 370 Syntaxe de la procédure Function............................... 370 Syntaxe de la procédure Sub................................... 371 Appeler des procédures dans des modules......................... 372 Passage de paramètres dans des procédures........................ 372 Variables, types de données et tableaux.......................... 373 Donner à une variable une portée pour l'application entière............ 375 Définir les types de données des variables......................... 375 Déclaration de tableaux....................................... 376 Opérateurs, constantes, méthodes et événements............... 378 Les opérateurs.............................................. 378 Les constantes............................................. 379 Les méthodes.............................................. 380 Les événements............................................. 381 Utiliser des structures de contrôle............................. 381 If Then End If.......................................... 381 Le "si" immédiat IIF......................................... 382 Select Case................................................ 383 DO LOOP et FOR NEXT..................................... 384 While Wend.............................................. 385 With End With............................................ 386 For Each................................................ 387 Utiliser DoCmd pour appeler des actions de macro............... 388 L'aide en ligne............................................. 390 Personnaliser l'éditeur....................................... 391 L'onglet Editeur............................................. 391 L'onglet Format de l'éditeur.................................... 393 L'onglet Général............................................ 394 L'onglet Ancrage............................................ 396
TABLE DES MATIÈRES xvii Ecrire du code VBA facile à maintenir.......................... 396 Exemples de procédures.................................... 397 Le bouton Add Record........................................ 398 Le bouton View Calls......................................... 399 Les boutons Edit Record et Save Record........................... 400 L'événement Après MAJ du formulaire............................ 401 L'événement Avant MAJ du formulaire............................ 401 L'événement de formulaire Sur Ouverture.......................... 402 L'événement Après MAJ d'un groupe d'options...................... 402 L'événement Après MAJ d'une zone de liste déroulante............... 404 L'option Print Client List du menu Fichier......................... 406 En résumé................................................ 406 CHAPITRE 10 PROGRAMMATION PILOTÉE PAR DES ÉVÉNEMENTS..................... 409 Le modèle piloté par des événements......................... 410 Liaison des événements au code VBA......................... 412 Liaison des événements aux macros........................... 414 Un exemple d'utilisation des événements....................... 415 Les types d'événements..................................... 417 Evénements de données...................................... 417 Evénements d'erreur et de synchronisation........................ 419 Evénements de filtre......................................... 420 Evénements de focus......................................... 420 Evénements de clavier........................................ 421 Evénements de souris........................................ 421 Evénements d'impression...................................... 423 Evénements de fenêtre....................................... 423 Compréhension de l'ordre des événements..................... 425 Ouverture, bascule entre formulaires et fermeture................... 425 Mise à jour des données dans les contrôles........................ 427
xviii ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Des événements selon les tâches............................. 428 Réponses aux frappes de touches................................ 428 Manipulation des suppressions d'enregistrements................... 430 Utiliser des événements pour des enregistrements entiers............. 431 Utiliser des événements pour un état et les sections d'un état.......... 432 En résumé................................................ 435 CHAPITRE 11 CONSTRUIRE L'INTERFACE UTILISATEUR................................ 437 Elaborer une interface utilisateur "facile à utiliser"................ 438 Utiliser l'existant............................................ 439 Mettre en application la conception de l'interface utilisateur........ 440 Menus et barres d'outils..................................... 442 Définir les termes du menu.................................... 444 Construire des menus et des barres d'outils avec l'objet Barre de commandes......................................... 444 Paramétrage du type de barre de commandes...................... 447 Ajouter des menus personnalisés à la barre de commandes............ 448 Ajouter des éléments de menu d'access aux menus.................. 449 Ajouter une commande personnalisée qui appelle une macro existante ou une fonction VBA......................................... 449 A propos des propriétés de menu................................ 453 Ajouter des menus raccourcis.................................. 454 Créer des barres d'outils personnalisées........................... 455 Modification des menus et des barres d'outils intégrés d'access......... 457 A propos des touches directes et des touches assignées aux macros...... 457 Attacher des menus et des barres d'outils aux formulaires et aux états............................................... 458 Remplacer des menus par défaut par des menus personnalisés.... 460 Un exemple de menu et d'interface utilisateur pour une application.. 461
TABLE DES MATIÈRES xix Convertir des macros de menu en barres de commandes.......... 466 Utiliser des tableaux de bord pour créer un prototype d'application.. 467 Modifier des tableaux de bord créés avec les assistants de base de données........................................ 471 Mettre en application un écran de présentation.................. 474 Cacher la fenêtre de base de données......................... 478 Montrer des messages avec la fonction MsgBox................. 479 Utiliser la fonction InputBox pour obtenir la réponse d'un utilisateur... 482 Astuces pour la conception de l'interface utilisateur............... 483 Segmenter l'écran pour organiser des données...................... 483 Saisir les données de la manière la plus logique..................... 484 Les formulaires modaux pour la saisie de données critiques............ 485 Utiliser le texte comme une aide................................ 485 Inclure de nombreux raccourcis clavier dans les menus............... 487 L'ancrage : pour éviter la perte des menus personnalisés ou des barres d'outils........................................ 487 Des images "faciles à comprendre" sur les boutons de commande....... 487 Montrer et cacher les boutons et les champs....................... 488 Utiliser efficacement les contrôles Access......................... 488 Des espaces vides autour des formulaires.......................... 488 Ajouter de l'aide aux applications............................... 489 Utiliser la barre d'état et les textes d'info-bulles.................... 489 Pas d'images graphiques inutiles................................ 489 Les bonnes couleurs là où il faut................................ 490 Des messages d'erreur clairs et concis............................ 490 En résumé................................................ 491 CHAPITRE 12 LES OBJETS D'ACCÈS AUX DONNÉES (DAO)......................... 493 Définition................................................. 494
xx ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Pourquoi utiliser les DAO?................................... 495 Access et le modèle DAO.................................... 496 Propriétés et méthodes....................................... 497 L'objet DBEngine............................................ 498 L'objet Error................................................ 499 L'objet Workspace........................................... 500 Les objets User et Group...................................... 501 L'objet Database............................................ 502 L'objet TableDef............................................. 503 L'objet QueryDef............................................ 504 L'objet Recordset............................................ 505 L'objet Field............................................... 506 L'objet Relation............................................. 507 Les objets Container et Document............................... 508 L'objet Index............................................... 510 L'objet Paramètre........................................... 510 Référence des bibliothèques DAO.............................. 511 Travailler avec le code spécifique DAO........................ 512 Travailler avec les objets TableDef et QueryDef................. 513 Créer des tables avec TableDef.................................. 514 Lier une table externe avec TableDef............................. 515 Créer et travailler avec des requêtes avec QueryDef.................. 516 Travailler avec des objets Recordset........................... 517 Les objets Recordset de type Table.............................. 519 Les objets Recordset de type Dynaset............................ 520 Les objets Recordset de type Snapshot........................... 521 Navigation à l'intérieur des recordsets............................ 522 Trouver des enregistrements avec l'objet Recordset.................. 523 La méthode Seek......................................... 523 La méthode Find......................................... 524 Modifier des enregistrements avec l'objet Recordset.................. 525 Ajouter et supprimer des enregistrements avec l'objet Recordset........ 526 Mettre en application le processus transactionnel avec le code DAO. 527 A propos des transactions multiples.............................. 530 A propos des transactions et des fichiers compatibles ISAM............ 530 A propos des transactions et des fichiers temporaires................ 531
TABLE DES MATIÈRES xxi Utiliser les formulaires non liés avec le code DAO................ 531 Exemples d'utilisation du code DAO............................ 539 En résumé................................................ 539 CHAPITRE 13 CONSTRUCTION D'APPLICATIONS "À L'ÉPREUVE DES BALLES"............. 541 Que signifie "à l'épreuve des balles"?......................... 542 Remarques sur la conception de telles applications............... 542 Les techniques "à l'épreuve des balles"........................ 544 Mettre en application un formulaire de démarrage................... 544 Relier les points............................................ 546 Fournir la navigation dans toute l'application...................... 548 Navigation à l'intérieur d'un formulaire simple......................... 549 Navigation entre les formulaires multiples........................... 550 Navigation avec des menus personnalisés........................... 552 Placer les options restantes de démarrage......................... 553 Créer un raccourci pour démarrer l'application...................... 554 Débogage et techniques de gestion des erreurs..................... 555 Des bogues!!?? Pas dans mon code............................ 555 Débogage dans un environnement basé sur l'objet................... 556 Définition des erreurs VBA..................................... 557 Erreurs de compilation...................................... 557 Erreurs d'exécution........................................ 558 Erreurs de logique......................................... 559 Débogage avec VBA.......................................... 560 Utiliser la fenêtre d'exécution.................................. 562 Visualiser les données dans un rectangle............................ 563 Suspension de l'exécution avec des points d'arrêt....................... 564 Visualiser des variables locales.................................. 565 Paramétrer des espions...................................... 566 Les bonnes vieilles méthodes................................... 568 Le gestionnaire d'erreurs avec VBA.............................. 569 Ecrire un gestionnaire d'erreurs................................. 569 Les propriétés de l'objet Err................................... 572 Méthodologies pour éviter les erreurs............................ 577 Mémoriser l'image globale de l'application......................... 577 En résumé................................................ 578
xxii ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR CHAPITRE 14 L'ENVIRONNEMENT MULTIUTILISATEUR................................ 579 Access et l'environnement multiutilisateur....................... 580 Où placer le programme?................................... 581 Où placer l'application?..................................... 582 Mode exclusif contre mode partagé........................... 586 Empêcher l'utilisation accidentelle de l'ouverture en mode exclusif...... 588 Comment Access verrouille les enregistrements.................. 589 Paramétrer les options multiutilisateurs......................... 590 Paramétrage du verrouillage par défaut........................... 591 Paramétrage des options d'intervalle de nouvelle tentative pour le verrouillage d'enregistrements............................ 592 Paramétrage du verrouillage d'enregistrements pour des formulaires individuels.................................... 594 L'événement Form_Error....................................... 594 Mise en application et maintenance de la sécurité................... 597 Protection d'une base de données par mot de passe.................. 598 Activer la sécurité totale...................................... 599 Ajouter des groupes à une base de données sécurisée................ 603 Ajouter des utilisateurs à une base de données sécurisée.............. 603 Ajouter des utilisateurs aux groupes............................. 604 Etablir des autorisations...................................... 604 Modifier les mots de passe..................................... 607 Créer un fichier d'informations de groupe de travail.................. 608 Crypter une base de données pour une protection supplémentaire....... 609 Fournir une base de données en tant que fichier MDE................ 609 La réplication de base de données............................ 610 Utilisations types de la réplication.............................. 612 Créer le réplica d'une base de données............................ 614 Créer des réplicas supplémentaires............................... 616 Synchroniser un réplica avec un autre membre des réplicas............ 617 Résolution des conflits entre membres des réplicas.................. 618 Récupération d'un réplica-maître................................ 619 Au cœur du processus de réplication............................. 620 Réplication en coulisse....................................... 621
TABLE DES MATIÈRES xxiii En résumé................................................ 622 CHAPITRE 15 ACCESS DANS L'ENVIRONNEMENT CLIENT/SERVEUR.................... 625 Serveur de fichiers contre client/serveur........................ 626 ODBC contre ADO.......................................... 628 Configurer une source de données ODBC....................... 629 Séparer des tables de la base de données Access............... 633 Lier des tables externes stockées sur le serveur de bases de données....................................... 635 Lier des tables avec le code DAO............................. 637 Problèmes de connexion...................................... 638 Utiliser les requêtes SQL Direct................................ 639 Utiliser l'assistant de migration SQL Server pour déplacer une application............................................ 640 Utiliser des projets Access pour la mise en place du client/serveur.. 641 Travailler avec SQL Server 6.5.................................. 641 Installer Integrated Store..................................... 642 Créer un projet Access et se connecter à SQL Server.............. 642 Introduction au code ADO.................................... 643 Optimiser les performances des applications client/serveur........ 646 En résumé................................................ 647
xxiv ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR PARTIE 4 PROGRAMMATION AVANCÉE................................. 649 CHAPITRE 16 OPTIMISER LES PERFORMANCES D'UNE APPLICATION.................... 651 Utiliser l'analyseur de performance............................ 652 Optimiser les performances du matériel........................ 655 Optimiser les performances de Windows....................... 657 Changer les paramètres du Registre de Windows................ 658 Maxbuffersize.............................................. 661 FlushTransactionTimeout...................................... 661 SharedAsynDelay............................................ 662 ExclusiveAsynDelay.......................................... 662 Optimiser la performance de la base de données Access......... 662 Les bases de données........................................ 663 Les tables................................................. 664 Les requêtes............................................... 666 Les formulaires............................................. 668 Les états.................................................. 673 Le code VBA............................................... 674 Les connexions ODBC......................................... 675 Améliorer la perception de la vitesse d'une application............ 676 En résumé................................................ 677 CHAPITRE 17 FOURNIR L'AIDE EN LIGNE AUX UTILISATEURS.......................... 679 L'avenir de l'aide de Windows................................ 680 A propos de l'aide et de la version runtime d'access.................. 681
TABLE DES MATIÈRES xxv Comprendre l'aide de Windows............................... 682 Help Workshop de Microsoft................................. 685 Créer l'aide de Windows avec Help Workshop................... 687 Un bon fichier sujet......................................... 688 Planification du fichier d'aide personnalisée....................... 690 Créer le fichier sujet......................................... 690 Créer le fichier projet........................................ 693 Créer le fichier sommaire et l'ajouter au fichier projet................ 694 Créer le fichier map.......................................... 698 Compilation du fichier d'aide................................... 701 Test du fichier d'aide......................................... 702 Intégration d'un fichier d'aide personnalisée dans une application Access. 704 Ajouter des sons (cloches et sifflements)....................... 708 Ajouter des liens vers d'autres sujets d'aide........................ 708 Ajouter des graphiques....................................... 709 Ajouter des hypergraphiques.................................... 711 Le marché des utilitaires graphiques............................. 712 Ajouter de la vidéo ou de l'animation............................ 713 Pas de passages à la ligne..................................... 714 Créer des régions sans défilement............................... 714 Réglage de diverses options d'aide de Windows..................... 715 Sujet par défaut, titre d'aide et copyright........................... 715 Full-text search.......................................... 716 Les autres outils d'aide...................................... 718 L'aide basée sur HTML...................................... 719 Alternatives à l'aide traditionnelle de Windows.................. 722 En résumé................................................ 725 CHAPITRE 18 DISTRIBUER DES APPLICATIONS....................................... 727 Définition d'office Developer Edition........................... 727
xxvi ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Le contenu d'office Developer Edition.......................... 728 Les limites de la version runtime d'access...................... 730 L'assistant d'installation..................................... 733 En résumé................................................ 734 CHAPITRE 19 LES BIBLIOTHÈQUES ET LES COMPLÉMENTS............................ 737 Utiliser des bibliothèques pour optimiser l'efficacité............... 737 Références des applications aux bases de données bibliothèque......... 739 Les fonctions Currentdb () et Codedb ()........................... 741 Exemple d'utilisation de bibliothèque............................ 742 Où est la bibliothèque?....................................... 745 Créer des compléments pour augmenter la fonctionnalité.......... 746 Décider de l'objectif du complément............................. 748 Organiser l'interface utilisateur et la conception du déroulement du programme.............................................. 748 Créer la base de données et les objets - Ecrire le code................ 748 Tester le complément........................................ 750 Mettre en application des compléments........................ 750 Ajouter la table UsysRegInfo................................... 750 Placer les propriétés de base de données.......................... 754 Le Gestionnaire de complément................................. 755 En résumé................................................ 758 CHAPITRE 20 L'INTÉGRATION D'ACCESS DANS OFFICE.............................. 761 Exporter les données d'access vers Word et Excel................ 762 Exporter des données d'access vers d'autres programmes......... 764
TABLE DES MATIÈRES xxvii La technologie Automation - Terminologie de base............... 767 Les objets ActiveX......................................... 769 Lier un objet ActiveX à un champ d'objet OLE...................... 771 Incorporer un objet existant ActiveX dans un champ objet............ 772 Incorporer un nouvel objet ActiveX dans un champ d'objet OLE......... 773 Incorporer des fichiers d'objet OLE dans des cadres non liés........... 774 Incorporer un objet son et vidéo dans un champ d'objet OLE........... 776 Utiliser le code VBA avec Automation.......................... 777 Indiquer des références aux bibliothèques d'objets.................. 777 Indiquer les références avec la liaison précoce...................... 778 Indiquer les références avec la liaison tardive...................... 780 Déclarer une instance d'un objet Automation....................... 782 La fonction CreateObject pour déclarer une instance................. 783 La fonction GetObject pour obtenir une instance existante............ 784 Travailler avec les objets Automation............................ 785 A propos des bibliothèques de références et des programmes résultants.. 786 Fermer une instance d'un objet Automation........................ 786 Déclarer une instance Access comme objet Automation............... 787 Un exemple d'automation avec Word.......................... 787 Le code pour s'assurer de l'existence d'une instance d'un objet Word..... 790 Ressources système et mémoire................................. 791 Le code pour rendre l'objet visible et ajouter un document............ 791 Le code pour établir le texte de la lettre modèle.................... 792 Un exemple d'automation avec Excel.......................... 792 Un exemple d'automation avec Outlook........................ 795 L'Enregistreur de macros pour créer le code Automation........... 797 Le code VBA pour contrôler le Compagnon Office................ 800 Afficher des messages avec le Compagnon Office.................... 802 Contrôler le son et l'animation................................. 804 Le modèle objet de Microsoft Office........................... 805 Le modèle objet de Word...................................... 806 Le modèle objet de Microsoft Excel.............................. 806 Le modèle objet de Microsoft Powerpoint......................... 807
xxviii ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Le modèle objet de Microsoft Outlook............................ 807 En résumé................................................ 809 CHAPITRE 21 ACCESS ET LES API WINDOWS....................................... 811 Définition des API Windows................................... 811 Déclarer des procédures API Windows......................... 812 Appeler des DLL externes...................................... 814 Alias or not alias!........................................... 815 Où trouver les déclarations API?.............................. 815 Exemple d'utilisation des API Windows......................... 817 En résumé................................................ 819 PARTIE 5 DÉVELOPPEMENT SUR LE WEB............................ 821 CHAPITRE 22 ACCESS ORIENTÉ INTERNET.......................................... 823 Internet et le Web.......................................... 824 Access et Internet.......................................... 825 A propos des intranets...................................... 826 A propos du HTML.......................................... 827 Importer et lier des données HTML............................. 829
TABLE DES MATIÈRES xxix Sauvegarder des données Access en tant que fichiers statiques HTML...................................... 833 HTML statique contre HTML dynamique........................... 835 Sauvegarder des données Access en tant que fichiers HTML dynamiques................................... 840 Données et structures XML................................... 843 Utiliser des macros et du code VBA pour exporter des données en HTML....................................... 844 Travailler avec les pages d'accès aux données.................. 845 Créer des pages d'accès aux données avec l'assistant Page d'accès aux données..................................... 846 Créer manuellement des pages d'accès aux données.................. 850 Modifier ou supprimer des pages d'accès aux données................ 857 Le Serveur Web Personnel................................... 859 Conditions d'utilisation du Serveur Web Personnel................... 860 Installation du Serveur Web Personnel............................ 860 En résumé................................................ 861 CHAPITRE 23 LES APPLICATIONS ACCESS SUR LE WEB............................. 863 A propos des liens hypertexte................................ 863 Utiliser des liens hypertexte dans les tables..................... 864 Ajouter des liens hypertexte aux tables........................... 865 Stocker des liens hypertexte dans les tables....................... 865 Utiliser les liens hypertexte dans les formulaires et les états........ 869 Créer un intitulé, une image ou un bouton de commande qui pointe vers un lien hypertexte....................................... 872 Utiliser un lien hypertexte pour pointer sur un objet Access........... 872
xxx ACCESS 2002 ET VBA LE GUIDE DU DÉVELOPPEUR Utiliser le code VBA avec des liens hypertexte................... 874 Le contrôle WebBrowser dans les formulaires................... 875 Les méthodes du contrôle WebBrowser........................... 879 Exemple pour le contrôle WebBrowser............................ 880 Utiliser la barre d'outils Web dans Access....................... 883 En résumé................................................ 884 ANNEXE A CONTENU DU CD-ROM..................................... 887 Les fichiers d'exemples de base de données.................... 887 Les contrôles ActiveX de la société ComponentSource............ 888 ANNEXE B MICROSOFT JET ET LES CODES D'ERREUR DAO................ 889 ANNEXE C RESSOURCES DU DÉVELOPPEUR................................ 917 Ressources Microsoft....................................... 917 Microsoft Office Developer/Access Section......................... 917 Microsoft Access Home Page................................... 918 Groupes d'utilisateurs....................................... 918 Groupe Access de Chicago..................................... 918 HAL-PC Microsoft Access SIG - Houston........................... 918 New York City MS Access/Visual Basic............................ 918 Philadelphia MS Access et groupe Q & A.......................... 919 Groupe Access de San Diego................................... 919 Autres sites Web en relation avec Access...................... 919 Réseau mondial des développeurs MS Access....................... 919 Access Poweruser Web Site.................................... 920 La page d'access............................................ 920 Tony's Main Microsoft Access Page............................... 920
TABLE DES MATIÈRES xxxi Publications............................................... 920 Advisor Magazine........................................... 920 Smart Access............................................... 921 Fournisseurs de produits..................................... 921 Access Utility Library......................................... 921 ComponentSource........................................... 921 Database Creation, Inc....................................... 922 ANNEXE D LES TECHNIQUES DE CONVERSION D'ACCESS................... 923 Convertir une base de données au format Access 2000 ou 2002.... 924 Convertir des bases de données sécurisées au format Access 2002...................................... 926 Convertir une base de données Access 2002 au format Access 2000 ou 97................................. 927 Traiter les questions de conversion............................ 927 Travailler avec des bases de données Access dans des environnements mixtes.............................. 930 INDEX............................................................ 931